pem: fix return values in pem_check_pkcs_padding()

Return MBEDTLS_ERR_PEM_PASSWORD_MISMATCH instead of
MBEDTLS_ERR_PEM_BAD_INPUT_DATA in case of errors.
This commit also fix related failures in test pkparse and
pem test suites.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti 2024-02-19 15:08:49 +01:00
parent e10674d547
commit e88a1c5b85
3 changed files with 6 additions and 6 deletions

View file

@ -248,14 +248,14 @@ static int pem_check_pkcs_padding(unsigned char *input, size_t input_len, size_t
size_t i;
if (pad_len > input_len) {
return MBEDTLS_ERR_PEM_BAD_INPUT_DATA;
return MBEDTLS_ERR_PEM_PASSWORD_MISMATCH;
}
*data_len = input_len - pad_len;
for (i = *data_len; i < input_len; i++) {
if (input[i] != pad_len) {
return MBEDTLS_ERR_PEM_BAD_INPUT_DATA;
return MBEDTLS_ERR_PEM_PASSWORD_MISMATCH;
}
}