blob: 065295a7abbf7f0aa53915ab0978504a5c1f210d [file] [log] [blame]
Ron Eldor11ee0712019-03-25 18:22:52 +02001/* BEGIN_HEADER */
2#include "mbedtls/oid.h"
3#include "mbedtls/asn1.h"
4#include "mbedtls/asn1write.h"
5#include "string.h"
6/* END_HEADER */
7
8/* BEGIN_DEPENDENCIES
9 * depends_on:MBEDTLS_OID_C
10 * END_DEPENDENCIES
11 */
12
Ron Eldor685a3982019-04-03 09:46:27 +030013/* BEGIN_CASE */
14void oid_get_certificate_policies( data_t *oid, char *result_str )
Ron Eldor11ee0712019-03-25 18:22:52 +020015{
16 mbedtls_asn1_buf asn1_buf = { 0, 0, NULL };
17 int ret;
18 const char *desc;
19
20 asn1_buf.tag = MBEDTLS_ASN1_OID;
21 asn1_buf.p = oid->x;
22 asn1_buf.len = oid->len;
23
24 ret = mbedtls_oid_get_certificate_policies( &asn1_buf, &desc );
25 if( strlen( result_str ) == 0 )
26 {
27 TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
28 }
29 else
30 {
31 TEST_ASSERT( strcmp( ( char* )desc, result_str ) == 0 );
32 }
33}
34/* END_CASE */
Ron Eldorb6dc1052019-04-01 18:12:23 +030035
36/* BEGIN_CASE */
37void oid_get_extended_key_usage( data_t *oid, char *result_str )
38{
39 mbedtls_asn1_buf asn1_buf = { 0, 0, NULL };
40 int ret;
41 const char *desc;
42
43 asn1_buf.tag = MBEDTLS_ASN1_OID;
44 asn1_buf.p = oid->x;
45 asn1_buf.len = oid->len;
46
47 ret = mbedtls_oid_get_extended_key_usage( &asn1_buf, &desc );
48 if( strlen( result_str ) == 0 )
49 {
50 TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
51 }
52 else
53 {
54 TEST_ASSERT( strcmp( ( char * )desc, result_str ) == 0 );
55 }
56}
57/* END_CASE */
Ron Eldore8234162019-04-03 09:45:07 +030058
59/* BEGIN_CASE */
60void 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 */
Jack Lloyd5ed7fff2019-05-06 12:15:44 -040081
82/* BEGIN_CASE */
83void oid_get_md_alg_id( data_t *oid, int exp_md_id )
84{
85 mbedtls_asn1_buf md_oid = { 0, 0, NULL };
86 int ret;
87 mbedtls_md_type_t md_id = 0;
88
89 md_oid.tag = MBEDTLS_ASN1_OID;
90 md_oid.p = oid->x;
91 md_oid.len = oid->len;
92
93 ret = mbedtls_oid_get_md_alg( &md_oid, &md_id );
94
95 if( exp_md_id < 0 )
96 {
97 TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
98 TEST_ASSERT( md_id == 0);
99 }
100 else
101 {
102 TEST_ASSERT( ret == 0 );
103 TEST_ASSERT( (mbedtls_md_type_t)exp_md_id == md_id );
104 }
105}
106/* END_CASE */