1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-19 00:52:46 +02:00
gnupg/g10
Werner Koch b42d9f540c
gpg: Make use of the included key block in a signature.
* g10/import.c (read_key_from_file): Rename to ...
(read_key_from_file_or_buffer): this and add new parameters.  Adjust
callers.
(import_included_key_block): New.
* g10/packet.h (PKT_signature): Add field flags.key_block.
* g10/parse-packet.c (parse_signature): Set that flags.
* g10/sig-check.c (check_signature2): Add parm forced_pk and change
all callers.
* g10/mainproc.c (do_check_sig): Ditto.
(check_sig_and_print): Try the included key block if no key is
available.
--

This is is the second part to support the new Key Block subpacket.
The idea is that after having received a signed mail, it is instantly
possible to reply encrypted - without the need for any centralized
infrastructure.

There is one case where this does not work: A signed mail is received
using a specified signer ID (e.g. using gpg --sender option) and the
key block with only that user ID is thus imported.  The next time a
mail is received using the same key but with a different user ID; the
signatures checks out using the key imported the last time.  However,
the new user id is not imported.  Now when trying to reply to that
last mail, no key will be found.  We need to see whether we can update
a key in such a case.

GnuPG-bug-id: 4856
Signed-off-by: Werner Koch <wk@gnupg.org>

Backported from master

