diff options
author | Werner Koch <[email protected]> | 1998-05-29 11:53:54 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 1998-05-29 11:53:54 +0000 |
commit | e284277f0490a4606b99f3de5fdc3053084b99dd (patch) | |
tree | f9a5e6a69e82a5efe339ccdaa09664fa0679b066 /g10/sig-check.c | |
parent | add-key works (diff) | |
download | gnupg-0-2-19.tar.gz gnupg-0-2-19.zip |
*** empty log message ***V0-2-19
Diffstat (limited to 'g10/sig-check.c')
-rw-r--r-- | g10/sig-check.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/g10/sig-check.c b/g10/sig-check.c index f1e5f9b4a..a30d0efcc 100644 --- a/g10/sig-check.c +++ b/g10/sig-check.c @@ -30,6 +30,7 @@ #include "keydb.h" #include "cipher.h" #include "main.h" +#include "status.h" static int do_check( PKT_public_cert *pkc, PKT_signature *sig, @@ -47,6 +48,12 @@ signature_check( PKT_signature *sig, MD_HANDLE digest ) PKT_public_cert *pkc = m_alloc_clear( sizeof *pkc ); int rc=0; + + #ifndef HAVE_RSA_CIPHER + if( is_RSA(sig->pubkey_algo) ) + write_status(STATUS_RSA_OR_IDEA); + #endif + if( get_pubkey( pkc, sig->keyid ) ) rc = G10ERR_NO_PUBKEY; else @@ -294,6 +301,13 @@ check_key_signature( KBNODE root, KBNODE node, int *is_selfsig ) KBNODE snode = find_prev_kbnode( root, node, PKT_PUBKEY_SUBCERT ); if( snode ) { + if( is_selfsig ) { + u32 keyid[2]; + + keyid_from_pkc( pkc, keyid ); + if( keyid[0] == sig->keyid[0] && keyid[1] == sig->keyid[1] ) + *is_selfsig = 1; + } md = md_open( algo, 0 ); hash_public_cert( md, pkc ); hash_public_cert( md, snode->pkt->pkt.public_cert ); |