diff options
Diffstat (limited to '')
-rw-r--r-- | tests/t-verify.c | 60 |
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); |