diff options
author | tb <> | 2023-07-05 12:27:36 +0000 |
---|---|---|
committer | tb <> | 2023-07-05 12:27:36 +0000 |
commit | 0d59d140d33bb5069794fde616968ed2e88acb85 (patch) | |
tree | 89c5858de32f1bf21c7729c30e499de079834941 /src/lib | |
parent | 26010e9c7baa4f220e97d24329f0c64fc74430dd (diff) | |
download | openbsd-0d59d140d33bb5069794fde616968ed2e88acb85.tar.gz openbsd-0d59d140d33bb5069794fde616968ed2e88acb85.tar.bz2 openbsd-0d59d140d33bb5069794fde616968ed2e88acb85.zip |
Move ECDSA_size() to a more sensible place in this file
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/ecdsa/ecdsa.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/lib/libcrypto/ecdsa/ecdsa.c b/src/lib/libcrypto/ecdsa/ecdsa.c index c831e9f716..20d605cafd 100644 --- a/src/lib/libcrypto/ecdsa/ecdsa.c +++ b/src/lib/libcrypto/ecdsa/ecdsa.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ecdsa.c,v 1.1 2023/07/05 12:18:21 tb Exp $ */ | 1 | /* $OpenBSD: ecdsa.c,v 1.2 2023/07/05 12:27:36 tb Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -158,6 +158,33 @@ ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) | |||
158 | return 1; | 158 | return 1; |
159 | } | 159 | } |
160 | 160 | ||
161 | int | ||
162 | ECDSA_size(const EC_KEY *r) | ||
163 | { | ||
164 | const EC_GROUP *group; | ||
165 | const BIGNUM *order = NULL; | ||
166 | ECDSA_SIG sig; | ||
167 | int ret = 0; | ||
168 | |||
169 | if (r == NULL) | ||
170 | goto err; | ||
171 | |||
172 | if ((group = EC_KEY_get0_group(r)) == NULL) | ||
173 | goto err; | ||
174 | |||
175 | if ((order = EC_GROUP_get0_order(group)) == NULL) | ||
176 | goto err; | ||
177 | |||
178 | sig.r = (BIGNUM *)order; | ||
179 | sig.s = (BIGNUM *)order; | ||
180 | |||
181 | if ((ret = i2d_ECDSA_SIG(&sig, NULL)) < 0) | ||
182 | ret = 0; | ||
183 | |||
184 | err: | ||
185 | return ret; | ||
186 | } | ||
187 | |||
161 | /* | 188 | /* |
162 | * FIPS 186-5, section 6.4.1, step 2: convert hashed message into an integer. | 189 | * FIPS 186-5, section 6.4.1, step 2: convert hashed message into an integer. |
163 | * Use the order_bits leftmost bits if it exceeds the group order. | 190 | * Use the order_bits leftmost bits if it exceeds the group order. |
@@ -792,30 +819,3 @@ ECDSA_verify(int type, const unsigned char *digest, int digest_len, | |||
792 | } | 819 | } |
793 | return key->meth->verify(type, digest, digest_len, sigbuf, sig_len, key); | 820 | return key->meth->verify(type, digest, digest_len, sigbuf, sig_len, key); |
794 | } | 821 | } |
795 | |||
796 | int | ||
797 | ECDSA_size(const EC_KEY *r) | ||
798 | { | ||
799 | const EC_GROUP *group; | ||
800 | const BIGNUM *order = NULL; | ||
801 | ECDSA_SIG sig; | ||
802 | int ret = 0; | ||
803 | |||
804 | if (r == NULL) | ||
805 | goto err; | ||
806 | |||
807 | if ((group = EC_KEY_get0_group(r)) == NULL) | ||
808 | goto err; | ||
809 | |||
810 | if ((order = EC_GROUP_get0_order(group)) == NULL) | ||
811 | goto err; | ||
812 | |||
813 | sig.r = (BIGNUM *)order; | ||
814 | sig.s = (BIGNUM *)order; | ||
815 | |||
816 | if ((ret = i2d_ECDSA_SIG(&sig, NULL)) < 0) | ||
817 | ret = 0; | ||
818 | |||
819 | err: | ||
820 | return ret; | ||
821 | } | ||