mirror of https://github.com/ipxe/ipxe.git
[crypto] Parse OCSPSigning key purpose, if present
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/6/head
parent
4aad46ac70
commit
e01af7367d
|
@ -518,6 +518,9 @@ static int x509_parse_key_usage ( struct x509_certificate *cert,
|
||||||
/** "id-kp-codeSigning" object identifier */
|
/** "id-kp-codeSigning" object identifier */
|
||||||
static uint8_t oid_code_signing[] = { ASN1_OID_CODESIGNING };
|
static uint8_t oid_code_signing[] = { ASN1_OID_CODESIGNING };
|
||||||
|
|
||||||
|
/** "id-kp-OCSPSigning" object identifier */
|
||||||
|
static uint8_t oid_ocsp_signing[] = { ASN1_OID_OCSPSIGNING };
|
||||||
|
|
||||||
/** Supported key purposes */
|
/** Supported key purposes */
|
||||||
static struct x509_key_purpose x509_key_purposes[] = {
|
static struct x509_key_purpose x509_key_purposes[] = {
|
||||||
{
|
{
|
||||||
|
@ -525,6 +528,11 @@ static struct x509_key_purpose x509_key_purposes[] = {
|
||||||
.bits = X509_CODE_SIGNING,
|
.bits = X509_CODE_SIGNING,
|
||||||
.oid = ASN1_OID_CURSOR ( oid_code_signing ),
|
.oid = ASN1_OID_CURSOR ( oid_code_signing ),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "ocspSigning",
|
||||||
|
.bits = X509_OCSP_SIGNING,
|
||||||
|
.oid = ASN1_OID_CURSOR ( oid_ocsp_signing ),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -176,6 +176,13 @@ struct asn1_cursor {
|
||||||
ASN1_OID_SINGLE ( 5 ), ASN1_OID_SINGLE ( 7 ), \
|
ASN1_OID_SINGLE ( 5 ), ASN1_OID_SINGLE ( 7 ), \
|
||||||
ASN1_OID_SINGLE ( 48 ), ASN1_OID_SINGLE ( 1 )
|
ASN1_OID_SINGLE ( 48 ), ASN1_OID_SINGLE ( 1 )
|
||||||
|
|
||||||
|
/** ASN.1 OID for id-kp-OCSPSigning (1.3.6.1.5.5.7.3.9) */
|
||||||
|
#define ASN1_OID_OCSPSIGNING \
|
||||||
|
ASN1_OID_INITIAL ( 1, 3 ), ASN1_OID_SINGLE ( 6 ), \
|
||||||
|
ASN1_OID_SINGLE ( 1 ), ASN1_OID_SINGLE ( 5 ), \
|
||||||
|
ASN1_OID_SINGLE ( 5 ), ASN1_OID_SINGLE ( 7 ), \
|
||||||
|
ASN1_OID_SINGLE ( 3 ), ASN1_OID_SINGLE ( 9 )
|
||||||
|
|
||||||
/** Define an ASN.1 cursor containing an OID */
|
/** Define an ASN.1 cursor containing an OID */
|
||||||
#define ASN1_OID_CURSOR( oid_value ) { \
|
#define ASN1_OID_CURSOR( oid_value ) { \
|
||||||
.data = oid_value, \
|
.data = oid_value, \
|
||||||
|
|
|
@ -119,6 +119,7 @@ struct x509_extended_key_usage {
|
||||||
*/
|
*/
|
||||||
enum x509_extended_key_usage_bits {
|
enum x509_extended_key_usage_bits {
|
||||||
X509_CODE_SIGNING = 0x0001,
|
X509_CODE_SIGNING = 0x0001,
|
||||||
|
X509_OCSP_SIGNING = 0x0002,
|
||||||
};
|
};
|
||||||
|
|
||||||
/** X.509 certificate OCSP responder */
|
/** X.509 certificate OCSP responder */
|
||||||
|
|
Loading…
Reference in New Issue