Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / mbedtls / repo / tests / suites / test_suite_oid.function
1 /* 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
13 /* BEGIN_CASE */
14 void oid_get_certificate_policies( data_t *oid, char *result_str )
15 {
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( ret == 0 );
32         TEST_ASSERT( strcmp( ( char* )desc, result_str ) == 0 );
33     }
34 }
35 /* END_CASE */
36
37 /* BEGIN_CASE */
38 void oid_get_extended_key_usage( data_t *oid, char *result_str )
39 {
40     mbedtls_asn1_buf asn1_buf = { 0, 0, NULL };
41     int ret;
42     const char *desc;
43
44     asn1_buf.tag = MBEDTLS_ASN1_OID;
45     asn1_buf.p = oid->x;
46     asn1_buf.len = oid->len;
47
48     ret = mbedtls_oid_get_extended_key_usage( &asn1_buf, &desc );
49     if( strlen( result_str ) == 0 )
50     {
51         TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
52     }
53     else
54     {
55         TEST_ASSERT( ret == 0 );
56         TEST_ASSERT( strcmp( ( char * )desc, result_str ) == 0 );
57     }
58 }
59 /* END_CASE */
60
61 /* BEGIN_CASE */
62 void oid_get_x509_extension( data_t *oid, int exp_type )
63 {
64     mbedtls_asn1_buf ext_oid = { 0, 0, NULL };
65     int ret;
66     int ext_type;
67
68     ext_oid.tag = MBEDTLS_ASN1_OID;
69     ext_oid.p = oid->x;
70     ext_oid.len = oid->len;
71
72     ret = mbedtls_oid_get_x509_ext_type( &ext_oid, &ext_type );
73     if( exp_type == 0 )
74     {
75         TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
76     }
77     else
78     {
79         TEST_ASSERT( ret == 0 );
80         TEST_ASSERT( ext_type == exp_type );
81     }
82 }
83 /* END_CASE */
84
85 /* BEGIN_CASE */
86 void oid_get_md_alg_id( data_t *oid, int exp_md_id )
87 {
88     mbedtls_asn1_buf md_oid = { 0, 0, NULL };
89     int ret;
90     mbedtls_md_type_t md_id = 0;
91
92     md_oid.tag = MBEDTLS_ASN1_OID;
93     md_oid.p = oid->x;
94     md_oid.len = oid->len;
95
96     ret = mbedtls_oid_get_md_alg( &md_oid, &md_id );
97
98     if( exp_md_id < 0 )
99     {
100         TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
101         TEST_ASSERT( md_id == 0);
102     }
103     else
104     {
105         TEST_ASSERT( ret == 0 );
106         TEST_ASSERT( (mbedtls_md_type_t)exp_md_id == md_id );
107     }
108 }
109 /* END_CASE */