* verify.c (gpgsm_verify): Extend the STATUS_BADSIG line with
authorWerner Koch <wk@gnupg.org>
Tue, 2 Jul 2002 19:38:14 +0000 (19:38 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 2 Jul 2002 19:38:14 +0000 (19:38 +0000)
the fingerprint.

sm/ChangeLog
sm/verify.c

index ac45cfa..423c223 100644 (file)
@@ -1,5 +1,8 @@
 2002-07-02  Werner Koch  <wk@gnupg.org>
 
+       * verify.c (gpgsm_verify): Extend the STATUS_BADSIG line with
+       the fingerprint.
+
        * certpath.c (check_cert_policy): Don't use log_error to print a
        warning.
 
index 8e54da2..f4af568 100644 (file)
@@ -351,9 +351,13 @@ gpgsm_verify (CTRL ctrl, int in_fd, int data_fd, FILE *out_fp)
                || gcry_md_get_algo_dlen (algo) != msgdigestlen
                || !s || memcmp (s, msgdigest, msgdigestlen) )
             {
+              char *fpr;
+
               log_error ("invalid signature: message digest attribute "
                          "does not match calculated one\n");
-              gpgsm_status (ctrl, STATUS_BADSIG, NULL);
+              fpr = gpgsm_get_fingerprint_hexstring (cert, GCRY_MD_SHA1);
+              gpgsm_status (ctrl, STATUS_BADSIG, fpr);
+              xfree (fpr);
               goto next_signer; 
             }
             
@@ -385,8 +389,12 @@ gpgsm_verify (CTRL ctrl, int in_fd, int data_fd, FILE *out_fp)
 
       if (rc)
         {
+          char *fpr;
+
           log_error ("invalid signature: %s\n", gnupg_strerror (rc));
-          gpgsm_status (ctrl, STATUS_BADSIG, NULL);
+          fpr = gpgsm_get_fingerprint_hexstring (cert, GCRY_MD_SHA1);
+          gpgsm_status (ctrl, STATUS_BADSIG, fpr);
+          xfree (fpr);
           goto next_signer;
         }
       rc = gpgsm_cert_use_verify_p (cert); /*(this displays an info message)*/