diff --git a/library/x509_crt.c b/library/x509_crt.c index 08874284bc..59a694634d 100644 --- a/library/x509_crt.c +++ b/library/x509_crt.c @@ -674,13 +674,12 @@ static int x509_get_authority_key_id(unsigned char **p, /* Getting authorityCertSerialNumber using the required specific class tag [2] */ if ((ret = mbedtls_asn1_get_tag(p, end, &len, - MBEDTLS_ASN1_CONTEXT_SPECIFIC | MBEDTLS_ASN1_INTEGER | - 2)) != 0) { + MBEDTLS_ASN1_CONTEXT_SPECIFIC | 2)) != 0) { return MBEDTLS_ERROR_ADD(MBEDTLS_ERR_X509_INVALID_EXTENSIONS, ret); } else { authority_key_id->authorityCertSerialNumber.len = len; authority_key_id->authorityCertSerialNumber.p = *p; - authority_key_id->authorityCertSerialNumber.tag = MBEDTLS_ASN1_OCTET_STRING; + authority_key_id->authorityCertSerialNumber.tag = MBEDTLS_ASN1_INTEGER; *p += len; } } diff --git a/tests/suites/test_suite_x509parse.function b/tests/suites/test_suite_x509parse.function index 4d89410898..1970b5d699 100644 --- a/tests/suites/test_suite_x509parse.function +++ b/tests/suites/test_suite_x509parse.function @@ -1538,7 +1538,7 @@ void x509_crt_parse_authoritykeyid(data_t *buf, /* Serial test */ TEST_ASSERT(crt.authority_key_id.authorityCertSerialNumber.tag == - MBEDTLS_ASN1_OCTET_STRING); + MBEDTLS_ASN1_INTEGER); TEST_ASSERT(crt.authority_key_id.authorityCertSerialNumber.len == serialLength); } else { TEST_ASSERT(crt.authority_key_id.keyIdentifier.tag == 0);