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>
diff --git a/include/mbedtls/psa_util.h b/include/mbedtls/psa_util.h
index a5f09a4..9294d29 100644
--- a/include/mbedtls/psa_util.h
+++ b/include/mbedtls/psa_util.h
@@ -188,7 +188,7 @@
  *
  * \param       bits        Size of each coordinate in bits.
  * \param       raw         Buffer that contains the signature in raw format.
- * \param       raw_len     Length of \p raw in bytes. This must be
+ * \param       raw_len     Length of \p raw in bytes. This must be at least
  *                          PSA_BITS_TO_BYTES(bits) bytes.
  * \param[out]  der         Buffer that will be filled with the converted DER
  *                          output. It can overlap with raw buffer.
diff --git a/library/psa_util.c b/library/psa_util.c
index 674f21b..7ce5eea 100644
--- a/library/psa_util.c
+++ b/library/psa_util.c
@@ -413,7 +413,7 @@
     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;
     }
 
diff --git a/tests/suites/test_suite_psa_crypto_util.data b/tests/suites/test_suite_psa_crypto_util.data
index 7f3f5b5..f7e6eba 100644
--- a/tests/suites/test_suite_psa_crypto_util.data
+++ b/tests/suites/test_suite_psa_crypto_util.data
@@ -42,10 +42,6 @@
 depends_on:PSA_VENDOR_ECC_MAX_CURVE_BITS >= 256
 ecdsa_raw_to_der:256:"111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222222":"30440220111111111111111111111111111111111111111111111111111111111111111102202222222222222222222222222222222222222222222222222222222222222222":MBEDTLS_ERR_ASN1_INVALID_DATA
 
-ECDSA Raw -> DER, 256bit, Invalid raw signature (1 byte longer)
-depends_on:PSA_VENDOR_ECC_MAX_CURVE_BITS >= 256
-ecdsa_raw_to_der:256:"1111111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222222":"30440220111111111111111111111111111111111111111111111111111111111111111102202222222222222222222222222222222222222222222222222222222222222222":MBEDTLS_ERR_ASN1_INVALID_DATA
-
 ECDSA DER -> Raw, 256bit, Success
 depends_on:PSA_VENDOR_ECC_MAX_CURVE_BITS >= 256
 ecdsa_der_to_raw:256:"30440220111111111111111111111111111111111111111111111111111111111111111102202222222222222222222222222222222222222222222222222222222222222222":"11111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222222":0