1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-10-31 20:08:43 +01:00
gnupg/common
Werner Koch 825abec0e7
gpg,sm: New option --with-key-screening.
* common/pkscreening.c: New.
* common/pkscreening.h: New.
* common/Makefile.am (common_sources): Add them.
* g10/gpg.c (opts): New option --with-key-screening.
* g10/options.h (struct opt): New field with_key_screening.
* g10/keylist.c: Include pkscreening.h.
(print_pk_screening): New.
(list_keyblock_print): Call it.
(print_compliance_flags): Call it.
* sm/gpgsm.c (opts): New option --with-key-screening.
* sm/gpgsm.h (scruct opt): New field with_key_screening.
* sm/keylist.c:  Include pkscreening.h.
(print_pk_screening): New.
(print_compliance_flags): Call it.  Add new arg cert.
(list_cert_colon): Pass arg cert
(list_cert_std): Call print_pk_screening.
* sm/fingerprint.c (gpgsm_get_rsa_modulus): New.
--

This new option can be used to detect ROCA affected keys.  To scan an
entire keyring and print the affected fingerprints use this:

  gpg -k --with-key-screening --with-colons | gawk -F: \
       '$1~/pub|sub|sec|ssb|crt/ && $18~/\<6001\>/ {found=1;next};
        $1=="fpr" && found {print $10}; {found=0}'

The same works for gpgsm.  Note that we need gawk due to the "\<" in
the r.e.

