From 05b7e4a405c84da14e5f7ee04cfd3de4b0cb8290 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 22 Sep 2022 10:07:42 +0200 Subject: [PATCH] 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 --- g10/mainproc.c | 8 ++++---- 1 file 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); }