RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 31-May-2010 17:44:49 Branch: HEAD Handle: 2010053115444900 Modified files: rpm/tests trsa.c Log: - rsa: WIP. Summary: Revision Changes Path 1.15 +15 -13 rpm/tests/trsa.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/tests/trsa.c ============================================================================ $ cvs diff -u -r1.14 -r1.15 trsa.c --- rpm/tests/trsa.c 31 May 2010 15:27:02 -0000 1.14 +++ rpm/tests/trsa.c 31 May 2010 15:44:49 -0000 1.15 @@ -2592,30 +2592,28 @@ static void verify_one_signature(pgpDig dig, gcry_sexp_t badhash) { +#if defined(_RPMGC_INTERNAL) rpmgc gc = dig->impl; gcry_sexp_t hash; int xx; - xx = rpmgcVerifyRSA(dig); - if (gc->err) - fail("gcry_pk_verify failed: %s\n", gpg_strerror(gc->err)); +xx = rpmgcErrChk(gc, "RSA verify GOOD", rpmgcVerifyRSA(dig), 0); gc->badok = GPG_ERR_BAD_SIGNATURE; hash = gc->hash; gc->hash = badhash; - xx = rpmgcVerifyRSA(dig); +xx = rpmgcErrChk(gc, "RSA detect BAD", rpmgcVerifyRSA(dig), gc->badok); gc->hash = hash; gc->badok = 0; - if (gcry_err_code(gc->err) != GPG_ERR_BAD_SIGNATURE) - fail("gcry_pk_verify failed to detect a bad signature: %s\n", - gpg_strerror(gc->err)); +#endif /* _RPMGC_INTERNAL */ } /* Test the public key sign function using the private ket SKEY. PKEY is used for verification. */ static void check_pubkey_sign(pgpDig dig, int n) { +#if defined(_RPMGC_INTERNAL) rpmgc gc = dig->impl; gcry_error_t rc; gcry_sexp_t badhash; @@ -2671,12 +2669,12 @@ die("converting data failed: %s\n", gpg_strerror(rc)); gc->badok = datas[dataidx].expected_rc; - xx = rpmgcSignRSA(dig); -gc->badok = 0; +xx = rpmgcErrChk(gc, "RSA sign", rpmgcSignRSA(dig), datas[dataidx].expected_rc); if ((int)gcry_err_code(gc->err) != datas[dataidx].expected_rc) fail("gcry_pk_sign failed: %s\n", gpg_strerror(gc->err)); if (!gc->err) verify_one_signature(dig, badhash); +gc->badok = 0; gcry_sexp_release(gc->sig); gc->sig = NULL; @@ -2687,22 +2685,26 @@ gcry_sexp_release(badhash); badhash = NULL; +#endif /* _RPMGC_INTERNAL */ } static void check_pubkey_grip(pgpDig dig, int n, const unsigned char *grip) { -rpmgc gc = dig->impl; - unsigned char sgrip[20], pgrip[20]; + unsigned char pgrip[20] = ""; + unsigned char sgrip[20] = ""; +#if defined(_RPMGC_INTERNAL) +rpmgc gc = dig->impl; if (!gcry_pk_get_keygrip(gc->sec_key, sgrip)) die("get keygrip for private RSA key failed\n"); if (!gcry_pk_get_keygrip(gc->pub_key, pgrip)) die("[%i] get keygrip for public RSA key failed\n", n); +#endif /* _RPMGC_INTERNAL */ - if (memcmp(sgrip, pgrip, 20)) + if (memcmp(sgrip, pgrip, sizeof(grip))) fail("[%i] keygrips don't match\n", n); - if (memcmp(sgrip, grip, 20)) + if (memcmp(sgrip, grip, sizeof(grip))) fail("wrong keygrip for RSA key\n"); } @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
