test_suite_oid.function 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. /* BEGIN_DEPENDENCIES
  8. * depends_on:MBEDTLS_OID_C
  9. * END_DEPENDENCIES
  10. */
  11. /* BEGIN_CASE */
  12. void oid_get_certificate_policies( data_t *oid, char *result_str )
  13. {
  14. mbedtls_asn1_buf asn1_buf = { 0, 0, NULL };
  15. int ret;
  16. const char *desc;
  17. asn1_buf.tag = MBEDTLS_ASN1_OID;
  18. asn1_buf.p = oid->x;
  19. asn1_buf.len = oid->len;
  20. ret = mbedtls_oid_get_certificate_policies( &asn1_buf, &desc );
  21. if( strlen( result_str ) == 0 )
  22. {
  23. TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
  24. }
  25. else
  26. {
  27. TEST_ASSERT( ret == 0 );
  28. TEST_ASSERT( strcmp( ( char* )desc, result_str ) == 0 );
  29. }
  30. }
  31. /* END_CASE */
  32. /* BEGIN_CASE */
  33. void oid_get_extended_key_usage( data_t *oid, char *result_str )
  34. {
  35. mbedtls_asn1_buf asn1_buf = { 0, 0, NULL };
  36. int ret;
  37. const char *desc;
  38. asn1_buf.tag = MBEDTLS_ASN1_OID;
  39. asn1_buf.p = oid->x;
  40. asn1_buf.len = oid->len;
  41. ret = mbedtls_oid_get_extended_key_usage( &asn1_buf, &desc );
  42. if( strlen( result_str ) == 0 )
  43. {
  44. TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
  45. }
  46. else
  47. {
  48. TEST_ASSERT( ret == 0 );
  49. TEST_ASSERT( strcmp( ( char * )desc, result_str ) == 0 );
  50. }
  51. }
  52. /* END_CASE */
  53. /* BEGIN_CASE */
  54. void oid_get_x509_extension( data_t *oid, int exp_type )
  55. {
  56. mbedtls_asn1_buf ext_oid = { 0, 0, NULL };
  57. int ret;
  58. int ext_type;
  59. ext_oid.tag = MBEDTLS_ASN1_OID;
  60. ext_oid.p = oid->x;
  61. ext_oid.len = oid->len;
  62. ret = mbedtls_oid_get_x509_ext_type( &ext_oid, &ext_type );
  63. if( exp_type == 0 )
  64. {
  65. TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
  66. }
  67. else
  68. {
  69. TEST_ASSERT( ret == 0 );
  70. TEST_ASSERT( ext_type == exp_type );
  71. }
  72. }
  73. /* END_CASE */
  74. /* BEGIN_CASE */
  75. void oid_get_md_alg_id( data_t *oid, int exp_md_id )
  76. {
  77. mbedtls_asn1_buf md_oid = { 0, 0, NULL };
  78. int ret;
  79. mbedtls_md_type_t md_id = 0;
  80. md_oid.tag = MBEDTLS_ASN1_OID;
  81. md_oid.p = oid->x;
  82. md_oid.len = oid->len;
  83. ret = mbedtls_oid_get_md_alg( &md_oid, &md_id );
  84. if( exp_md_id < 0 )
  85. {
  86. TEST_ASSERT( ret == MBEDTLS_ERR_OID_NOT_FOUND );
  87. TEST_ASSERT( md_id == 0);
  88. }
  89. else
  90. {
  91. TEST_ASSERT( ret == 0 );
  92. TEST_ASSERT( (mbedtls_md_type_t)exp_md_id == md_id );
  93. }
  94. }
  95. /* END_CASE */