summaryrefslogtreecommitdiff
path: root/src/lib/libtls/tls_signer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libtls/tls_signer.c')
-rw-r--r--src/lib/libtls/tls_signer.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/lib/libtls/tls_signer.c b/src/lib/libtls/tls_signer.c
index f6005d3e07..372fa77819 100644
--- a/src/lib/libtls/tls_signer.c
+++ b/src/lib/libtls/tls_signer.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_signer.c,v 1.5 2023/04/09 18:26:26 tb Exp $ */ 1/* $OpenBSD: tls_signer.c,v 1.6 2023/06/18 11:43:03 op Exp $ */
2/* 2/*
3 * Copyright (c) 2021 Eric Faurot <eric@openbsd.org> 3 * Copyright (c) 2021 Eric Faurot <eric@openbsd.org>
4 * 4 *
@@ -419,26 +419,21 @@ tls_ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv,
419 return (NULL); 419 return (NULL);
420} 420}
421 421
422ECDSA_METHOD * 422EC_KEY_METHOD *
423tls_signer_ecdsa_method(void) 423tls_signer_ecdsa_method(void)
424{ 424{
425 static ECDSA_METHOD *ecdsa_method = NULL; 425 static EC_KEY_METHOD *ecdsa_method = NULL;
426 426
427 pthread_mutex_lock(&signer_method_lock); 427 pthread_mutex_lock(&signer_method_lock);
428 428
429 if (ecdsa_method != NULL) 429 if (ecdsa_method != NULL)
430 goto out; 430 goto out;
431 431
432 ecdsa_method = calloc(1, sizeof(*ecdsa_method)); 432 ecdsa_method = EC_KEY_METHOD_new(NULL);
433 if (ecdsa_method == NULL) 433 if (ecdsa_method == NULL)
434 goto out; 434 goto out;
435 435
436 ecdsa_method->ecdsa_do_sign = tls_ecdsa_do_sign; 436 EC_KEY_METHOD_set_sign(ecdsa_method, NULL, NULL, tls_ecdsa_do_sign);
437 ecdsa_method->name = strdup("libtls ECDSA method");
438 if (ecdsa_method->name == NULL) {
439 free(ecdsa_method);
440 ecdsa_method = NULL;
441 }
442 437
443 out: 438 out:
444 pthread_mutex_unlock(&signer_method_lock); 439 pthread_mutex_unlock(&signer_method_lock);