From 53df4793d44b44970558cdb156c90c5984d66818 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Sun, 7 Jun 2009 12:18:06 +0200 Subject: [PATCH] pkcs7.c also uses signature_scheme_from_oid() --- src/pluto/pkcs7.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/src/pluto/pkcs7.c b/src/pluto/pkcs7.c index ab4362c73..34cc4b21e 100644 --- a/src/pluto/pkcs7.c +++ b/src/pluto/pkcs7.c @@ -363,25 +363,13 @@ bool pkcs7_parse_signedData(chunk_t blob, contentInfo_t *data, x509cert_t **cert DBG1("only RSA digest encryption supported"); return FALSE; } - switch (digest_alg) + + /* determine signature scheme */ + scheme = signature_scheme_from_oid(digest_alg); + + if (scheme == SIGN_UNKNOWN) { - case OID_MD5: - scheme = SIGN_RSA_EMSA_PKCS1_MD5; - break; - case OID_SHA1: - scheme = SIGN_RSA_EMSA_PKCS1_SHA1; - break; - case OID_SHA256: - scheme = SIGN_RSA_EMSA_PKCS1_SHA256; - break; - case OID_SHA384: - scheme = SIGN_RSA_EMSA_PKCS1_SHA384; - break; - case OID_SHA512: - scheme = SIGN_RSA_EMSA_PKCS1_SHA512; - break; - default: - return FALSE; + return FALSE; } if (key->verify(key, scheme, *attributes, encrypted_digest)) {