psa_util: change parameters order in ECDSA conversion functions

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/include/mbedtls/psa_util.h b/include/mbedtls/psa_util.h
index b7b710f..06732d8 100644
--- a/include/mbedtls/psa_util.h
+++ b/include/mbedtls/psa_util.h
@@ -186,6 +186,7 @@
 
 /** Convert an ECDSA signature from raw format to DER ASN.1 format.
  *
+ * \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.
  * \param[out]  der         Buffer that will be filled with the converted DER
@@ -194,14 +195,13 @@
  * \param[out]  der_len     On success it contains the amount of valid data
  *                          (in bytes) written to \p der. It's undefined
  *                          in case of failure.
- * \param       bits        Size of each coordinate in bits.
  */
-int mbedtls_ecdsa_raw_to_der(const unsigned char *raw, size_t raw_len,
-                             unsigned char *der, size_t der_size, size_t *der_len,
-                             size_t bits);
+int mbedtls_ecdsa_raw_to_der(size_t bits, const unsigned char *raw, size_t raw_len,
+                             unsigned char *der, size_t der_size, size_t *der_len);
 
 /** Convert an ECDSA signature from DER ASN.1 format to raw format.
  *
+ * \param       bits        Size of each coordinate in bits.
  * \param       der         Buffer that contains the signature in DER format.
  * \param       der_len     Size of \p der in bytes.
  * \param[out]  raw         Buffer that will be filled with the converted raw
@@ -210,11 +210,9 @@
  * \param[out]  raw_len     On success it is updated with the amount of valid
  *                          data (in bytes) written to \p raw. It's undefined
  *                          in case of failure.
- * \param       bits        Size of each coordinate in bits.
  */
-int mbedtls_ecdsa_der_to_raw(const unsigned char *der, size_t der_len,
-                             unsigned char *raw, size_t raw_size, size_t *raw_len,
-                             size_t bits);
+int mbedtls_ecdsa_der_to_raw(size_t bits, const unsigned char *der, size_t der_len,
+                             unsigned char *raw, size_t raw_size, size_t *raw_len);
 
 #endif /* MBEDTLS_PSA_UTIL_HAVE_ECDSA */
 
diff --git a/library/pk_wrap.c b/library/pk_wrap.c
index 9a29d92..c45fbd4 100644
--- a/library/pk_wrap.c
+++ b/library/pk_wrap.c
@@ -573,9 +573,8 @@
     }
 
     p = (unsigned char *) sig;
-    ret = mbedtls_ecdsa_der_to_raw(p, sig_len, extracted_sig,
-                                   sizeof(extracted_sig), &converted_sig_len,
-                                   curve_bits);
+    ret = mbedtls_ecdsa_der_to_raw(curve_bits, p, sig_len, extracted_sig,
+                                   sizeof(extracted_sig), &converted_sig_len);
     if (ret != 0) {
         goto cleanup;
     }
@@ -730,7 +729,7 @@
     }
 
 done:
-    ret = mbedtls_ecdsa_raw_to_der(sig, sig_size, sig, sig_size, sig_len, key_bits);
+    ret = mbedtls_ecdsa_raw_to_der(key_bits, sig, sig_size, sig, sig_size, sig_len);
 
     return ret;
 }
diff --git a/library/psa_util.c b/library/psa_util.c
index b13d83d..2491f2e 100644
--- a/library/psa_util.c
+++ b/library/psa_util.c
@@ -402,9 +402,8 @@
     return len;
 }
 
-int mbedtls_ecdsa_raw_to_der(const unsigned char *raw, size_t raw_len,
-                             unsigned char *der, size_t der_size, size_t *der_len,
-                             size_t bits)
+int mbedtls_ecdsa_raw_to_der(size_t bits, const unsigned char *raw, size_t raw_len,
+                             unsigned char *der, size_t der_size, size_t *der_len)
 {
     unsigned char r[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)];
     unsigned char s[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)];
@@ -511,9 +510,8 @@
     return (int) (p - der);
 }
 
-int mbedtls_ecdsa_der_to_raw(const unsigned char *der, size_t der_len,
-                             unsigned char *raw, size_t raw_size, size_t *raw_len,
-                             size_t bits)
+int mbedtls_ecdsa_der_to_raw(size_t bits, const unsigned char *der, size_t der_len,
+                             unsigned char *raw, size_t raw_size, size_t *raw_len)
 {
     unsigned char raw_tmp[PSA_VENDOR_ECDSA_SIGNATURE_MAX_SIZE];
     unsigned char *p = (unsigned char *) der;
diff --git a/tests/suites/test_suite_psa_crypto_util.function b/tests/suites/test_suite_psa_crypto_util.function
index 9dc95b6..c102b07 100644
--- a/tests/suites/test_suite_psa_crypto_util.function
+++ b/tests/suites/test_suite_psa_crypto_util.function
@@ -12,9 +12,8 @@
 
     TEST_CALLOC(tmp_buf, tmp_buf_len);
 
-    TEST_EQUAL(mbedtls_ecdsa_raw_to_der(input->x, input->len,
-                                        tmp_buf, tmp_buf_len, &ret_len,
-                                        key_bits), exp_ret);
+    TEST_EQUAL(mbedtls_ecdsa_raw_to_der(key_bits, input->x, input->len,
+                                        tmp_buf, tmp_buf_len, &ret_len), exp_ret);
 
     if (exp_ret == 0) {
         ASSERT_COMPARE(exp_result->x, exp_result->len, tmp_buf, ret_len);
@@ -35,17 +34,15 @@
 
     for (i = 1; i < tmp_buf_len; i++) {
         TEST_CALLOC(tmp_buf, i);
-        TEST_ASSERT(mbedtls_ecdsa_raw_to_der(input->x, input->len,
-                                             tmp_buf, i, &ret_len,
-                                             key_bits) != 0);
+        TEST_ASSERT(mbedtls_ecdsa_raw_to_der(key_bits, input->x, input->len,
+                                             tmp_buf, i, &ret_len) != 0);
         mbedtls_free(tmp_buf);
         tmp_buf = NULL;
     }
 
     TEST_CALLOC(tmp_buf, i);
-    TEST_EQUAL(mbedtls_ecdsa_raw_to_der(input->x, input->len,
-                                        tmp_buf, i, &ret_len,
-                                        key_bits), 0);
+    TEST_EQUAL(mbedtls_ecdsa_raw_to_der(key_bits, input->x, input->len,
+                                        tmp_buf, i, &ret_len), 0);
 exit:
     mbedtls_free(tmp_buf);
 }
@@ -60,9 +57,8 @@
 
     TEST_CALLOC(tmp_buf, tmp_buf_len);
 
-    TEST_EQUAL(mbedtls_ecdsa_der_to_raw(input->x, input->len,
-                                        tmp_buf, tmp_buf_len, &ret_len,
-                                        key_bits), exp_ret);
+    TEST_EQUAL(mbedtls_ecdsa_der_to_raw(key_bits, input->x, input->len,
+                                        tmp_buf, tmp_buf_len, &ret_len), exp_ret);
 
     if (exp_ret == 0) {
         ASSERT_COMPARE(exp_result->x, exp_result->len, tmp_buf, ret_len);