created signature_scheme_from_oid() helper function

This commit is contained in:
Andreas Steffen
2009-06-09 11:03:34 +02:00
committed by Martin Willi
parent 9410aa262a
commit f3e87f5935
8 changed files with 78 additions and 148 deletions
@@ -13,6 +13,8 @@
* for more details.
*/
#include <asn1/oid.h>
#include "public_key.h"
ENUM(key_type_names, KEY_RSA, KEY_DSA,
@@ -21,7 +23,8 @@ ENUM(key_type_names, KEY_RSA, KEY_DSA,
"DSA"
);
ENUM(signature_scheme_names, SIGN_DEFAULT, SIGN_ECDSA_521,
ENUM(signature_scheme_names, SIGN_UNKNOWN, SIGN_ECDSA_521,
"UNKNOWN",
"DEFAULT",
"RSA_EMSA_PKCS1_NULL",
"RSA_EMSA_PKCS1_MD5",
@@ -35,3 +38,33 @@ ENUM(signature_scheme_names, SIGN_DEFAULT, SIGN_ECDSA_521,
"ECDSA-521",
);
/*
* Defined in header.
*/
signature_scheme_t signature_scheme_from_oid(int oid)
{
switch (oid)
{
case OID_MD5_WITH_RSA:
case OID_MD5:
return SIGN_RSA_EMSA_PKCS1_MD5;
case OID_SHA1_WITH_RSA:
case OID_SHA1:
return SIGN_RSA_EMSA_PKCS1_SHA1;
case OID_SHA256_WITH_RSA:
case OID_SHA256:
return SIGN_RSA_EMSA_PKCS1_SHA256;
case OID_SHA384_WITH_RSA:
case OID_SHA384:
return SIGN_RSA_EMSA_PKCS1_SHA384;
case OID_SHA512_WITH_RSA:
case OID_SHA512:
return SIGN_RSA_EMSA_PKCS1_SHA512;
case OID_ECDSA_WITH_SHA1:
case OID_EC_PUBLICKEY:
return SIGN_ECDSA_WITH_SHA1;
default:
return SIGN_UNKNOWN;
}
}