Skip to content

Commit f790a6c

Browse files
committed
Merge remote-tracking branch 'origin/pr/2536' into development
* origin/pr/2536: Update crypto submodule Minor fixes in get certificate policies oid test Add certificate policy oid x509 extension
2 parents 5c7915b + 3b4f9ea commit f790a6c

File tree

5 files changed

+60
-8
lines changed

5 files changed

+60
-8
lines changed

ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Features
88
* It is now possible to use NIST key wrap mode via the mbedtls_cipher API.
99
Contributed by Jack Lloyd and Fortanix Inc.
1010
* Add the Wi-SUN Field Area Network (FAN) device extended key usage.
11+
* Add the oid certificate policy x509 extension.
1112

1213
Bugfix
1314
* Fix private key DER output in the key_app_writer example. File contents

library/oid.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,25 +254,29 @@ typedef struct {
254254
static const oid_x509_ext_t oid_x509_ext[] =
255255
{
256256
{
257-
{ ADD_LEN( MBEDTLS_OID_BASIC_CONSTRAINTS ), "id-ce-basicConstraints", "Basic Constraints" },
257+
{ ADD_LEN( MBEDTLS_OID_BASIC_CONSTRAINTS ), "id-ce-basicConstraints", "Basic Constraints" },
258258
MBEDTLS_OID_X509_EXT_BASIC_CONSTRAINTS,
259259
},
260260
{
261-
{ ADD_LEN( MBEDTLS_OID_KEY_USAGE ), "id-ce-keyUsage", "Key Usage" },
261+
{ ADD_LEN( MBEDTLS_OID_KEY_USAGE ), "id-ce-keyUsage", "Key Usage" },
262262
MBEDTLS_OID_X509_EXT_KEY_USAGE,
263263
},
264264
{
265-
{ ADD_LEN( MBEDTLS_OID_EXTENDED_KEY_USAGE ), "id-ce-extKeyUsage", "Extended Key Usage" },
265+
{ ADD_LEN( MBEDTLS_OID_EXTENDED_KEY_USAGE ), "id-ce-extKeyUsage", "Extended Key Usage" },
266266
MBEDTLS_OID_X509_EXT_EXTENDED_KEY_USAGE,
267267
},
268268
{
269-
{ ADD_LEN( MBEDTLS_OID_SUBJECT_ALT_NAME ), "id-ce-subjectAltName", "Subject Alt Name" },
269+
{ ADD_LEN( MBEDTLS_OID_SUBJECT_ALT_NAME ), "id-ce-subjectAltName", "Subject Alt Name" },
270270
MBEDTLS_OID_X509_EXT_SUBJECT_ALT_NAME,
271271
},
272272
{
273-
{ ADD_LEN( MBEDTLS_OID_NS_CERT_TYPE ), "id-netscape-certtype", "Netscape Certificate Type" },
273+
{ ADD_LEN( MBEDTLS_OID_NS_CERT_TYPE ), "id-netscape-certtype", "Netscape Certificate Type" },
274274
MBEDTLS_OID_X509_EXT_NS_CERT_TYPE,
275275
},
276+
{
277+
{ ADD_LEN( MBEDTLS_OID_CERTIFICATE_POLICIES ), "id-ce-certificatePolicies", "Certificate Policies" },
278+
MBEDTLS_OID_X509_EXT_CERTIFICATE_POLICIES,
279+
},
276280
{
277281
{ NULL, 0, NULL, NULL },
278282
0,

tests/suites/test_suite_oid.data

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,27 @@ oid_get_extended_key_usage:"5533445566":""
3333

3434
OID get Ext Key Usage wrong oid - id-ce-authorityKeyIdentifier
3535
oid_get_extended_key_usage:"551D23":""
36+
37+
OID get x509 extension - id-ce-basicConstraints
38+
oid_get_x509_extension:"551D13":MBEDTLS_OID_X509_EXT_BASIC_CONSTRAINTS
39+
40+
OID get x509 extension - id-ce-keyUsage
41+
oid_get_x509_extension:"551D0F":MBEDTLS_OID_X509_EXT_KEY_USAGE
42+
43+
OID get x509 extension - id-ce-extKeyUsage
44+
oid_get_x509_extension:"551D25":MBEDTLS_OID_X509_EXT_EXTENDED_KEY_USAGE
45+
46+
OID get x509 extension - id-ce-subjectAltName
47+
oid_get_x509_extension:"551D11":MBEDTLS_OID_X509_EXT_SUBJECT_ALT_NAME
48+
49+
OID get x509 extension - id-netscape-certtype
50+
oid_get_x509_extension:"6086480186F8420101":MBEDTLS_OID_X509_EXT_NS_CERT_TYPE
51+
52+
OID get x509 extension - id-ce-certificatePolicies
53+
oid_get_x509_extension:"551D20":MBEDTLS_OID_X509_EXT_CERTIFICATE_POLICIES
54+
55+
OID get x509 extension - invalid oid
56+
oid_get_x509_extension:"5533445566":0
57+
58+
OID get x509 extension - wrong oid - id-ce
59+
oid_get_x509_extension:"551D":0

tests/suites/test_suite_oid.function

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
* END_DEPENDENCIES
1111
*/
1212

13-
/* BEGIN_CASE depends_on:MBEDTLS_ASN1_WRITE_C*/
14-
void oid_get_certificate_policies( data_t * oid, char * result_str )
13+
/* BEGIN_CASE */
14+
void oid_get_certificate_policies( data_t *oid, char *result_str )
1515
{
1616
mbedtls_asn1_buf asn1_buf = { 0, 0, NULL };
1717
int ret;
@@ -55,3 +55,26 @@ void oid_get_extended_key_usage( data_t *oid, char *result_str )
5555
}
5656
}
5757
/* END_CASE */
58+
59+
/* BEGIN_CASE */
60+
void oid_get_x509_extension( data_t *oid, int exp_type )
61+
{
62+
mbedtls_asn1_buf ext_oid = { 0, 0, NULL };
63+
int ret;
64+
int ext_type;
65+
66+
ext_oid.tag = MBEDTLS_ASN1_OID;
67+
ext_oid.p = oid->x;
68+
ext_oid.len = oid->len;
69+
70+
ret = mbedtls_oid_get_x509_ext_type( &ext_oid, &ext_type );
71+
if( exp_type == 0 )
72+
{
73+
TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
74+
}
75+
else
76+
{
77+
TEST_ASSERT( ext_type == exp_type );
78+
}
79+
}
80+
/* END_CASE */

0 commit comments

Comments
 (0)