mirror of
https://github.com/espressif/mbedtls.git
synced 2025-06-26 03:24:35 +08:00
Print RFC 4108 hwSerialNum in hex format
Signed-off-by: Victor Barpp Gomes <17840319+Kabbah@users.noreply.github.com>
This commit is contained in:
parent
1b36e1b4d7
commit
fb4723a40b
@ -1785,6 +1785,7 @@ static int x509_info_subject_alt_name( char **buf, size_t *size,
|
|||||||
const char *prefix )
|
const char *prefix )
|
||||||
{
|
{
|
||||||
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
||||||
|
size_t i;
|
||||||
size_t n = *size;
|
size_t n = *size;
|
||||||
char *p = *buf;
|
char *p = *buf;
|
||||||
const mbedtls_x509_sequence *cur = subject_alt_name;
|
const mbedtls_x509_sequence *cur = subject_alt_name;
|
||||||
@ -1837,18 +1838,11 @@ static int x509_info_subject_alt_name( char **buf, size_t *size,
|
|||||||
ret = mbedtls_snprintf( p, n, "\n%s hardware serial number : ", prefix );
|
ret = mbedtls_snprintf( p, n, "\n%s hardware serial number : ", prefix );
|
||||||
MBEDTLS_X509_SAFE_SNPRINTF;
|
MBEDTLS_X509_SAFE_SNPRINTF;
|
||||||
|
|
||||||
if( other_name->value.hardware_module_name.val.len >= n )
|
for( i = 0; i < other_name->value.hardware_module_name.val.len; i++ )
|
||||||
{
|
{
|
||||||
*p = '\0';
|
ret = mbedtls_snprintf( p, n, "%02X", other_name->value.hardware_module_name.val.p[i] );
|
||||||
return( MBEDTLS_ERR_X509_BUFFER_TOO_SMALL );
|
MBEDTLS_X509_SAFE_SNPRINTF;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy( p, other_name->value.hardware_module_name.val.p,
|
|
||||||
other_name->value.hardware_module_name.val.len );
|
|
||||||
p += other_name->value.hardware_module_name.val.len;
|
|
||||||
|
|
||||||
n -= other_name->value.hardware_module_name.val.len;
|
|
||||||
|
|
||||||
}/* MBEDTLS_OID_ON_HW_MODULE_NAME */
|
}/* MBEDTLS_OID_ON_HW_MODULE_NAME */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -96,7 +96,7 @@ x509_cert_info:"data_files/server5-sha512.crt":"cert. version \: 3\nserial n
|
|||||||
|
|
||||||
X509 CRT information EC, SHA256 Digest, hardware module name SAN
|
X509 CRT information EC, SHA256 Digest, hardware module name SAN
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
||||||
x509_cert_info:"data_files/server5-othername.crt":"cert. version \: 3\nserial number \: 4D\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nissued on \: 2019-03-24 09\:06\:02\nexpires on \: 2029-03-21 09\:06\:02\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 123456\n"
|
x509_cert_info:"data_files/server5-othername.crt":"cert. version \: 3\nserial number \: 4D\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nissued on \: 2019-03-24 09\:06\:02\nexpires on \: 2029-03-21 09\:06\:02\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 313233343536\n"
|
||||||
|
|
||||||
X509 CRT information EC, SHA256 Digest, Wisun Fan device
|
X509 CRT information EC, SHA256 Digest, Wisun Fan device
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
||||||
@ -120,7 +120,7 @@ x509_cert_info:"data_files/cert_example_multi.crt":"cert. version \: 3\nseri
|
|||||||
|
|
||||||
X509 CRT information, Multiple different Subject Alt Name
|
X509 CRT information, Multiple different Subject Alt Name
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
||||||
x509_cert_info:"data_files/multiple_san.crt":"cert. version \: 3\nserial number \: 04\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nissued on \: 2019-04-22 16\:10\:48\nexpires on \: 2029-04-19 16\:10\:48\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n dNSName \: example.com\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 123456\n dNSName \: example.net\n dNSName \: *.example.org\n"
|
x509_cert_info:"data_files/multiple_san.crt":"cert. version \: 3\nserial number \: 04\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nissued on \: 2019-04-22 16\:10\:48\nexpires on \: 2029-04-19 16\:10\:48\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n dNSName \: example.com\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 313233343536\n dNSName \: example.net\n dNSName \: *.example.org\n"
|
||||||
|
|
||||||
X509 CRT information, Subject Alt Name + Key Usage
|
X509 CRT information, Subject Alt Name + Key Usage
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C
|
||||||
@ -184,7 +184,7 @@ x509_cert_info:"data_files/cert_v1_with_ext.crt":"cert. version \: 1\nserial
|
|||||||
|
|
||||||
X509 SAN parsing otherName
|
X509 SAN parsing otherName
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
||||||
x509_parse_san:"data_files/server5-othername.crt":"type \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 123456\n"
|
x509_parse_san:"data_files/server5-othername.crt":"type \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 313233343536\n"
|
||||||
|
|
||||||
X509 SAN parsing dNSName
|
X509 SAN parsing dNSName
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C
|
||||||
@ -192,7 +192,7 @@ x509_parse_san:"data_files/cert_example_multi.crt":"type \: 2\ndNSName \: exampl
|
|||||||
|
|
||||||
X509 SAN parsing Multiple different types
|
X509 SAN parsing Multiple different types
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C
|
||||||
x509_parse_san:"data_files/multiple_san.crt":"type \: 2\ndNSName \: example.com\ntype \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 123456\ntype \: 2\ndNSName \: example.net\ntype \: 2\ndNSName \: *.example.org\n"
|
x509_parse_san:"data_files/multiple_san.crt":"type \: 2\ndNSName \: example.com\ntype \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 313233343536\ntype \: 2\ndNSName \: example.net\ntype \: 2\ndNSName \: *.example.org\n"
|
||||||
|
|
||||||
X509 SAN parsing, no subject alt name
|
X509 SAN parsing, no subject alt name
|
||||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C
|
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C
|
||||||
|
@ -262,17 +262,11 @@ int verify_parse_san( mbedtls_x509_subject_alternative_name *san,
|
|||||||
ret = mbedtls_snprintf( p, n, ", hardware serial number : " );
|
ret = mbedtls_snprintf( p, n, ", hardware serial number : " );
|
||||||
MBEDTLS_X509_SAFE_SNPRINTF;
|
MBEDTLS_X509_SAFE_SNPRINTF;
|
||||||
|
|
||||||
if( san->san.other_name.value.hardware_module_name.val.len >= n )
|
|
||||||
{
|
|
||||||
*p = '\0';
|
|
||||||
return( MBEDTLS_ERR_X509_BUFFER_TOO_SMALL );
|
|
||||||
}
|
|
||||||
|
|
||||||
for( i = 0; i < san->san.other_name.value.hardware_module_name.val.len; i++ )
|
for( i = 0; i < san->san.other_name.value.hardware_module_name.val.len; i++ )
|
||||||
{
|
{
|
||||||
*p++ = san->san.other_name.value.hardware_module_name.val.p[i];
|
ret = mbedtls_snprintf( p, n, "%02X", san->san.other_name.value.hardware_module_name.val.p[i] );
|
||||||
|
MBEDTLS_X509_SAFE_SNPRINTF;
|
||||||
}
|
}
|
||||||
n -= san->san.other_name.value.hardware_module_name.val.len;
|
|
||||||
}
|
}
|
||||||
break;/* MBEDTLS_OID_ON_HW_MODULE_NAME */
|
break;/* MBEDTLS_OID_ON_HW_MODULE_NAME */
|
||||||
case( MBEDTLS_X509_SAN_DNS_NAME ):
|
case( MBEDTLS_X509_SAN_DNS_NAME ):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user