Signed-off-by: Werner Koch <wk@gnupg.org>
2017-10-17 21:10:19 +02:00
..
agent-opt.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
all-tests.scm tests: Make it possible to run all tests using our infrastructure. 2017-05-11 18:12:37 +02:00
argparse.c indent: Wrap overlong lines in argparse.c 2017-08-01 08:28:01 +02:00
argparse.h common: Allow abbreviations of standard options. 2017-07-18 18:08:25 +02:00
asshelp2.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
asshelp.c Clean up word replication. 2017-02-21 13:11:46 -05:00
asshelp.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
audit.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
audit.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
b64dec.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
b64enc.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
call-gpg.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
call-gpg.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccparray.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccparray.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ChangeLog-2011 Fix typos 2015-10-28 10:20:17 +01:00
ChangeLog-2011.include Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ChangeLog.jnlib common: Remove JNLIB from boiler plate (jnlib merge). 2015-04-24 16:42:28 +02:00
common-defs.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
compliance.c gpg: Tweak compliance checking for verification 2017-07-27 16:22:36 +02:00
compliance.h gpg,sm: Check compliance of the RNG. 2017-07-17 15:53:16 +02:00
convert.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
dotlock.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
dotlock.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
dynload.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
exaudit.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
exechelp-posix.c common: Fix gnupg_wait_processes. 2017-09-19 12:28:43 +09:00
exechelp-w32.c w32: Make pipes really pollable. 2017-02-28 09:39:10 +01:00
exechelp-w32ce.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
exechelp.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
exectool.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
exectool.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
exstatus.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
fwddecl.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gc-opt-flags.h gpg: Add option --dirmngr-program. 2014-03-12 18:35:36 +01:00
get-passphrase.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
get-passphrase.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gettime.c common: Accept the Z-suffix for yymmddThhmmssZ format. 2017-09-19 16:09:05 +09:00
gettime.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gnupg.ico w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
gpgrlhelp.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
helpfile.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
homedir.c common: Strip trailing slashes from the homedir. 2017-07-25 15:22:48 +02:00
host2net.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
i18n.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
i18n.h Fix typos found using codespell. 2015-11-17 12:50:22 +01:00
init.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
init.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
iobuf.c common: Avoid undefined behavior. 2017-03-30 16:13:43 +02:00
iobuf.h gpg,sm: Merge the two versions of check_special_filename. 2016-11-29 16:54:36 +01:00
isascii.c common: Change license of isascii.c to all-premissive, 2015-12-14 16:21:19 +01:00
keyserver.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ksba-io-support.c common: Rename remaining symbols in ksba-io-support. 2017-02-16 17:21:05 +01:00
ksba-io-support.h common: Rename remaining symbols in ksba-io-support. 2017-02-16 17:21:05 +01:00
localename.c common: Fix warning for portability. 2017-03-07 10:42:46 +09:00
logging.c gpg: Let --debug clock time sign and verify. 2017-09-27 07:59:07 +02:00
logging.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
Makefile.am gpg,sm: New option --with-key-screening. 2017-10-17 21:10:19 +02:00
mapstrings.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mbox-util.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mbox-util.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
membuf.c Clean up word replication. 2017-02-21 13:11:46 -05:00
membuf.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
miscellaneous.c common: New function print_utf9_string. 2017-07-20 18:13:40 +02:00
mischelp.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
mischelp.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
mkdir_p.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mkdir_p.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mkerrors Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
mkerrtok Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
mkstrtable.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
name-value.c Clean up word replication. 2017-02-21 13:11:46 -05:00
name-value.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
openpgp-oid.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
openpgpdefs.h common, g10: Fix enumeration types. 2017-04-13 12:54:52 +09:00
percent.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
pkscreening.c gpg,sm: New option --with-key-screening. 2017-10-17 21:10:19 +02:00
pkscreening.h gpg,sm: New option --with-key-screening. 2017-10-17 21:10:19 +02:00
README common: Update README. 2016-03-02 14:27:30 +01:00
recsel.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
recsel.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
server-help.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
server-help.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
session-env.c Clean up word replication. 2017-02-21 13:11:46 -05:00
session-env.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
sexp-parse.h Clean up word replication. 2017-02-21 13:11:46 -05:00
sexputil.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
shareddefs.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
signal.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
simple-pwquery.c Clean up word replication. 2017-02-21 13:11:46 -05:00
simple-pwquery.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ssh-utils.c common: Correctly render SHA256-based ssh fingerprints. 2017-05-24 17:07:13 +02:00
ssh-utils.h common: Support different digest algorithms for ssh fingerprints. 2017-05-24 17:01:48 +02:00
status.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
status.h gpg,gpgsm: Emit status code ENCRYPTION_COMPLIANCE_MODE. 2017-06-23 12:01:20 +02:00
stringhelp.c common: New function split_fields_colon. 2017-07-17 15:53:16 +02:00
stringhelp.h common: New function split_fields_colon. 2017-07-17 15:53:16 +02:00
strlist.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
strlist.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
sysutils.c common: New functions gnupg_daemon_rootdir and gnupg_chdir. 2017-07-25 12:43:37 +02:00
sysutils.h common: New functions gnupg_daemon_rootdir and gnupg_chdir. 2017-07-25 12:43:37 +02:00
t-b64.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-ccparray.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-convert.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-dotlock.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-exechelp.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-exectool.c tests: Avoid skipping exectool tests. 2016-12-20 18:39:30 +01:00
t-gettime.c tests: Fix t-gettime for a time_t of 64 and a long of 32 bit. 2017-01-12 10:39:19 +01:00
t-helpfile.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-iobuf.c Replace use of variable-length-arrays. 2017-01-02 13:29:18 +01:00
t-mapstrings.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-mbox-util.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-name-value.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-openpgp-oid.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-percent.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-recsel.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-session-env.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
t-sexputil.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-ssh-utils.c common: Correctly render SHA256-based ssh fingerprints. 2017-05-24 17:07:13 +02:00
t-stringhelp.c common: New function split_fields_colon. 2017-07-17 15:53:16 +02:00
t-strlist.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-support.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-support.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-sysutils.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-timestuff.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-w32-reg.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-zb32.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
tlv.c Silence two -Wlogical-op warnings. 2017-01-05 20:43:40 +01:00
tlv.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ttyio.c Clean up word replication. 2017-02-21 13:11:46 -05:00
ttyio.h common: Remove unused function tty_print_string. 2017-01-17 10:19:06 +01:00
types.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
userids.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
userids.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
utf8conv.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
utf8conv.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
util.h common: Add constant KEYGRIP_LEN. 2017-09-27 09:33:14 +02:00
utilproto.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
w32-reg.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
w32help.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
w32info-rc.h.in Update copyright notices for 2017. 2017-01-23 19:16:55 +01:00
xasprintf.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
xreadline.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
yesno.c Clean up word replication. 2017-02-21 13:11:46 -05:00
zb32.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
zb32.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00

Common functionality used by all modules of GnuPG.