diff options
Diffstat (limited to 'src/lib/libtls/tls_signer.c')
-rw-r--r-- | src/lib/libtls/tls_signer.c | 15 |
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 | ||
422 | ECDSA_METHOD * | 422 | EC_KEY_METHOD * |
423 | tls_signer_ecdsa_method(void) | 423 | tls_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); |