* try to import mbedtls and build it * add stubs socket class * some boilterplate, read and write function implemented * more boilterplate / current error in handshake because no CA cert is setup * add something so skip ca verification, can ws curl https://google.com ! * cleanup / close implemented * tweak CMakefiles * typo in include * update readme * disable unittests
		
			
				
	
	
		
			110 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /* 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 */
 |