diff options
Diffstat (limited to '')
-rw-r--r-- | g10/sig-check.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/g10/sig-check.c b/g10/sig-check.c index c9c19aad4..1654fe997 100644 --- a/g10/sig-check.c +++ b/g10/sig-check.c @@ -65,6 +65,11 @@ signature_check2( PKT_signature *sig, MD_HANDLE digest, *r_expiredate = 0; if( get_pubkey( pk, sig->keyid ) ) rc = G10ERR_NO_PUBKEY; + else if(!pk->is_valid && + (pk->main_keyid[0]!=pk->keyid[0] || + pk->main_keyid[1]!=pk->keyid[1])) + rc=G10ERR_BAD_PUBKEY; /* you cannot have a good sig from an + invalid subkey */ else { *r_expiredate = pk->expiredate; rc = do_check( pk, sig, digest, r_expired ); |