Signed-off-by: Werner Koch <wk@gnupg.org>
2020-03-14 19:53:40 +01:00
..
all-tests.scm tests: Make it possible to run all tests using our infrastructure. 2017-05-11 18:12:37 +02:00
armor.c g10: Fix possible null dereference. 2019-05-14 11:24:35 +09:00
build-packet.c gpg: Do not allow creation of user ids larger than our parser allows. 2019-05-21 16:28:11 +02:00
call-agent.c sm: Show the usage flags when generating a key from a card. 2019-08-21 13:59:17 +02:00
call-agent.h gpg: Allow decryption using non-OpenPGP cards. 2019-08-21 13:58:34 +02:00
call-dirmngr.c po: Make g10/call-dirmngr.c translatable. 2019-12-07 11:56:13 +01:00
call-dirmngr.h gpg: Store key origin info for new DANE and WKD retrieved keys. 2017-07-24 20:09:52 +02:00
card-util.c gpg: Add a new OpenPGP card vendor. 2020-03-14 19:14:34 +01:00
ChangeLog-2011 Spelling: correct spelling of "passphrase". 2016-11-02 12:53:58 +01:00
cipher.c gpg: Remove MDC options 2018-05-31 12:08:22 +02:00
compress-bz2.c g10,tools: Fix bzlib.h include order. 2017-04-11 13:52:19 +09:00
compress.c gpg: Fix minor memory leak in the compress filter. 2018-05-02 20:15:10 +02:00
cpr.c spelling: Fix "synchronize" 2019-06-23 20:17:47 -04:00
dearmor.c Revert "g10: Always save standard revocation certificate in file." 2017-08-01 19:08:16 +02:00
decrypt-data.c gpg,sm: String changes for compliance diagnostics. 2017-07-28 17:46:43 +02:00
decrypt.c gpg: Fix using --decrypt along with --use-embedded-filename. 2019-05-17 13:42:42 +02:00
dek.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
delkey.c gpg: Also delete key-binding signature when deleting a subkey. 2019-10-15 14:37:54 +02:00
distsigkey.gpg Update wk's signing key 2020-01-01 19:06:30 +01:00
ecdh.c g10: Fix symmetric cipher algo constant for ECDH. 2019-03-27 12:29:45 +01:00
encrypt.c gpg: Remove MDC options 2018-05-31 12:08:22 +02:00
exec.c gpg: Improve the photo image viewer selection. 2019-05-17 12:46:16 +02:00
exec.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
export.c gpg: Add property "fpr" for use by --export-filter. 2020-03-14 19:15:00 +01:00
filter.h gpg: Fix minor memory leak in the compress filter. 2018-05-02 20:15:10 +02:00
free-packet.c gpg: Fix possible double free of the card serialno. 2017-07-21 17:49:10 +02:00
getkey.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
gpg-w32info.rc w32: Add manifest to gpg. 2015-02-04 09:15:34 +01:00
gpg.c gpg: New option --include-key-block. 2020-03-14 19:38:09 +01:00
gpg.h gpg: Fix build on Windows. 2018-03-08 14:08:51 +09:00
gpg.w32-manifest.in w32: Add manifest to gpg. 2015-02-04 09:15:34 +01:00
gpgcompose.c build: Always use EXTERN_UNLESS_MAIN_MODULE pattern. 2020-02-10 16:37:34 +01:00
gpgsql.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
gpgsql.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gpgv.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
helptext.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
import.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
kbnode.c gpg: Avoid importing secret keys if the keyblock is not valid. 2019-03-18 13:16:35 +01:00
key-check.c gpg: Improve import's repair-key duplicate signature detection. 2018-06-07 18:43:17 +02:00
key-check.h gpg: Avoid output to the tty during import. 2017-07-27 11:38:57 +02:00
key-clean.c gpg: Remove multiple subkey bindings during export-clean. 2018-07-09 12:07:24 +02:00
key-clean.h gpg: Let export-clean remove expired subkeys. 2018-07-09 10:25:06 +02:00
keydb.c gpg: Implement keybox compression run 2019-08-23 16:18:07 +02:00
keydb.h gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
keyedit.c gpg: Make the get_pubkey_byname interface easier to understand. 2019-07-04 15:14:30 +02:00
keyedit.h gpg: During secret key import print "sec" instead of "pub". 2019-03-18 13:13:14 +01:00
keygen.c gpg: Extend --quick-gen-key for creating keys from a card. 2019-10-15 12:11:02 +02:00
keyid.c gpg: Improve error message about failed keygrip computation. 2018-12-05 08:13:16 +01:00
keylist.c gpg: Fix output of --with-secret if a pattern is given. 2019-12-23 12:44:00 +01:00
keyring.c gpg: Fix keyring retrieval. 2019-07-16 08:32:57 +09:00
keyring.h gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
keyserver-internal.h gpg: Pass key origin values to import functions. 2017-07-13 18:29:01 +02:00
keyserver.c gpg: Add property "fpr" for use by --export-filter. 2020-03-14 19:15:00 +01:00
main.h gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
mainproc.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
Makefile.am gpg: Move key cleaning functions to a separate file. 2018-07-09 10:24:37 +02:00
mdfilter.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
migrate.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
misc.c gpg: Add option --allow-weak-key-signatures. 2019-11-11 12:29:18 +01:00
openfile.c Revert "g10: Always save standard revocation certificate in file." 2017-08-01 19:08:16 +02:00
options.h gpg: New option --include-key-block. 2020-03-14 19:38:09 +01:00
packet.h gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
parse-packet.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
passphrase.c gpg: Extend the "sig" record in --list-mode. 2018-04-12 17:53:17 +02:00
photoid.c gpg: Improve the photo image viewer selection. 2019-05-17 12:46:16 +02:00
photoid.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
pkclist.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
pkglue.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
pkglue.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
plaintext.c gpg: Fix using --decrypt along with --use-embedded-filename. 2019-05-17 13:42:42 +02:00
progress.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
pubkey-enc.c gpg: Fix double free with anonymous recipients. 2019-11-29 17:44:12 +01:00
pubring.asc Update copyright notices for 2017. 2017-01-23 19:16:55 +01:00
revoke.c gpg: Extend the "sig" record in --list-mode. 2018-04-12 17:53:17 +02:00
rmd160.c Clean up word replication. 2017-02-21 13:11:46 -05:00
rmd160.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
seckey-cert.c More change for common. 2017-03-07 20:32:09 +09:00
server.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
seskey.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
sig-check.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
sign.c gpg: New option --include-key-block. 2020-03-14 19:38:09 +01:00
skclist.c gpg: Fix double free with anonymous recipients. 2019-11-29 17:44:12 +01:00
t-keydb-get-keyblock.c gpg: Fix actual leak and possible leaks in the packet parser. 2017-03-30 16:01:52 +02:00
t-keydb-get-keyblock.gpg gpg: Correctly handle keyblocks followed by legacy keys. 2015-11-17 14:53:03 +01:00
t-keydb-keyring.kbx g10: Add test for keydb as well as new testing infrastructure. 2015-09-02 15:08:57 +02:00
t-keydb.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-rmd160.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-stutter-data.asc gpg: Add a new test. 2016-03-08 14:08:49 +01:00
t-stutter.c g10: Stop compiler warning for t-stutter. 2017-05-10 11:13:03 +09:00
tdbdump.c gpg: Pass CTRL arg to get_trusthashrec. 2018-03-26 18:06:43 +02:00
tdbio.c gpg: Don't take the a TOFU trust model from the trustdb, 2018-11-05 09:17:03 +01:00
tdbio.h gpg: Pass CTRL arg to get_trusthashrec. 2018-03-26 18:06:43 +02:00
test-stubs.c gpg: Make use of the included key block in a signature. 2020-03-14 19:53:40 +01:00
test.c build: Always use EXTERN_UNLESS_MAIN_MODULE pattern. 2020-02-10 16:37:34 +01:00
textfilter.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
tofu.c gpg: Fixed i18n markup of some strings. 2019-05-27 12:52:58 +02:00
tofu.h g10: Remove dead code. 2016-12-06 12:16:56 +01:00
trust.c gpg: Move key cleaning functions to a separate file. 2018-07-09 10:24:37 +02:00
trustdb.c gpg: Do not show an informational diagnostics with quiet. 2019-08-23 11:47:12 +02:00
trustdb.h gpg: Move key cleaning functions to a separate file. 2018-07-09 10:24:37 +02:00
verify.c gpg: Make really sure that --verify-files always returns an error. 2020-02-10 15:33:53 +01:00
zlib-riscos.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00