2 * Copyright (C) 2007 Martin Willi
3 * Hochschule fuer Technik Rapperswil
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
18 #include "public_key.h"
20 ENUM(key_type_names
, KEY_RSA
, KEY_DSA
,
26 ENUM(signature_scheme_names
, SIGN_UNKNOWN
, SIGN_ECDSA_521
,
28 "RSA_EMSA_PKCS1_NULL",
30 "RSA_EMSA_PKCS1_SHA1",
31 "RSA_EMSA_PKCS1_SHA256",
32 "RSA_EMSA_PKCS1_SHA384",
33 "RSA_EMSA_PKCS1_SHA512",
44 signature_scheme_t
signature_scheme_from_oid(int oid
)
48 case OID_MD5_WITH_RSA
:
50 return SIGN_RSA_EMSA_PKCS1_MD5
;
51 case OID_SHA1_WITH_RSA
:
53 return SIGN_RSA_EMSA_PKCS1_SHA1
;
54 case OID_SHA256_WITH_RSA
:
56 return SIGN_RSA_EMSA_PKCS1_SHA256
;
57 case OID_SHA384_WITH_RSA
:
59 return SIGN_RSA_EMSA_PKCS1_SHA384
;
60 case OID_SHA512_WITH_RSA
:
62 return SIGN_RSA_EMSA_PKCS1_SHA512
;
63 case OID_ECDSA_WITH_SHA1
:
64 case OID_EC_PUBLICKEY
:
65 return SIGN_ECDSA_WITH_SHA1
;
66 case OID_ECDSA_WITH_SHA256
:
67 return SIGN_ECDSA_256
;
68 case OID_ECDSA_WITH_SHA384
:
69 return SIGN_ECDSA_384
;
70 case OID_ECDSA_WITH_SHA512
:
71 return SIGN_ECDSA_521
;