diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/ecdsa/ecs_lib.c | 34 | ||||
| -rw-r--r-- | src/lib/libcrypto/ecdsa/ecs_ossl.c | 34 |
2 files changed, 34 insertions, 34 deletions
diff --git a/src/lib/libcrypto/ecdsa/ecs_lib.c b/src/lib/libcrypto/ecdsa/ecs_lib.c index 477f49a6c2..743d517165 100644 --- a/src/lib/libcrypto/ecdsa/ecs_lib.c +++ b/src/lib/libcrypto/ecdsa/ecs_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecs_lib.c,v 1.21 2023/06/25 19:04:35 tb Exp $ */ | 1 | /* $OpenBSD: ecs_lib.c,v 1.22 2023/06/25 19:33:39 tb Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -103,38 +103,6 @@ ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth) | |||
| 103 | } | 103 | } |
| 104 | 104 | ||
| 105 | int | 105 | int |
| 106 | ECDSA_size(const EC_KEY *r) | ||
| 107 | { | ||
| 108 | BIGNUM *order = NULL; | ||
| 109 | const EC_GROUP *group; | ||
| 110 | ECDSA_SIG signature; | ||
| 111 | int ret = 0; | ||
| 112 | |||
| 113 | if (r == NULL) | ||
| 114 | goto err; | ||
| 115 | |||
| 116 | if ((group = EC_KEY_get0_group(r)) == NULL) | ||
| 117 | goto err; | ||
| 118 | |||
| 119 | if ((order = BN_new()) == NULL) | ||
| 120 | goto err; | ||
| 121 | |||
| 122 | if (!EC_GROUP_get_order(group, order, NULL)) | ||
| 123 | goto err; | ||
| 124 | |||
| 125 | signature.r = order; | ||
| 126 | signature.s = order; | ||
| 127 | |||
| 128 | if ((ret = i2d_ECDSA_SIG(&signature, NULL)) < 0) | ||
| 129 | ret = 0; | ||
| 130 | |||
| 131 | err: | ||
| 132 | BN_free(order); | ||
| 133 | |||
| 134 | return ret; | ||
| 135 | } | ||
| 136 | |||
| 137 | int | ||
| 138 | ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, | 106 | ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, |
| 139 | CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) | 107 | CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) |
| 140 | { | 108 | { |
diff --git a/src/lib/libcrypto/ecdsa/ecs_ossl.c b/src/lib/libcrypto/ecdsa/ecs_ossl.c index 547d3b59e1..251a938e2d 100644 --- a/src/lib/libcrypto/ecdsa/ecs_ossl.c +++ b/src/lib/libcrypto/ecdsa/ecs_ossl.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecs_ossl.c,v 1.36 2023/06/25 19:04:35 tb Exp $ */ | 1 | /* $OpenBSD: ecs_ossl.c,v 1.37 2023/06/25 19:33:39 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Written by Nils Larsch for the OpenSSL project | 3 | * Written by Nils Larsch for the OpenSSL project |
| 4 | */ | 4 | */ |
| @@ -580,3 +580,35 @@ ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, | |||
| 580 | ECDSAerror(EVP_R_METHOD_NOT_SUPPORTED); | 580 | ECDSAerror(EVP_R_METHOD_NOT_SUPPORTED); |
| 581 | return 0; | 581 | return 0; |
| 582 | } | 582 | } |
| 583 | |||
| 584 | int | ||
| 585 | ECDSA_size(const EC_KEY *r) | ||
| 586 | { | ||
| 587 | BIGNUM *order = NULL; | ||
| 588 | const EC_GROUP *group; | ||
| 589 | ECDSA_SIG signature; | ||
| 590 | int ret = 0; | ||
| 591 | |||
| 592 | if (r == NULL) | ||
| 593 | goto err; | ||
| 594 | |||
| 595 | if ((group = EC_KEY_get0_group(r)) == NULL) | ||
| 596 | goto err; | ||
| 597 | |||
| 598 | if ((order = BN_new()) == NULL) | ||
| 599 | goto err; | ||
| 600 | |||
| 601 | if (!EC_GROUP_get_order(group, order, NULL)) | ||
| 602 | goto err; | ||
| 603 | |||
| 604 | signature.r = order; | ||
| 605 | signature.s = order; | ||
| 606 | |||
| 607 | if ((ret = i2d_ECDSA_SIG(&signature, NULL)) < 0) | ||
| 608 | ret = 0; | ||
| 609 | |||
| 610 | err: | ||
| 611 | BN_free(order); | ||
| 612 | |||
| 613 | return ret; | ||
| 614 | } | ||
