diff options
author | Werner Koch <[email protected]> | 2022-09-22 08:07:42 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2022-09-22 08:25:36 +0000 |
commit | 05b7e4a405c84da14e5f7ee04cfd3de4b0cb8290 (patch) | |
tree | e0456c79834637c5eaa658fc3f3c3921f393d523 | |
parent | dirmngr: Fix CRL DP error fallback to other schemes. (diff) | |
download | gnupg-05b7e4a405c84da14e5f7ee04cfd3de4b0cb8290.tar.gz gnupg-05b7e4a405c84da14e5f7ee04cfd3de4b0cb8290.zip |
gpg: Don't consider unknown keys as non-compliant while decrypting.
* g10/mainproc.c (proc_encrypted): Change compliance logic.
--
For the description of the proplem see
https://dev.gnupg.org/T6205#163306
GnuPG-bug-id: 6205
-rw-r--r-- | g10/mainproc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c index 63e39ffef..8e4d848bb 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -792,15 +792,15 @@ proc_encrypted (CTX c, PACKET *pkt) compliant = 0; } - /* Check that every public key used to encrypt the session key + /* Check that every known public key used to encrypt the session key * is compliant. */ for (i = c->pkenc_list; i && compliant; i = i->next) { memset (pk, 0, sizeof *pk); pk->pubkey_algo = i->pubkey_algo; - if (get_pubkey (c->ctrl, pk, i->kid) != 0 - || ! gnupg_pk_is_compliant (CO_DE_VS, pk->pubkey_algo, 0, - pk->pkey, nbits_from_pk (pk), NULL)) + if (!get_pubkey (c->ctrl, pk, i->kid) + && !gnupg_pk_is_compliant (CO_DE_VS, pk->pubkey_algo, 0, + pk->pkey, nbits_from_pk (pk), NULL)) compliant = 0; release_public_key_parts (pk); } |