1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

psa_util: allow larger raw buffers in mbedtls_ecdsa_raw_to_der()

The only real contraint on the raw buffer is that it is large
enough to contain 2 coordinates. Larger buffers are therefore
allowed and the extra data will simply be ignored.

Note = trying to impose a strict sizing on the raw buffer causes
       several failures in test suites. This suggests that it is
       quite common to use larger buffer to store raw signatures.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti
2024-02-06 08:42:42 +01:00
parent 0e60e93c12
commit d4fc5d9d1c
3 changed files with 2 additions and 6 deletions

View File

@ -413,7 +413,7 @@ int mbedtls_ecdsa_raw_to_der(size_t bits, const unsigned char *raw, size_t raw_l
unsigned char *p = der + der_size;
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
if ((raw_len < 2 * coordinate_len) || (raw_len > 2 * coordinate_len)) {
if (raw_len < 2 * coordinate_len) {
return MBEDTLS_ERR_ASN1_INVALID_DATA;
}