diff --git a/library/x509parse.c b/library/x509parse.c index 74671a00b4..0ec5e6802b 100644 --- a/library/x509parse.c +++ b/library/x509parse.c @@ -2329,6 +2329,10 @@ int x509parse_key( rsa_context *rsa, const unsigned char *key, size_t keylen, pem_free( &pem ); return( ret ); } + else if( ret == POLARSSL_ERR_PEM_PASSWORD_MISMATCH ) + return( POLARSSL_ERR_X509_PASSWORD_MISMATCH ); + else if( ret == POLARSSL_ERR_PEM_PASSWORD_REQUIRED ) + return( POLARSSL_ERR_X509_PASSWORD_REQUIRED ); else if( ret != POLARSSL_ERR_PEM_NO_HEADER_FOOTER_PRESENT ) return( ret ); diff --git a/tests/suites/test_suite_x509parse.data b/tests/suites/test_suite_x509parse.data index b039ea71e5..88d20f55a4 100644 --- a/tests/suites/test_suite_x509parse.data +++ b/tests/suites/test_suite_x509parse.data @@ -80,7 +80,7 @@ x509_crl_info:"data_files/crl_sha512.pem":"CRL version \: 1\nissuer name \: X509 Parse Key #1 (No password when required) depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO -x509parse_keyfile:"data_files/test-ca.key":NULL:POLARSSL_ERR_PEM_PASSWORD_REQUIRED +x509parse_keyfile:"data_files/test-ca.key":NULL:POLARSSL_ERR_X509_PASSWORD_REQUIRED X509 Parse Key #2 (Correct password) depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO @@ -88,7 +88,7 @@ x509parse_keyfile:"data_files/test-ca.key":"PolarSSLTest":0 X509 Parse Key #3 (Wrong password) depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO -x509parse_keyfile:"data_files/test-ca.key":"PolarSSLWRONG":POLARSSL_ERR_PEM_PASSWORD_MISMATCH +x509parse_keyfile:"data_files/test-ca.key":"PolarSSLWRONG":POLARSSL_ERR_X509_PASSWORD_MISMATCH X509 Parse Key #4 (DES Encrypted) depends_on:POLARSSL_MD5_C:POLARSSL_DES_C:POLARSSL_PEM_C:POLARSSL_FS_IO