|  | /* BEGIN_HEADER */ | 
|  | #include "mbedtls/oid.h" | 
|  | #include "mbedtls/asn1.h" | 
|  | #include "mbedtls/asn1write.h" | 
|  | #include "string.h" | 
|  | /* END_HEADER */ | 
|  |  | 
|  | /* BEGIN_DEPENDENCIES | 
|  | * depends_on:MBEDTLS_OID_C | 
|  | * END_DEPENDENCIES | 
|  | */ | 
|  |  | 
|  | /* BEGIN_CASE */ | 
|  | void oid_get_certificate_policies( data_t *oid, char *result_str ) | 
|  | { | 
|  | mbedtls_asn1_buf asn1_buf = { 0, 0, NULL }; | 
|  | int ret; | 
|  | const char *desc; | 
|  |  | 
|  | asn1_buf.tag = MBEDTLS_ASN1_OID; | 
|  | asn1_buf.p = oid->x; | 
|  | asn1_buf.len = oid->len; | 
|  |  | 
|  | ret = mbedtls_oid_get_certificate_policies( &asn1_buf, &desc ); | 
|  | if( strlen( result_str ) == 0 ) | 
|  | { | 
|  | TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND ); | 
|  | } | 
|  | else | 
|  | { | 
|  | TEST_ASSERT( ret == 0 ); | 
|  | TEST_ASSERT( strcmp( ( char* )desc, result_str ) == 0 ); | 
|  | } | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE */ | 
|  | void oid_get_extended_key_usage( data_t *oid, char *result_str ) | 
|  | { | 
|  | mbedtls_asn1_buf asn1_buf = { 0, 0, NULL }; | 
|  | int ret; | 
|  | const char *desc; | 
|  |  | 
|  | asn1_buf.tag = MBEDTLS_ASN1_OID; | 
|  | asn1_buf.p = oid->x; | 
|  | asn1_buf.len = oid->len; | 
|  |  | 
|  | ret = mbedtls_oid_get_extended_key_usage( &asn1_buf, &desc ); | 
|  | if( strlen( result_str ) == 0 ) | 
|  | { | 
|  | TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND ); | 
|  | } | 
|  | else | 
|  | { | 
|  | TEST_ASSERT( ret == 0 ); | 
|  | TEST_ASSERT( strcmp( ( char * )desc, result_str ) == 0 ); | 
|  | } | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE */ | 
|  | void oid_get_x509_extension( data_t *oid, int exp_type ) | 
|  | { | 
|  | mbedtls_asn1_buf ext_oid = { 0, 0, NULL }; | 
|  | int ret; | 
|  | int ext_type; | 
|  |  | 
|  | ext_oid.tag = MBEDTLS_ASN1_OID; | 
|  | ext_oid.p = oid->x; | 
|  | ext_oid.len = oid->len; | 
|  |  | 
|  | ret = mbedtls_oid_get_x509_ext_type( &ext_oid, &ext_type ); | 
|  | if( exp_type == 0 ) | 
|  | { | 
|  | TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND ); | 
|  | } | 
|  | else | 
|  | { | 
|  | TEST_ASSERT( ret == 0 ); | 
|  | TEST_ASSERT( ext_type == exp_type ); | 
|  | } | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE */ | 
|  | void oid_get_md_alg_id( data_t *oid, int exp_md_id ) | 
|  | { | 
|  | mbedtls_asn1_buf md_oid = { 0, 0, NULL }; | 
|  | int ret; | 
|  | mbedtls_md_type_t md_id = 0; | 
|  |  | 
|  | md_oid.tag = MBEDTLS_ASN1_OID; | 
|  | md_oid.p = oid->x; | 
|  | md_oid.len = oid->len; | 
|  |  | 
|  | ret = mbedtls_oid_get_md_alg( &md_oid, &md_id ); | 
|  |  | 
|  | if( exp_md_id < 0 ) | 
|  | { | 
|  | TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND ); | 
|  | TEST_ASSERT( md_id == 0); | 
|  | } | 
|  | else | 
|  | { | 
|  | TEST_ASSERT( ret == 0 ); | 
|  | TEST_ASSERT( (mbedtls_md_type_t)exp_md_id == md_id ); | 
|  | } | 
|  | } | 
|  | /* END_CASE */ |