]>
Commit | Line | Data |
---|---|---|
861b8f87 | 1 | /* |
f552d900 | 2 | * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. |
861b8f87 MC |
3 | * |
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use | |
5 | * this file except in compliance with the License. You can obtain a copy | |
6 | * in the file LICENSE in the source distribution or at | |
7 | * https://www.openssl.org/source/license.html | |
8 | */ | |
9 | ||
714a1bb3 P |
10 | #include <openssl/core.h> |
11 | #include <openssl/types.h> | |
12 | ||
861b8f87 | 13 | /* Digests */ |
1be63951 P |
14 | extern const OSSL_DISPATCH ossl_sha1_functions[]; |
15 | extern const OSSL_DISPATCH ossl_sha224_functions[]; | |
16 | extern const OSSL_DISPATCH ossl_sha256_functions[]; | |
17 | extern const OSSL_DISPATCH ossl_sha384_functions[]; | |
18 | extern const OSSL_DISPATCH ossl_sha512_functions[]; | |
19 | extern const OSSL_DISPATCH ossl_sha512_224_functions[]; | |
20 | extern const OSSL_DISPATCH ossl_sha512_256_functions[]; | |
21 | extern const OSSL_DISPATCH ossl_sha3_224_functions[]; | |
22 | extern const OSSL_DISPATCH ossl_sha3_256_functions[]; | |
23 | extern const OSSL_DISPATCH ossl_sha3_384_functions[]; | |
24 | extern const OSSL_DISPATCH ossl_sha3_512_functions[]; | |
25 | extern const OSSL_DISPATCH ossl_keccak_kmac_128_functions[]; | |
26 | extern const OSSL_DISPATCH ossl_keccak_kmac_256_functions[]; | |
27 | extern const OSSL_DISPATCH ossl_shake_128_functions[]; | |
28 | extern const OSSL_DISPATCH ossl_shake_256_functions[]; | |
29 | extern const OSSL_DISPATCH ossl_blake2s256_functions[]; | |
30 | extern const OSSL_DISPATCH ossl_blake2b512_functions[]; | |
31 | extern const OSSL_DISPATCH ossl_md5_functions[]; | |
32 | extern const OSSL_DISPATCH ossl_md5_sha1_functions[]; | |
33 | extern const OSSL_DISPATCH ossl_sm3_functions[]; | |
34 | extern const OSSL_DISPATCH ossl_md2_functions[]; | |
35 | extern const OSSL_DISPATCH ossl_md4_functions[]; | |
36 | extern const OSSL_DISPATCH ossl_mdc2_functions[]; | |
37 | extern const OSSL_DISPATCH ossl_wp_functions[]; | |
38 | extern const OSSL_DISPATCH ossl_ripemd160_functions[]; | |
861b8f87 MC |
39 | |
40 | /* Ciphers */ | |
1be63951 P |
41 | extern const OSSL_DISPATCH ossl_null_functions[]; |
42 | extern const OSSL_DISPATCH ossl_aes256ecb_functions[]; | |
43 | extern const OSSL_DISPATCH ossl_aes192ecb_functions[]; | |
44 | extern const OSSL_DISPATCH ossl_aes128ecb_functions[]; | |
45 | extern const OSSL_DISPATCH ossl_aes256cbc_functions[]; | |
46 | extern const OSSL_DISPATCH ossl_aes192cbc_functions[]; | |
47 | extern const OSSL_DISPATCH ossl_aes128cbc_functions[]; | |
48 | extern const OSSL_DISPATCH ossl_aes256cbc_cts_functions[]; | |
49 | extern const OSSL_DISPATCH ossl_aes192cbc_cts_functions[]; | |
50 | extern const OSSL_DISPATCH ossl_aes128cbc_cts_functions[]; | |
51 | extern const OSSL_DISPATCH ossl_aes256ofb_functions[]; | |
52 | extern const OSSL_DISPATCH ossl_aes192ofb_functions[]; | |
53 | extern const OSSL_DISPATCH ossl_aes128ofb_functions[]; | |
54 | extern const OSSL_DISPATCH ossl_aes256cfb_functions[]; | |
55 | extern const OSSL_DISPATCH ossl_aes192cfb_functions[]; | |
56 | extern const OSSL_DISPATCH ossl_aes128cfb_functions[]; | |
57 | extern const OSSL_DISPATCH ossl_aes256cfb1_functions[]; | |
58 | extern const OSSL_DISPATCH ossl_aes192cfb1_functions[]; | |
59 | extern const OSSL_DISPATCH ossl_aes128cfb1_functions[]; | |
60 | extern const OSSL_DISPATCH ossl_aes256cfb8_functions[]; | |
61 | extern const OSSL_DISPATCH ossl_aes192cfb8_functions[]; | |
62 | extern const OSSL_DISPATCH ossl_aes128cfb8_functions[]; | |
63 | extern const OSSL_DISPATCH ossl_aes256ctr_functions[]; | |
64 | extern const OSSL_DISPATCH ossl_aes192ctr_functions[]; | |
65 | extern const OSSL_DISPATCH ossl_aes128ctr_functions[]; | |
66 | extern const OSSL_DISPATCH ossl_aes256xts_functions[]; | |
67 | extern const OSSL_DISPATCH ossl_aes128xts_functions[]; | |
3837c202 | 68 | #ifndef OPENSSL_NO_OCB |
1be63951 P |
69 | extern const OSSL_DISPATCH ossl_aes256ocb_functions[]; |
70 | extern const OSSL_DISPATCH ossl_aes192ocb_functions[]; | |
71 | extern const OSSL_DISPATCH ossl_aes128ocb_functions[]; | |
3837c202 | 72 | #endif /* OPENSSL_NO_OCB */ |
1be63951 P |
73 | extern const OSSL_DISPATCH ossl_aes256gcm_functions[]; |
74 | extern const OSSL_DISPATCH ossl_aes192gcm_functions[]; | |
75 | extern const OSSL_DISPATCH ossl_aes128gcm_functions[]; | |
76 | extern const OSSL_DISPATCH ossl_aes256ccm_functions[]; | |
77 | extern const OSSL_DISPATCH ossl_aes192ccm_functions[]; | |
78 | extern const OSSL_DISPATCH ossl_aes128ccm_functions[]; | |
79 | extern const OSSL_DISPATCH ossl_aes256wrap_functions[]; | |
80 | extern const OSSL_DISPATCH ossl_aes192wrap_functions[]; | |
81 | extern const OSSL_DISPATCH ossl_aes128wrap_functions[]; | |
82 | extern const OSSL_DISPATCH ossl_aes256wrappad_functions[]; | |
83 | extern const OSSL_DISPATCH ossl_aes192wrappad_functions[]; | |
84 | extern const OSSL_DISPATCH ossl_aes128wrappad_functions[]; | |
8ea761bf SL |
85 | extern const OSSL_DISPATCH ossl_aes256wrapinv_functions[]; |
86 | extern const OSSL_DISPATCH ossl_aes192wrapinv_functions[]; | |
87 | extern const OSSL_DISPATCH ossl_aes128wrapinv_functions[]; | |
88 | extern const OSSL_DISPATCH ossl_aes256wrappadinv_functions[]; | |
89 | extern const OSSL_DISPATCH ossl_aes192wrappadinv_functions[]; | |
90 | extern const OSSL_DISPATCH ossl_aes128wrappadinv_functions[]; | |
1be63951 P |
91 | extern const OSSL_DISPATCH ossl_aes256cbc_hmac_sha1_functions[]; |
92 | extern const OSSL_DISPATCH ossl_aes128cbc_hmac_sha1_functions[]; | |
93 | extern const OSSL_DISPATCH ossl_aes256cbc_hmac_sha256_functions[]; | |
94 | extern const OSSL_DISPATCH ossl_aes128cbc_hmac_sha256_functions[]; | |
ca392b29 | 95 | |
a672a02a | 96 | #ifndef OPENSSL_NO_ARIA |
1be63951 P |
97 | extern const OSSL_DISPATCH ossl_aria256gcm_functions[]; |
98 | extern const OSSL_DISPATCH ossl_aria192gcm_functions[]; | |
99 | extern const OSSL_DISPATCH ossl_aria128gcm_functions[]; | |
100 | extern const OSSL_DISPATCH ossl_aria256ccm_functions[]; | |
101 | extern const OSSL_DISPATCH ossl_aria192ccm_functions[]; | |
102 | extern const OSSL_DISPATCH ossl_aria128ccm_functions[]; | |
103 | extern const OSSL_DISPATCH ossl_aria256ecb_functions[]; | |
104 | extern const OSSL_DISPATCH ossl_aria192ecb_functions[]; | |
105 | extern const OSSL_DISPATCH ossl_aria128ecb_functions[]; | |
106 | extern const OSSL_DISPATCH ossl_aria256cbc_functions[]; | |
107 | extern const OSSL_DISPATCH ossl_aria192cbc_functions[]; | |
108 | extern const OSSL_DISPATCH ossl_aria128cbc_functions[]; | |
109 | extern const OSSL_DISPATCH ossl_aria256ofb_functions[]; | |
110 | extern const OSSL_DISPATCH ossl_aria192ofb_functions[]; | |
111 | extern const OSSL_DISPATCH ossl_aria128ofb_functions[]; | |
112 | extern const OSSL_DISPATCH ossl_aria256cfb_functions[]; | |
113 | extern const OSSL_DISPATCH ossl_aria192cfb_functions[]; | |
114 | extern const OSSL_DISPATCH ossl_aria128cfb_functions[]; | |
115 | extern const OSSL_DISPATCH ossl_aria256cfb1_functions[]; | |
116 | extern const OSSL_DISPATCH ossl_aria192cfb1_functions[]; | |
117 | extern const OSSL_DISPATCH ossl_aria128cfb1_functions[]; | |
118 | extern const OSSL_DISPATCH ossl_aria256cfb8_functions[]; | |
119 | extern const OSSL_DISPATCH ossl_aria192cfb8_functions[]; | |
120 | extern const OSSL_DISPATCH ossl_aria128cfb8_functions[]; | |
121 | extern const OSSL_DISPATCH ossl_aria256ctr_functions[]; | |
122 | extern const OSSL_DISPATCH ossl_aria192ctr_functions[]; | |
123 | extern const OSSL_DISPATCH ossl_aria128ctr_functions[]; | |
a672a02a | 124 | #endif /* OPENSSL_NO_ARIA */ |
e1178600 | 125 | #ifndef OPENSSL_NO_CAMELLIA |
1be63951 P |
126 | extern const OSSL_DISPATCH ossl_camellia256ecb_functions[]; |
127 | extern const OSSL_DISPATCH ossl_camellia192ecb_functions[]; | |
128 | extern const OSSL_DISPATCH ossl_camellia128ecb_functions[]; | |
129 | extern const OSSL_DISPATCH ossl_camellia256cbc_functions[]; | |
130 | extern const OSSL_DISPATCH ossl_camellia192cbc_functions[]; | |
131 | extern const OSSL_DISPATCH ossl_camellia128cbc_functions[]; | |
132 | extern const OSSL_DISPATCH ossl_camellia256ofb_functions[]; | |
133 | extern const OSSL_DISPATCH ossl_camellia192ofb_functions[]; | |
134 | extern const OSSL_DISPATCH ossl_camellia128ofb_functions[]; | |
135 | extern const OSSL_DISPATCH ossl_camellia256cfb_functions[]; | |
136 | extern const OSSL_DISPATCH ossl_camellia192cfb_functions[]; | |
137 | extern const OSSL_DISPATCH ossl_camellia128cfb_functions[]; | |
138 | extern const OSSL_DISPATCH ossl_camellia256cfb1_functions[]; | |
139 | extern const OSSL_DISPATCH ossl_camellia192cfb1_functions[]; | |
140 | extern const OSSL_DISPATCH ossl_camellia128cfb1_functions[]; | |
141 | extern const OSSL_DISPATCH ossl_camellia256cfb8_functions[]; | |
142 | extern const OSSL_DISPATCH ossl_camellia192cfb8_functions[]; | |
143 | extern const OSSL_DISPATCH ossl_camellia128cfb8_functions[]; | |
144 | extern const OSSL_DISPATCH ossl_camellia256ctr_functions[]; | |
145 | extern const OSSL_DISPATCH ossl_camellia192ctr_functions[]; | |
146 | extern const OSSL_DISPATCH ossl_camellia128ctr_functions[]; | |
e1178600 | 147 | #endif /* OPENSSL_NO_CAMELLIA */ |
55c7dc79 | 148 | #ifndef OPENSSL_NO_BF |
1be63951 P |
149 | extern const OSSL_DISPATCH ossl_blowfish128ecb_functions[]; |
150 | extern const OSSL_DISPATCH ossl_blowfish128cbc_functions[]; | |
151 | extern const OSSL_DISPATCH ossl_blowfish64ofb64_functions[]; | |
152 | extern const OSSL_DISPATCH ossl_blowfish64cfb64_functions[]; | |
55c7dc79 | 153 | #endif /* OPENSSL_NO_BF */ |
f22431f2 | 154 | #ifndef OPENSSL_NO_IDEA |
1be63951 P |
155 | extern const OSSL_DISPATCH ossl_idea128ecb_functions[]; |
156 | extern const OSSL_DISPATCH ossl_idea128cbc_functions[]; | |
157 | extern const OSSL_DISPATCH ossl_idea128ofb64_functions[]; | |
158 | extern const OSSL_DISPATCH ossl_idea128cfb64_functions[]; | |
f22431f2 | 159 | #endif /* OPENSSL_NO_IDEA */ |
18b00427 | 160 | #ifndef OPENSSL_NO_CAST |
1be63951 P |
161 | extern const OSSL_DISPATCH ossl_cast5128ecb_functions[]; |
162 | extern const OSSL_DISPATCH ossl_cast5128cbc_functions[]; | |
163 | extern const OSSL_DISPATCH ossl_cast5128ofb64_functions[]; | |
164 | extern const OSSL_DISPATCH ossl_cast5128cfb64_functions[]; | |
18b00427 | 165 | #endif /* OPENSSL_NO_CAST */ |
70adc646 | 166 | #ifndef OPENSSL_NO_SEED |
1be63951 P |
167 | extern const OSSL_DISPATCH ossl_seed128ecb_functions[]; |
168 | extern const OSSL_DISPATCH ossl_seed128cbc_functions[]; | |
169 | extern const OSSL_DISPATCH ossl_seed128ofb128_functions[]; | |
170 | extern const OSSL_DISPATCH ossl_seed128cfb128_functions[]; | |
70adc646 | 171 | #endif /* OPENSSL_NO_SEED */ |
105dde25 | 172 | #ifndef OPENSSL_NO_SM4 |
1be63951 P |
173 | extern const OSSL_DISPATCH ossl_sm4128ecb_functions[]; |
174 | extern const OSSL_DISPATCH ossl_sm4128cbc_functions[]; | |
175 | extern const OSSL_DISPATCH ossl_sm4128ctr_functions[]; | |
176 | extern const OSSL_DISPATCH ossl_sm4128ofb128_functions[]; | |
177 | extern const OSSL_DISPATCH ossl_sm4128cfb128_functions[]; | |
105dde25 | 178 | #endif /* OPENSSL_NO_SM4 */ |
6a41156c | 179 | #ifndef OPENSSL_NO_RC5 |
1be63951 P |
180 | extern const OSSL_DISPATCH ossl_rc5128ecb_functions[]; |
181 | extern const OSSL_DISPATCH ossl_rc5128cbc_functions[]; | |
182 | extern const OSSL_DISPATCH ossl_rc5128ofb64_functions[]; | |
183 | extern const OSSL_DISPATCH ossl_rc5128cfb64_functions[]; | |
6a41156c | 184 | #endif /* OPENSSL_NO_RC5 */ |
f816aa47 | 185 | #ifndef OPENSSL_NO_RC2 |
1be63951 P |
186 | extern const OSSL_DISPATCH ossl_rc2128ecb_functions[]; |
187 | extern const OSSL_DISPATCH ossl_rc2128cbc_functions[]; | |
188 | extern const OSSL_DISPATCH ossl_rc240cbc_functions[]; | |
189 | extern const OSSL_DISPATCH ossl_rc264cbc_functions[]; | |
190 | extern const OSSL_DISPATCH ossl_rc2128cfb128_functions[]; | |
191 | extern const OSSL_DISPATCH ossl_rc2128ofb128_functions[]; | |
f816aa47 | 192 | #endif /* OPENSSL_NO_RC2 */ |
e3f3ee44 | 193 | #ifndef OPENSSL_NO_DES |
1be63951 P |
194 | extern const OSSL_DISPATCH ossl_tdes_ede3_ecb_functions[]; |
195 | extern const OSSL_DISPATCH ossl_tdes_ede3_cbc_functions[]; | |
f844f9eb | 196 | # ifndef FIPS_MODULE |
1be63951 P |
197 | extern const OSSL_DISPATCH ossl_tdes_ede3_ofb_functions[]; |
198 | extern const OSSL_DISPATCH ossl_tdes_ede3_cfb_functions[]; | |
199 | extern const OSSL_DISPATCH ossl_tdes_ede3_cfb8_functions[]; | |
200 | extern const OSSL_DISPATCH ossl_tdes_ede3_cfb1_functions[]; | |
4a42e264 | 201 | |
1be63951 P |
202 | extern const OSSL_DISPATCH ossl_tdes_ede2_ecb_functions[]; |
203 | extern const OSSL_DISPATCH ossl_tdes_ede2_cbc_functions[]; | |
204 | extern const OSSL_DISPATCH ossl_tdes_ede2_ofb_functions[]; | |
205 | extern const OSSL_DISPATCH ossl_tdes_ede2_cfb_functions[]; | |
4a42e264 | 206 | |
1be63951 P |
207 | extern const OSSL_DISPATCH ossl_tdes_desx_cbc_functions[]; |
208 | extern const OSSL_DISPATCH ossl_tdes_wrap_cbc_functions[]; | |
e3f3ee44 | 209 | |
1be63951 P |
210 | extern const OSSL_DISPATCH ossl_des_ecb_functions[]; |
211 | extern const OSSL_DISPATCH ossl_des_cbc_functions[]; | |
212 | extern const OSSL_DISPATCH ossl_des_ofb64_functions[]; | |
213 | extern const OSSL_DISPATCH ossl_des_cfb64_functions[]; | |
214 | extern const OSSL_DISPATCH ossl_des_cfb1_functions[]; | |
215 | extern const OSSL_DISPATCH ossl_des_cfb8_functions[]; | |
f844f9eb | 216 | # endif /* FIPS_MODULE */ |
e3f3ee44 | 217 | #endif /* OPENSSL_NO_DES */ |
4a42e264 | 218 | |
bafde183 | 219 | #ifndef OPENSSL_NO_RC4 |
1be63951 P |
220 | extern const OSSL_DISPATCH ossl_rc440_functions[]; |
221 | extern const OSSL_DISPATCH ossl_rc4128_functions[]; | |
8fece335 | 222 | # ifndef OPENSSL_NO_MD5 |
1be63951 | 223 | extern const OSSL_DISPATCH ossl_rc4_hmac_ossl_md5_functions[]; |
8fece335 | 224 | # endif /* OPENSSL_NO_MD5 */ |
bafde183 | 225 | #endif /* OPENSSL_NO_RC4 */ |
3d5a7578 | 226 | #ifndef OPENSSL_NO_CHACHA |
1be63951 | 227 | extern const OSSL_DISPATCH ossl_chacha20_functions[]; |
3d5a7578 | 228 | # ifndef OPENSSL_NO_POLY1305 |
1be63951 | 229 | extern const OSSL_DISPATCH ossl_chacha20_ossl_poly1305_functions[]; |
3d5a7578 SL |
230 | # endif /* OPENSSL_NO_POLY1305 */ |
231 | #endif /* OPENSSL_NO_CHACHA */ | |
232 | ||
bafde183 | 233 | |
eb173822 | 234 | #ifndef OPENSSL_NO_SIV |
1be63951 P |
235 | extern const OSSL_DISPATCH ossl_aes128siv_functions[]; |
236 | extern const OSSL_DISPATCH ossl_aes192siv_functions[]; | |
237 | extern const OSSL_DISPATCH ossl_aes256siv_functions[]; | |
eb173822 SL |
238 | #endif /* OPENSSL_NO_SIV */ |
239 | ||
e3405a4a | 240 | /* MACs */ |
1be63951 P |
241 | extern const OSSL_DISPATCH ossl_blake2bmac_functions[]; |
242 | extern const OSSL_DISPATCH ossl_blake2smac_functions[]; | |
243 | extern const OSSL_DISPATCH ossl_cmac_functions[]; | |
244 | extern const OSSL_DISPATCH ossl_gmac_functions[]; | |
245 | extern const OSSL_DISPATCH ossl_hmac_functions[]; | |
246 | extern const OSSL_DISPATCH ossl_kmac128_functions[]; | |
247 | extern const OSSL_DISPATCH ossl_kmac256_functions[]; | |
248 | extern const OSSL_DISPATCH ossl_siphash_functions[]; | |
249 | extern const OSSL_DISPATCH ossl_poly1305_functions[]; | |
e3405a4a P |
250 | |
251 | /* KDFs / PRFs */ | |
1be63951 P |
252 | extern const OSSL_DISPATCH ossl_kdf_pbkdf2_functions[]; |
253 | extern const OSSL_DISPATCH ossl_kdf_pkcs12_functions[]; | |
e3405a4a | 254 | #ifndef OPENSSL_NO_SCRYPT |
1be63951 | 255 | extern const OSSL_DISPATCH ossl_kdf_scrypt_functions[]; |
e3405a4a | 256 | #endif |
1be63951 P |
257 | extern const OSSL_DISPATCH ossl_kdf_tls1_prf_functions[]; |
258 | extern const OSSL_DISPATCH ossl_kdf_hkdf_functions[]; | |
259 | extern const OSSL_DISPATCH ossl_kdf_sshkdf_functions[]; | |
260 | extern const OSSL_DISPATCH ossl_kdf_sskdf_functions[]; | |
261 | extern const OSSL_DISPATCH ossl_kdf_x963_kdf_functions[]; | |
262 | extern const OSSL_DISPATCH ossl_kdf_kbkdf_functions[]; | |
1be63951 | 263 | extern const OSSL_DISPATCH ossl_kdf_x942_kdf_functions[]; |
1be63951 | 264 | extern const OSSL_DISPATCH ossl_kdf_krb5kdf_functions[]; |
e3405a4a | 265 | |
714a1bb3 | 266 | /* RNGs */ |
1be63951 | 267 | extern const OSSL_DISPATCH ossl_test_rng_functions[]; |
81aef6ba | 268 | extern const OSSL_DISPATCH ossl_seed_src_functions[]; |
1be63951 P |
269 | extern const OSSL_DISPATCH ossl_drbg_hash_functions[]; |
270 | extern const OSSL_DISPATCH ossl_drbg_ossl_hmac_functions[]; | |
271 | extern const OSSL_DISPATCH ossl_drbg_ctr_functions[]; | |
714a1bb3 | 272 | extern const OSSL_DISPATCH crngt_functions[]; |
e3405a4a | 273 | |
8b84b075 | 274 | /* Key management */ |
1be63951 P |
275 | extern const OSSL_DISPATCH ossl_dh_keymgmt_functions[]; |
276 | extern const OSSL_DISPATCH ossl_dhx_keymgmt_functions[]; | |
277 | extern const OSSL_DISPATCH ossl_dsa_keymgmt_functions[]; | |
278 | extern const OSSL_DISPATCH ossl_rsa_keymgmt_functions[]; | |
279 | extern const OSSL_DISPATCH ossl_rsapss_keymgmt_functions[]; | |
280 | extern const OSSL_DISPATCH ossl_x25519_keymgmt_functions[]; | |
281 | extern const OSSL_DISPATCH ossl_x448_keymgmt_functions[]; | |
282 | extern const OSSL_DISPATCH ossl_ed25519_keymgmt_functions[]; | |
283 | extern const OSSL_DISPATCH ossl_ed448_keymgmt_functions[]; | |
284 | extern const OSSL_DISPATCH ossl_ec_keymgmt_functions[]; | |
285 | extern const OSSL_DISPATCH ossl_kdf_keymgmt_functions[]; | |
286 | extern const OSSL_DISPATCH ossl_mac_legacy_keymgmt_functions[]; | |
287 | extern const OSSL_DISPATCH ossl_cossl_mac_legacy_keymgmt_functions[]; | |
7ee511d0 PY |
288 | #ifndef OPENSSL_NO_SM2 |
289 | extern const OSSL_DISPATCH sm2_keymgmt_functions[]; | |
290 | #endif | |
8b84b075 | 291 | |
89e29174 | 292 | /* Key Exchange */ |
1be63951 P |
293 | extern const OSSL_DISPATCH ossl_dh_keyexch_functions[]; |
294 | extern const OSSL_DISPATCH ossl_x25519_keyexch_functions[]; | |
295 | extern const OSSL_DISPATCH ossl_x448_keyexch_functions[]; | |
296 | extern const OSSL_DISPATCH ecossl_dh_keyexch_functions[]; | |
297 | extern const OSSL_DISPATCH ossl_kdf_tls1_prf_keyexch_functions[]; | |
298 | extern const OSSL_DISPATCH ossl_kdf_hkdf_keyexch_functions[]; | |
299 | extern const OSSL_DISPATCH ossl_kdf_scrypt_keyexch_functions[]; | |
4889dadc MC |
300 | |
301 | /* Signature */ | |
1be63951 P |
302 | extern const OSSL_DISPATCH ossl_dsa_signature_functions[]; |
303 | extern const OSSL_DISPATCH ossl_rsa_signature_functions[]; | |
304 | extern const OSSL_DISPATCH ossl_ed25519_signature_functions[]; | |
305 | extern const OSSL_DISPATCH ossl_ed448_signature_functions[]; | |
306 | extern const OSSL_DISPATCH ecossl_dsa_signature_functions[]; | |
307 | extern const OSSL_DISPATCH ossl_mac_legacy_hmac_signature_functions[]; | |
308 | extern const OSSL_DISPATCH ossl_mac_legacy_siphash_signature_functions[]; | |
309 | extern const OSSL_DISPATCH ossl_mac_legacy_poly1305_signature_functions[]; | |
310 | extern const OSSL_DISPATCH ossl_mac_legacy_cmac_signature_functions[]; | |
d0b79f86 | 311 | extern const OSSL_DISPATCH sm2_signature_functions[]; |
89abd1b6 MC |
312 | |
313 | /* Asym Cipher */ | |
1be63951 | 314 | extern const OSSL_DISPATCH ossl_rsa_asym_cipher_functions[]; |
ce64d3ee MC |
315 | #ifndef OPENSSL_NO_SM2 |
316 | extern const OSSL_DISPATCH sm2_asym_cipher_functions[]; | |
317 | #endif | |
677add38 | 318 | |
80f4fd18 | 319 | /* Asym Key encapsulation */ |
1be63951 | 320 | extern const OSSL_DISPATCH ossl_rsa_asym_kem_functions[]; |
80f4fd18 | 321 | |
ece9304c | 322 | /* Encoders */ |
c319b627 RL |
323 | extern const OSSL_DISPATCH ossl_rsa_to_PKCS1_der_encoder_functions[]; |
324 | extern const OSSL_DISPATCH ossl_rsa_to_PKCS1_pem_encoder_functions[]; | |
325 | extern const OSSL_DISPATCH ossl_rsa_to_PKCS8_der_encoder_functions[]; | |
326 | extern const OSSL_DISPATCH ossl_rsa_to_PKCS8_pem_encoder_functions[]; | |
327 | extern const OSSL_DISPATCH ossl_rsa_to_RSA_der_encoder_functions[]; | |
328 | extern const OSSL_DISPATCH ossl_rsa_to_RSA_pem_encoder_functions[]; | |
329 | extern const OSSL_DISPATCH ossl_rsa_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
330 | extern const OSSL_DISPATCH ossl_rsa_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
1be63951 | 331 | extern const OSSL_DISPATCH ossl_rsa_to_text_encoder_functions[]; |
c319b627 RL |
332 | extern const OSSL_DISPATCH ossl_rsa_to_type_specific_keypair_der_encoder_functions[]; |
333 | extern const OSSL_DISPATCH ossl_rsa_to_type_specific_keypair_pem_encoder_functions[]; | |
8efc4a9c | 334 | |
c319b627 RL |
335 | extern const OSSL_DISPATCH ossl_rsapss_to_PKCS1_der_encoder_functions[]; |
336 | extern const OSSL_DISPATCH ossl_rsapss_to_PKCS1_pem_encoder_functions[]; | |
337 | extern const OSSL_DISPATCH ossl_rsapss_to_PKCS8_der_encoder_functions[]; | |
338 | extern const OSSL_DISPATCH ossl_rsapss_to_PKCS8_pem_encoder_functions[]; | |
339 | extern const OSSL_DISPATCH ossl_rsapss_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
340 | extern const OSSL_DISPATCH ossl_rsapss_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
1be63951 | 341 | extern const OSSL_DISPATCH ossl_rsapss_to_text_encoder_functions[]; |
8efc4a9c | 342 | |
c319b627 RL |
343 | extern const OSSL_DISPATCH ossl_dh_to_DH_der_encoder_functions[]; |
344 | extern const OSSL_DISPATCH ossl_dh_to_DH_pem_encoder_functions[]; | |
345 | extern const OSSL_DISPATCH ossl_dh_to_PKCS3_der_encoder_functions[]; | |
346 | extern const OSSL_DISPATCH ossl_dh_to_PKCS3_pem_encoder_functions[]; | |
347 | extern const OSSL_DISPATCH ossl_dh_to_PKCS8_der_encoder_functions[]; | |
348 | extern const OSSL_DISPATCH ossl_dh_to_PKCS8_pem_encoder_functions[]; | |
349 | extern const OSSL_DISPATCH ossl_dh_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
350 | extern const OSSL_DISPATCH ossl_dh_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
351 | extern const OSSL_DISPATCH ossl_dh_to_type_specific_params_der_encoder_functions[]; | |
352 | extern const OSSL_DISPATCH ossl_dh_to_type_specific_params_pem_encoder_functions[]; | |
1be63951 | 353 | extern const OSSL_DISPATCH ossl_dh_to_text_encoder_functions[]; |
8efc4a9c | 354 | |
c319b627 RL |
355 | extern const OSSL_DISPATCH ossl_dhx_to_DHX_der_encoder_functions[]; |
356 | extern const OSSL_DISPATCH ossl_dhx_to_DHX_pem_encoder_functions[]; | |
357 | extern const OSSL_DISPATCH ossl_dhx_to_PKCS8_der_encoder_functions[]; | |
358 | extern const OSSL_DISPATCH ossl_dhx_to_PKCS8_pem_encoder_functions[]; | |
359 | extern const OSSL_DISPATCH ossl_dhx_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
360 | extern const OSSL_DISPATCH ossl_dhx_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
361 | extern const OSSL_DISPATCH ossl_dhx_to_X9_42_der_encoder_functions[]; | |
362 | extern const OSSL_DISPATCH ossl_dhx_to_X9_42_pem_encoder_functions[]; | |
363 | extern const OSSL_DISPATCH ossl_dhx_to_type_specific_params_der_encoder_functions[]; | |
364 | extern const OSSL_DISPATCH ossl_dhx_to_type_specific_params_pem_encoder_functions[]; | |
1be63951 | 365 | extern const OSSL_DISPATCH ossl_dhx_to_text_encoder_functions[]; |
8efc4a9c | 366 | |
c319b627 RL |
367 | extern const OSSL_DISPATCH ossl_dsa_to_DSA_der_encoder_functions[]; |
368 | extern const OSSL_DISPATCH ossl_dsa_to_DSA_pem_encoder_functions[]; | |
369 | extern const OSSL_DISPATCH ossl_dsa_to_PKCS8_der_encoder_functions[]; | |
370 | extern const OSSL_DISPATCH ossl_dsa_to_PKCS8_pem_encoder_functions[]; | |
371 | extern const OSSL_DISPATCH ossl_dsa_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
372 | extern const OSSL_DISPATCH ossl_dsa_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
373 | extern const OSSL_DISPATCH ossl_dsa_to_type_specific_pem_encoder_functions[]; | |
374 | extern const OSSL_DISPATCH ossl_dsa_to_type_specific_der_encoder_functions[]; | |
1be63951 | 375 | extern const OSSL_DISPATCH ossl_dsa_to_text_encoder_functions[]; |
f552d900 | 376 | |
c319b627 RL |
377 | extern const OSSL_DISPATCH ossl_ec_to_EC_der_encoder_functions[]; |
378 | extern const OSSL_DISPATCH ossl_ec_to_EC_pem_encoder_functions[]; | |
379 | extern const OSSL_DISPATCH ossl_ec_to_PKCS8_der_encoder_functions[]; | |
380 | extern const OSSL_DISPATCH ossl_ec_to_PKCS8_pem_encoder_functions[]; | |
381 | extern const OSSL_DISPATCH ossl_ec_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
382 | extern const OSSL_DISPATCH ossl_ec_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
383 | extern const OSSL_DISPATCH ossl_ec_to_X9_62_der_encoder_functions[]; | |
384 | extern const OSSL_DISPATCH ossl_ec_to_X9_62_pem_encoder_functions[]; | |
385 | extern const OSSL_DISPATCH ossl_ec_to_type_specific_no_pub_pem_encoder_functions[]; | |
386 | extern const OSSL_DISPATCH ossl_ec_to_type_specific_no_pub_der_encoder_functions[]; | |
387 | extern const OSSL_DISPATCH ossl_ec_to_text_encoder_functions[]; | |
244bc297 | 388 | |
c319b627 RL |
389 | extern const OSSL_DISPATCH ossl_ed25519_to_PKCS8_der_encoder_functions[]; |
390 | extern const OSSL_DISPATCH ossl_ed25519_to_PKCS8_pem_encoder_functions[]; | |
391 | extern const OSSL_DISPATCH ossl_ed25519_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
392 | extern const OSSL_DISPATCH ossl_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
393 | extern const OSSL_DISPATCH ossl_ed25519_to_OSSL_current_der_encoder_functions[]; | |
1be63951 | 394 | extern const OSSL_DISPATCH ossl_ed25519_to_text_encoder_functions[]; |
111dc4b0 | 395 | |
c319b627 RL |
396 | extern const OSSL_DISPATCH ossl_ed448_to_PKCS8_der_encoder_functions[]; |
397 | extern const OSSL_DISPATCH ossl_ed448_to_PKCS8_pem_encoder_functions[]; | |
398 | extern const OSSL_DISPATCH ossl_ed448_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
399 | extern const OSSL_DISPATCH ossl_ed448_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
400 | extern const OSSL_DISPATCH ossl_ed448_to_OSSL_current_der_encoder_functions[]; | |
1be63951 | 401 | extern const OSSL_DISPATCH ossl_ed448_to_text_encoder_functions[]; |
111dc4b0 | 402 | |
c319b627 RL |
403 | extern const OSSL_DISPATCH ossl_x25519_to_PKCS8_der_encoder_functions[]; |
404 | extern const OSSL_DISPATCH ossl_x25519_to_PKCS8_pem_encoder_functions[]; | |
405 | extern const OSSL_DISPATCH ossl_x25519_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
406 | extern const OSSL_DISPATCH ossl_x25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
407 | extern const OSSL_DISPATCH ossl_x25519_to_OSSL_current_der_encoder_functions[]; | |
408 | extern const OSSL_DISPATCH ossl_x25519_to_text_encoder_functions[]; | |
409 | ||
410 | extern const OSSL_DISPATCH ossl_x448_to_PKCS8_der_encoder_functions[]; | |
411 | extern const OSSL_DISPATCH ossl_x448_to_PKCS8_pem_encoder_functions[]; | |
412 | extern const OSSL_DISPATCH ossl_x448_to_SubjectPublicKeyInfo_der_encoder_functions[]; | |
413 | extern const OSSL_DISPATCH ossl_x448_to_SubjectPublicKeyInfo_pem_encoder_functions[]; | |
414 | extern const OSSL_DISPATCH ossl_x448_to_OSSL_current_der_encoder_functions[]; | |
415 | extern const OSSL_DISPATCH ossl_x448_to_text_encoder_functions[]; | |
1017b8e4 | 416 | |
8ae40cf5 | 417 | /* Decoders */ |
2c090c1d RL |
418 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_dh_decoder_functions[]; |
419 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_dh_decoder_functions[]; | |
420 | extern const OSSL_DISPATCH ossl_type_specific_params_der_to_dh_decoder_functions[]; | |
421 | extern const OSSL_DISPATCH ossl_DH_der_to_dh_decoder_functions[]; | |
422 | ||
423 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_dhx_decoder_functions[]; | |
424 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_dhx_decoder_functions[]; | |
425 | extern const OSSL_DISPATCH ossl_type_specific_params_der_to_dhx_decoder_functions[]; | |
426 | extern const OSSL_DISPATCH ossl_DHX_der_to_dhx_decoder_functions[]; | |
427 | ||
428 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_dsa_decoder_functions[]; | |
429 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_dsa_decoder_functions[]; | |
430 | extern const OSSL_DISPATCH ossl_type_specific_der_to_dsa_decoder_functions[]; | |
431 | extern const OSSL_DISPATCH ossl_DSA_der_to_dsa_decoder_functions[]; | |
1be63951 P |
432 | extern const OSSL_DISPATCH ossl_msblob_to_dsa_decoder_functions[]; |
433 | extern const OSSL_DISPATCH ossl_pvk_to_dsa_decoder_functions[]; | |
2c090c1d RL |
434 | |
435 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_ec_decoder_functions[]; | |
436 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_ec_decoder_functions[]; | |
437 | extern const OSSL_DISPATCH ossl_type_specific_no_pub_der_to_ec_decoder_functions[]; | |
438 | extern const OSSL_DISPATCH ossl_EC_der_to_ec_decoder_functions[]; | |
439 | ||
440 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_x25519_decoder_functions[]; | |
441 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_x25519_decoder_functions[]; | |
442 | ||
443 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_x448_decoder_functions[]; | |
444 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_x448_decoder_functions[]; | |
445 | ||
446 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_ed25519_decoder_functions[]; | |
447 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_ed25519_decoder_functions[]; | |
448 | ||
449 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_ed448_decoder_functions[]; | |
450 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_ed448_decoder_functions[]; | |
451 | ||
452 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_rsa_decoder_functions[]; | |
453 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_rsa_decoder_functions[]; | |
454 | extern const OSSL_DISPATCH ossl_type_specific_keypair_der_to_rsa_decoder_functions[]; | |
455 | extern const OSSL_DISPATCH ossl_RSA_der_to_rsa_decoder_functions[]; | |
1be63951 P |
456 | extern const OSSL_DISPATCH ossl_msblob_to_rsa_decoder_functions[]; |
457 | extern const OSSL_DISPATCH ossl_pvk_to_rsa_decoder_functions[]; | |
2c090c1d RL |
458 | |
459 | extern const OSSL_DISPATCH ossl_PKCS8_der_to_rsapss_decoder_functions[]; | |
460 | extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_rsapss_decoder_functions[]; | |
461 | ||
1be63951 | 462 | extern const OSSL_DISPATCH ossl_pem_to_der_decoder_functions[]; |
63f187cf | 463 | |
1be63951 | 464 | extern const OSSL_DISPATCH ossl_file_store_functions[]; |