diff options
Diffstat (limited to 'src/lib/libcrypto/engine')
-rw-r--r-- | src/lib/libcrypto/engine/eng_fat.c | 11 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/eng_int.h | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/eng_list.c | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/eng_openssl.c | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/engine.h | 14 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/tb_ecdsa.c | 127 |
6 files changed, 5 insertions, 160 deletions
diff --git a/src/lib/libcrypto/engine/eng_fat.c b/src/lib/libcrypto/engine/eng_fat.c index baf1a54883..cf49c99bb4 100644 --- a/src/lib/libcrypto/engine/eng_fat.c +++ b/src/lib/libcrypto/engine/eng_fat.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: eng_fat.c,v 1.17 2019/01/19 01:07:00 tb Exp $ */ | 1 | /* $OpenBSD: eng_fat.c,v 1.18 2023/07/28 09:08:31 tb Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -89,10 +89,6 @@ ENGINE_set_default(ENGINE *e, unsigned int flags) | |||
89 | if ((flags & ENGINE_METHOD_ECDH) && !ENGINE_set_default_ECDH(e)) | 89 | if ((flags & ENGINE_METHOD_ECDH) && !ENGINE_set_default_ECDH(e)) |
90 | return 0; | 90 | return 0; |
91 | #endif | 91 | #endif |
92 | #ifndef OPENSSL_NO_ECDSA | ||
93 | if ((flags & ENGINE_METHOD_ECDSA) && !ENGINE_set_default_ECDSA(e)) | ||
94 | return 0; | ||
95 | #endif | ||
96 | #ifndef OPENSSL_NO_EC | 92 | #ifndef OPENSSL_NO_EC |
97 | if ((flags & ENGINE_METHOD_EC) && !ENGINE_set_default_EC(e)) | 93 | if ((flags & ENGINE_METHOD_EC) && !ENGINE_set_default_EC(e)) |
98 | return 0; | 94 | return 0; |
@@ -123,8 +119,6 @@ int_def_cb(const char *alg, int len, void *arg) | |||
123 | *pflags |= ENGINE_METHOD_DSA; | 119 | *pflags |= ENGINE_METHOD_DSA; |
124 | else if (!strncmp(alg, "ECDH", len)) | 120 | else if (!strncmp(alg, "ECDH", len)) |
125 | *pflags |= ENGINE_METHOD_ECDH; | 121 | *pflags |= ENGINE_METHOD_ECDH; |
126 | else if (!strncmp(alg, "ECDSA", len)) | ||
127 | *pflags |= ENGINE_METHOD_ECDSA; | ||
128 | else if (!strncmp(alg, "DH", len)) | 122 | else if (!strncmp(alg, "DH", len)) |
129 | *pflags |= ENGINE_METHOD_DH; | 123 | *pflags |= ENGINE_METHOD_DH; |
130 | else if (strncmp(alg, "EC", len) == 0) | 124 | else if (strncmp(alg, "EC", len) == 0) |
@@ -177,9 +171,6 @@ ENGINE_register_complete(ENGINE *e) | |||
177 | #ifndef OPENSSL_NO_ECDH | 171 | #ifndef OPENSSL_NO_ECDH |
178 | ENGINE_register_ECDH(e); | 172 | ENGINE_register_ECDH(e); |
179 | #endif | 173 | #endif |
180 | #ifndef OPENSSL_NO_ECDSA | ||
181 | ENGINE_register_ECDSA(e); | ||
182 | #endif | ||
183 | #ifndef OPENSSL_NO_EC | 174 | #ifndef OPENSSL_NO_EC |
184 | ENGINE_register_EC(e); | 175 | ENGINE_register_EC(e); |
185 | #endif | 176 | #endif |
diff --git a/src/lib/libcrypto/engine/eng_int.h b/src/lib/libcrypto/engine/eng_int.h index 298c0e327f..ad504a5a2b 100644 --- a/src/lib/libcrypto/engine/eng_int.h +++ b/src/lib/libcrypto/engine/eng_int.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: eng_int.h,v 1.10 2019/01/19 01:07:00 tb Exp $ */ | 1 | /* $OpenBSD: eng_int.h,v 1.11 2023/07/28 09:08:31 tb Exp $ */ |
2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
3 | * project 2000. | 3 | * project 2000. |
4 | */ | 4 | */ |
@@ -158,7 +158,6 @@ struct engine_st { | |||
158 | const DSA_METHOD *dsa_meth; | 158 | const DSA_METHOD *dsa_meth; |
159 | const DH_METHOD *dh_meth; | 159 | const DH_METHOD *dh_meth; |
160 | const ECDH_METHOD *ecdh_meth; | 160 | const ECDH_METHOD *ecdh_meth; |
161 | const ECDSA_METHOD *ecdsa_meth; | ||
162 | const EC_KEY_METHOD *ec_meth; | 161 | const EC_KEY_METHOD *ec_meth; |
163 | const RAND_METHOD *rand_meth; | 162 | const RAND_METHOD *rand_meth; |
164 | const STORE_METHOD *store_meth; | 163 | const STORE_METHOD *store_meth; |
diff --git a/src/lib/libcrypto/engine/eng_list.c b/src/lib/libcrypto/engine/eng_list.c index 451c8616ef..e460e71136 100644 --- a/src/lib/libcrypto/engine/eng_list.c +++ b/src/lib/libcrypto/engine/eng_list.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: eng_list.c,v 1.25 2022/12/26 07:18:51 jmc Exp $ */ | 1 | /* $OpenBSD: eng_list.c,v 1.26 2023/07/28 09:08:31 tb Exp $ */ |
2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
3 | * project 2000. | 3 | * project 2000. |
4 | */ | 4 | */ |
@@ -313,9 +313,6 @@ engine_cpy(ENGINE *dest, const ENGINE *src) | |||
313 | #ifndef OPENSSL_NO_ECDH | 313 | #ifndef OPENSSL_NO_ECDH |
314 | dest->ecdh_meth = src->ecdh_meth; | 314 | dest->ecdh_meth = src->ecdh_meth; |
315 | #endif | 315 | #endif |
316 | #ifndef OPENSSL_NO_ECDSA | ||
317 | dest->ecdsa_meth = src->ecdsa_meth; | ||
318 | #endif | ||
319 | #ifndef OPENSSL_NO_EC | 316 | #ifndef OPENSSL_NO_EC |
320 | dest->ec_meth = src->ec_meth; | 317 | dest->ec_meth = src->ec_meth; |
321 | #endif | 318 | #endif |
diff --git a/src/lib/libcrypto/engine/eng_openssl.c b/src/lib/libcrypto/engine/eng_openssl.c index 4e0f144e81..7abb6114bc 100644 --- a/src/lib/libcrypto/engine/eng_openssl.c +++ b/src/lib/libcrypto/engine/eng_openssl.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: eng_openssl.c,v 1.17 2023/07/20 15:08:12 tb Exp $ */ | 1 | /* $OpenBSD: eng_openssl.c,v 1.18 2023/07/28 09:08:31 tb Exp $ */ |
2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
3 | * project 2000. | 3 | * project 2000. |
4 | */ | 4 | */ |
@@ -149,9 +149,6 @@ bind_helper(ENGINE *e) | |||
149 | #ifndef OPENSSL_NO_ECDH | 149 | #ifndef OPENSSL_NO_ECDH |
150 | || !ENGINE_set_ECDH(e, ECDH_OpenSSL()) | 150 | || !ENGINE_set_ECDH(e, ECDH_OpenSSL()) |
151 | #endif | 151 | #endif |
152 | #ifndef OPENSSL_NO_ECDSA | ||
153 | || !ENGINE_set_ECDSA(e, ECDSA_OpenSSL()) | ||
154 | #endif | ||
155 | #ifndef OPENSSL_NO_DH | 152 | #ifndef OPENSSL_NO_DH |
156 | || !ENGINE_set_DH(e, DH_get_default_method()) | 153 | || !ENGINE_set_DH(e, DH_get_default_method()) |
157 | #endif | 154 | #endif |
diff --git a/src/lib/libcrypto/engine/engine.h b/src/lib/libcrypto/engine/engine.h index 156c2f856c..dbc3718dca 100644 --- a/src/lib/libcrypto/engine/engine.h +++ b/src/lib/libcrypto/engine/engine.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: engine.h,v 1.39 2023/07/21 09:04:23 tb Exp $ */ | 1 | /* $OpenBSD: engine.h,v 1.40 2023/07/28 09:08:31 tb Exp $ */ |
2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
3 | * project 2000. | 3 | * project 2000. |
4 | */ | 4 | */ |
@@ -79,9 +79,6 @@ | |||
79 | #ifndef OPENSSL_NO_ECDH | 79 | #ifndef OPENSSL_NO_ECDH |
80 | #include <openssl/ecdh.h> | 80 | #include <openssl/ecdh.h> |
81 | #endif | 81 | #endif |
82 | #ifndef OPENSSL_NO_ECDSA | ||
83 | #include <openssl/ecdsa.h> | ||
84 | #endif | ||
85 | #include <openssl/err.h> | 82 | #include <openssl/err.h> |
86 | #ifndef OPENSSL_NO_RSA | 83 | #ifndef OPENSSL_NO_RSA |
87 | #include <openssl/rsa.h> | 84 | #include <openssl/rsa.h> |
@@ -102,7 +99,6 @@ extern "C" { | |||
102 | #define ENGINE_METHOD_DH (unsigned int)0x0004 | 99 | #define ENGINE_METHOD_DH (unsigned int)0x0004 |
103 | #define ENGINE_METHOD_RAND (unsigned int)0x0008 | 100 | #define ENGINE_METHOD_RAND (unsigned int)0x0008 |
104 | #define ENGINE_METHOD_ECDH (unsigned int)0x0010 | 101 | #define ENGINE_METHOD_ECDH (unsigned int)0x0010 |
105 | #define ENGINE_METHOD_ECDSA (unsigned int)0x0020 | ||
106 | #define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 | 102 | #define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 |
107 | #define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 | 103 | #define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 |
108 | #define ENGINE_METHOD_STORE (unsigned int)0x0100 | 104 | #define ENGINE_METHOD_STORE (unsigned int)0x0100 |
@@ -383,10 +379,6 @@ int ENGINE_register_ECDH(ENGINE *e); | |||
383 | void ENGINE_unregister_ECDH(ENGINE *e); | 379 | void ENGINE_unregister_ECDH(ENGINE *e); |
384 | void ENGINE_register_all_ECDH(void); | 380 | void ENGINE_register_all_ECDH(void); |
385 | 381 | ||
386 | int ENGINE_register_ECDSA(ENGINE *e); | ||
387 | void ENGINE_unregister_ECDSA(ENGINE *e); | ||
388 | void ENGINE_register_all_ECDSA(void); | ||
389 | |||
390 | int ENGINE_register_EC(ENGINE *e); | 382 | int ENGINE_register_EC(ENGINE *e); |
391 | void ENGINE_unregister_EC(ENGINE *e); | 383 | void ENGINE_unregister_EC(ENGINE *e); |
392 | void ENGINE_register_all_EC(void); | 384 | void ENGINE_register_all_EC(void); |
@@ -484,7 +476,6 @@ int ENGINE_set_name(ENGINE *e, const char *name); | |||
484 | int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); | 476 | int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); |
485 | int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); | 477 | int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); |
486 | int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); | 478 | int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); |
487 | int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth); | ||
488 | int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ec_meth); | 479 | int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ec_meth); |
489 | int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); | 480 | int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); |
490 | int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); | 481 | int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); |
@@ -524,7 +515,6 @@ const char *ENGINE_get_name(const ENGINE *e); | |||
524 | const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); | 515 | const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); |
525 | const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); | 516 | const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); |
526 | const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); | 517 | const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); |
527 | const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e); | ||
528 | const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e); | 518 | const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e); |
529 | const DH_METHOD *ENGINE_get_DH(const ENGINE *e); | 519 | const DH_METHOD *ENGINE_get_DH(const ENGINE *e); |
530 | const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); | 520 | const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); |
@@ -592,7 +582,6 @@ ENGINE *ENGINE_get_default_RSA(void); | |||
592 | /* Same for the other "methods" */ | 582 | /* Same for the other "methods" */ |
593 | ENGINE *ENGINE_get_default_DSA(void); | 583 | ENGINE *ENGINE_get_default_DSA(void); |
594 | ENGINE *ENGINE_get_default_ECDH(void); | 584 | ENGINE *ENGINE_get_default_ECDH(void); |
595 | ENGINE *ENGINE_get_default_ECDSA(void); | ||
596 | ENGINE *ENGINE_get_default_EC(void); | 585 | ENGINE *ENGINE_get_default_EC(void); |
597 | ENGINE *ENGINE_get_default_DH(void); | 586 | ENGINE *ENGINE_get_default_DH(void); |
598 | ENGINE *ENGINE_get_default_RAND(void); | 587 | ENGINE *ENGINE_get_default_RAND(void); |
@@ -612,7 +601,6 @@ int ENGINE_set_default_string(ENGINE *e, const char *def_list); | |||
612 | /* Same for the other "methods" */ | 601 | /* Same for the other "methods" */ |
613 | int ENGINE_set_default_DSA(ENGINE *e); | 602 | int ENGINE_set_default_DSA(ENGINE *e); |
614 | int ENGINE_set_default_ECDH(ENGINE *e); | 603 | int ENGINE_set_default_ECDH(ENGINE *e); |
615 | int ENGINE_set_default_ECDSA(ENGINE *e); | ||
616 | int ENGINE_set_default_EC(ENGINE *e); | 604 | int ENGINE_set_default_EC(ENGINE *e); |
617 | int ENGINE_set_default_DH(ENGINE *e); | 605 | int ENGINE_set_default_DH(ENGINE *e); |
618 | int ENGINE_set_default_RAND(ENGINE *e); | 606 | int ENGINE_set_default_RAND(ENGINE *e); |
diff --git a/src/lib/libcrypto/engine/tb_ecdsa.c b/src/lib/libcrypto/engine/tb_ecdsa.c deleted file mode 100644 index 226b76e185..0000000000 --- a/src/lib/libcrypto/engine/tb_ecdsa.c +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /* $OpenBSD: tb_ecdsa.c,v 1.4 2014/06/12 15:49:29 deraadt Exp $ */ | ||
2 | /* ==================================================================== | ||
3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * 1. Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * 2. Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * 3. All advertising materials mentioning features or use of this | ||
18 | * software must display the following acknowledgment: | ||
19 | * "This product includes software developed by the OpenSSL Project | ||
20 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" | ||
21 | * | ||
22 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to | ||
23 | * endorse or promote products derived from this software without | ||
24 | * prior written permission. For written permission, please contact | ||
25 | * licensing@OpenSSL.org. | ||
26 | * | ||
27 | * 5. Products derived from this software may not be called "OpenSSL" | ||
28 | * nor may "OpenSSL" appear in their names without prior written | ||
29 | * permission of the OpenSSL Project. | ||
30 | * | ||
31 | * 6. Redistributions of any form whatsoever must retain the following | ||
32 | * acknowledgment: | ||
33 | * "This product includes software developed by the OpenSSL Project | ||
34 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" | ||
35 | * | ||
36 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY | ||
37 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
38 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
39 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR | ||
40 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
41 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
42 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
43 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
44 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
45 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
46 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
47 | * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
48 | * ==================================================================== | ||
49 | * | ||
50 | * This product includes cryptographic software written by Eric Young | ||
51 | * (eay@cryptsoft.com). This product includes software written by Tim | ||
52 | * Hudson (tjh@cryptsoft.com). | ||
53 | * | ||
54 | */ | ||
55 | |||
56 | #include "eng_int.h" | ||
57 | |||
58 | /* If this symbol is defined then ENGINE_get_default_ECDSA(), the function that is | ||
59 | * used by ECDSA to hook in implementation code and cache defaults (etc), will | ||
60 | * display brief debugging summaries to stderr with the 'nid'. */ | ||
61 | /* #define ENGINE_ECDSA_DEBUG */ | ||
62 | |||
63 | static ENGINE_TABLE *ecdsa_table = NULL; | ||
64 | static const int dummy_nid = 1; | ||
65 | |||
66 | void | ||
67 | ENGINE_unregister_ECDSA(ENGINE *e) | ||
68 | { | ||
69 | engine_table_unregister(&ecdsa_table, e); | ||
70 | } | ||
71 | |||
72 | static void | ||
73 | engine_unregister_all_ECDSA(void) | ||
74 | { | ||
75 | engine_table_cleanup(&ecdsa_table); | ||
76 | } | ||
77 | |||
78 | int | ||
79 | ENGINE_register_ECDSA(ENGINE *e) | ||
80 | { | ||
81 | if (e->ecdsa_meth) | ||
82 | return engine_table_register(&ecdsa_table, | ||
83 | engine_unregister_all_ECDSA, e, &dummy_nid, 1, 0); | ||
84 | return 1; | ||
85 | } | ||
86 | |||
87 | void | ||
88 | ENGINE_register_all_ECDSA(void) | ||
89 | { | ||
90 | ENGINE *e; | ||
91 | |||
92 | for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) | ||
93 | ENGINE_register_ECDSA(e); | ||
94 | } | ||
95 | |||
96 | int | ||
97 | ENGINE_set_default_ECDSA(ENGINE *e) | ||
98 | { | ||
99 | if (e->ecdsa_meth) | ||
100 | return engine_table_register(&ecdsa_table, | ||
101 | engine_unregister_all_ECDSA, e, &dummy_nid, 1, 1); | ||
102 | return 1; | ||
103 | } | ||
104 | |||
105 | /* Exposed API function to get a functional reference from the implementation | ||
106 | * table (ie. try to get a functional reference from the tabled structural | ||
107 | * references). */ | ||
108 | ENGINE * | ||
109 | ENGINE_get_default_ECDSA(void) | ||
110 | { | ||
111 | return engine_table_select(&ecdsa_table, dummy_nid); | ||
112 | } | ||
113 | |||
114 | /* Obtains an ECDSA implementation from an ENGINE functional reference */ | ||
115 | const ECDSA_METHOD * | ||
116 | ENGINE_get_ECDSA(const ENGINE *e) | ||
117 | { | ||
118 | return e->ecdsa_meth; | ||
119 | } | ||
120 | |||
121 | /* Sets an ECDSA implementation in an ENGINE structure */ | ||
122 | int | ||
123 | ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth) | ||
124 | { | ||
125 | e->ecdsa_meth = ecdsa_meth; | ||
126 | return 1; | ||
127 | } | ||