aboutsummaryrefslogtreecommitdiffstats
path: root/tests/t-verify.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/t-verify.c60
1 files changed, 58 insertions, 2 deletions
diff --git a/tests/t-verify.c b/tests/t-verify.c
index 779d560f..5ab6bbca 100644
--- a/tests/t-verify.c
+++ b/tests/t-verify.c
@@ -28,21 +28,69 @@
static const char test_text1[] = "Just GNU it!\n";
static const char test_text1f[]= "Just GNU it?\n";
static const char test_sig1[] =
+#if 0
"-----BEGIN PGP SIGNATURE-----\n"
"\n"
"iEYEABECAAYFAjoKgjIACgkQLXJ8x2hpdzQMSwCeO/xUrhysZ7zJKPf/FyXA//u1\n"
"ZgIAn0204PBR7yxSdQx6CFxugstNqmRv\n"
"=yku6\n"
"-----END PGP SIGNATURE-----\n"
+#elif 0
+"-----BEGIN PGP SIGNATURE-----\n"
+"Version: GnuPG v1.0.4-2 (GNU/Linux)\n"
+"Comment: For info see http://www.gnupg.org\n"
+"\n"
+"iJcEABECAFcFAjoS8/E1FIAAAAAACAAkZm9vYmFyLjF0aGlzIGlzIGEgbm90YXRp\n"
+"b24gZGF0YSB3aXRoIDIgbGluZXMaGmh0dHA6Ly93d3cuZ3Uub3JnL3BvbGljeS8A\n"
+"CgkQLXJ8x2hpdzQLyQCbBW/fgU8ZeWSlWPM1F8umHX17bAAAoIfSNDSp5zM85XcG\n"
+"iwxMrf+u8v4r\n"
+"=88Zo\n"
+"-----END PGP SIGNATURE-----\n"
+#elif 1
+"-----BEGIN PGP SIGNATURE-----\n"
+"\n"
+"iN0EABECAJ0FAjoS+i9FFIAAAAAAAwA5YmFyw7bDpMO8w58gZGFzIHdhcmVuIFVt\n"
+"bGF1dGUgdW5kIGpldHp0IGVpbiBwcm96ZW50JS1aZWljaGVuNRSAAAAAAAgAJGZv\n"
+"b2Jhci4xdGhpcyBpcyBhIG5vdGF0aW9uIGRhdGEgd2l0aCAyIGxpbmVzGhpodHRw\n"
+"Oi8vd3d3Lmd1Lm9yZy9wb2xpY3kvAAoJEC1yfMdoaXc0JBIAoIiLlUsvpMDOyGEc\n"
+"dADGKXF/Hcb+AKCJWPphZCphduxSvrzH0hgzHdeQaA==\n"
+"=nts1\n"
+"-----END PGP SIGNATURE-----\n"
+#endif
;
+
#define fail_if_err(a) do { if(a) { \
fprintf (stderr, "%s:%d: GpgmeError %s\n", \
__FILE__, __LINE__, gpgme_strerror(a)); \
exit (1); } \
} while(0)
+static void
+print_sig_stat ( GpgmeSigStat status )
+{
+ switch ( status ) {
+ case GPGME_SIG_STAT_NONE:
+ fputs ("Verification Status: None\n", stdout);
+ break;
+ case GPGME_SIG_STAT_NOSIG:
+ fputs ("Verification Status: No Signature\n", stdout);
+ break;
+ case GPGME_SIG_STAT_GOOD:
+ fputs ("Verification Status: Good\n", stdout);
+ break;
+ case GPGME_SIG_STAT_BAD:
+ fputs ("Verification Status: Bad\n", stdout);
+ break;
+ case GPGME_SIG_STAT_NOKEY:
+ fputs ("Verification Status: No Key\n", stdout);
+ break;
+ case GPGME_SIG_STAT_ERROR:
+ fputs ("Verification Status: Error\n", stdout);
+ break;
+ }
+}
int
main (int argc, char **argv )
@@ -50,6 +98,8 @@ main (int argc, char **argv )
GpgmeCtx ctx;
GpgmeError err;
GpgmeData sig, text;
+ GpgmeSigStat status;
+ char *nota;
err = gpgme_new (&ctx);
fail_if_err (err);
@@ -61,16 +111,22 @@ main (int argc, char **argv )
fail_if_err (err);
puts ("checking a valid message:\n");
- err = gpgme_op_verify (ctx, sig, text );
+ err = gpgme_op_verify (ctx, sig, text, &status );
+ print_sig_stat ( status );
fail_if_err (err);
+ if ( (nota=gpgme_op_get_notation (ctx)) )
+ printf ("---Begin Notation---\n%s---End Notation---\n", nota );
puts ("checking a manipulated message:\n");
gpgme_data_release (text);
err = gpgme_data_new ( &text, test_text1f, strlen (test_text1f), 0 );
fail_if_err (err);
gpgme_data_rewind ( sig );
- err = gpgme_op_verify (ctx, sig, text );
+ err = gpgme_op_verify (ctx, sig, text, &status );
+ print_sig_stat ( status );
fail_if_err (err);
+ if ( (nota=gpgme_op_get_notation (ctx)) )
+ printf ("---Begin Notation---\n%s---End Notation---\n", nota );
gpgme_data_release (sig);
gpgme_data_release (text);