From 334ef59c6239caee2505b7e36596942ad636e63f Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 27 Feb 2022 11:10:18 -0500 Subject: tls_signer: Replace ECDSA_METHOD with EC_KEY_METHOD --- tls_signer.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'tls_signer.c') diff --git a/tls_signer.c b/tls_signer.c index 1f11096..9311cfe 100644 --- a/tls_signer.c +++ b/tls_signer.c @@ -16,6 +16,7 @@ */ #include +#include #include #include @@ -396,8 +397,8 @@ tls_ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, * to its calling convention/signature. */ - pubkey_hash = ECDSA_get_ex_data(eckey, 0); - config = ECDSA_get_ex_data(eckey, 1); + pubkey_hash = EC_KEY_get_ex_data(eckey, 0); + config = EC_KEY_get_ex_data(eckey, 1); if (pubkey_hash == NULL || config == NULL) goto err; @@ -423,26 +424,21 @@ tls_ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, return (NULL); } -ECDSA_METHOD * +EC_KEY_METHOD * tls_signer_ecdsa_method(void) { - static ECDSA_METHOD *ecdsa_method = NULL; + static EC_KEY_METHOD *ecdsa_method = NULL; pthread_mutex_lock(&signer_method_lock); if (ecdsa_method != NULL) goto out; - ecdsa_method = calloc(1, sizeof(*ecdsa_method)); + ecdsa_method = EC_KEY_METHOD_new(NULL); if (ecdsa_method == NULL) goto out; - ecdsa_method->ecdsa_do_sign = tls_ecdsa_do_sign; - ecdsa_method->name = strdup("libtls ECDSA method"); - if (ecdsa_method->name == NULL) { - free(ecdsa_method); - ecdsa_method = NULL; - } + EC_KEY_METHOD_set_sign(ecdsa_method, NULL, NULL, tls_ecdsa_do_sign); out: pthread_mutex_unlock(&signer_method_lock); -- cgit 1.4.1