2019-03-25 17:22:52 +01:00
|
|
|
/* BEGIN_HEADER */
|
|
|
|
#include "mbedtls/oid.h"
|
|
|
|
#include "mbedtls/asn1.h"
|
|
|
|
#include "mbedtls/asn1write.h"
|
|
|
|
#include "string.h"
|
2022-08-05 11:47:48 +02:00
|
|
|
#include "legacy_or_psa.h"
|
2019-03-25 17:22:52 +01:00
|
|
|
/* END_HEADER */
|
|
|
|
|
|
|
|
/* BEGIN_DEPENDENCIES
|
2020-10-09 10:19:39 +02:00
|
|
|
* depends_on:MBEDTLS_OID_C:!MBEDTLS_X509_REMOVE_INFO
|
2019-03-25 17:22:52 +01:00
|
|
|
* END_DEPENDENCIES
|
|
|
|
*/
|
|
|
|
|
2019-04-03 08:46:27 +02:00
|
|
|
/* BEGIN_CASE */
|
|
|
|
void oid_get_certificate_policies( data_t *oid, char *result_str )
|
2019-03-25 17:22:52 +01:00
|
|
|
{
|
|
|
|
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
|
|
|
|
{
|
2019-05-06 18:16:32 +02:00
|
|
|
TEST_ASSERT( ret == 0 );
|
2019-03-25 17:22:52 +01:00
|
|
|
TEST_ASSERT( strcmp( ( char* )desc, result_str ) == 0 );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* END_CASE */
|
2019-04-01 17:12:23 +02:00
|
|
|
|
|
|
|
/* 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
|
|
|
|
{
|
2019-05-06 18:16:32 +02:00
|
|
|
TEST_ASSERT( ret == 0 );
|
2019-04-01 17:12:23 +02:00
|
|
|
TEST_ASSERT( strcmp( ( char * )desc, result_str ) == 0 );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* END_CASE */
|
2019-04-03 08:45:07 +02:00
|
|
|
|
|
|
|
/* 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
|
|
|
|
{
|
2019-05-06 18:16:32 +02:00
|
|
|
TEST_ASSERT( ret == 0 );
|
2019-04-03 08:45:07 +02:00
|
|
|
TEST_ASSERT( ext_type == exp_type );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* END_CASE */
|
2019-05-06 18:15:44 +02:00
|
|
|
|
2022-08-05 11:47:48 +02:00
|
|
|
/* BEGIN_CASE */
|
2019-05-06 18:15:44 +02:00
|
|
|
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 */
|