pk_wrap: re-use identical functions for eckey and ecdsa when possible
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/library/pk_wrap.c b/library/pk_wrap.c
index 2415b16..b568b71 100644
--- a/library/pk_wrap.c
+++ b/library/pk_wrap.c
@@ -631,33 +631,6 @@
unsigned char *sig, size_t sig_size, size_t *sig_len,
int (*f_rng)(void *, unsigned char *, size_t), void *p_rng);
-static int eckey_verify_wrap(void *ctx, mbedtls_md_type_t md_alg,
- const unsigned char *hash, size_t hash_len,
- const unsigned char *sig, size_t sig_len)
-{
- int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
- mbedtls_ecp_keypair *keypair_ctx = ctx;
-
- ret = ecdsa_verify_wrap(keypair_ctx, md_alg, hash, hash_len, sig, sig_len);
-
- return ret;
-}
-
-static int eckey_sign_wrap(void *ctx, mbedtls_md_type_t md_alg,
- const unsigned char *hash, size_t hash_len,
- unsigned char *sig, size_t sig_size, size_t *sig_len,
- int (*f_rng)(void *, unsigned char *, size_t), void *p_rng)
-{
- int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
- mbedtls_ecp_keypair *keypair_ctx = ctx;
-
- ret = ecdsa_sign_wrap(keypair_ctx, md_alg, hash, hash_len,
- sig, sig_size, sig_len,
- f_rng, p_rng);
-
- return ret;
-}
-
#if defined(MBEDTLS_ECP_RESTARTABLE)
/* Forward declarations */
static int ecdsa_verify_rs_wrap(void *ctx, mbedtls_md_type_t md_alg,
@@ -806,8 +779,8 @@
eckey_get_bitlen,
eckey_can_do,
#if defined(MBEDTLS_PK_CAN_ECDSA_SOME)
- eckey_verify_wrap,
- eckey_sign_wrap,
+ ecdsa_verify_wrap, /* Compatible key structures */
+ ecdsa_sign_wrap, /* Compatible key structures */
#if defined(MBEDTLS_ECP_RESTARTABLE)
eckey_verify_rs_wrap,
eckey_sign_rs_wrap,
@@ -1287,23 +1260,6 @@
}
#endif /* MBEDTLS_ECP_RESTARTABLE */
-static void *ecdsa_alloc_wrap(void)
-{
- void *ctx = mbedtls_calloc(1, sizeof(mbedtls_ecp_keypair));
-
- if (ctx != NULL) {
- mbedtls_ecp_keypair_init((mbedtls_ecp_keypair *) ctx);
- }
-
- return ctx;
-}
-
-static void ecdsa_free_wrap(void *ctx)
-{
- mbedtls_ecp_keypair_free((mbedtls_ecp_keypair *) ctx);
- mbedtls_free(ctx);
-}
-
#if defined(MBEDTLS_ECP_RESTARTABLE)
static void *ecdsa_rs_alloc(void)
{
@@ -1337,8 +1293,8 @@
NULL,
NULL,
eckey_check_pair, /* Compatible key structures */
- ecdsa_alloc_wrap,
- ecdsa_free_wrap,
+ eckey_alloc_wrap, /* Compatible key structures */
+ eckey_free_wrap, /* Compatible key structures */
#if defined(MBEDTLS_ECP_RESTARTABLE)
ecdsa_rs_alloc,
ecdsa_rs_free,