summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2023-07-07 13:53:52 +0000
committerbeck <>2023-07-07 13:53:52 +0000
commitfcdb286fc308a6ce5c66d8a4653f2e2e6c4903ed (patch)
tree66cf06c2d948ccb66fb91025cb243cf3f037d2d7 /src
parent6f5543ad3e9567cbb0c420be9104b1c9a41f8370 (diff)
downloadopenbsd-fcdb286fc308a6ce5c66d8a4653f2e2e6c4903ed.tar.gz
openbsd-fcdb286fc308a6ce5c66d8a4653f2e2e6c4903ed.tar.bz2
openbsd-fcdb286fc308a6ce5c66d8a4653f2e2e6c4903ed.zip
Hide symbols in hkdf, evp, err, ecdsa and ec
ok jsing@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/hidden/openssl/ec.h155
-rw-r--r--src/lib/libcrypto/hidden/openssl/ecdsa.h57
-rw-r--r--src/lib/libcrypto/hidden/openssl/err.h68
-rw-r--r--src/lib/libcrypto/hidden/openssl/evp.h457
-rw-r--r--src/lib/libcrypto/hidden/openssl/hkdf.h32
5 files changed, 769 insertions, 0 deletions
diff --git a/src/lib/libcrypto/hidden/openssl/ec.h b/src/lib/libcrypto/hidden/openssl/ec.h
new file mode 100644
index 0000000000..ea77d44597
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/ec.h
@@ -0,0 +1,155 @@
1/* $OpenBSD: ec.h,v 1.1 2023/07/07 13:53:52 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_EC_H
19#define _LIBCRYPTO_EC_H
20
21#ifndef _MSC_VER
22#include_next <openssl/ec.h>
23#else
24#include "../include/openssl/ec.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(EC_GFp_simple_method);
29LCRYPTO_USED(EC_GFp_mont_method);
30LCRYPTO_USED(EC_GROUP_new);
31LCRYPTO_USED(EC_GROUP_free);
32LCRYPTO_USED(EC_GROUP_clear_free);
33LCRYPTO_USED(EC_GROUP_copy);
34LCRYPTO_USED(EC_GROUP_dup);
35LCRYPTO_USED(EC_GROUP_method_of);
36LCRYPTO_USED(EC_METHOD_get_field_type);
37LCRYPTO_USED(EC_GROUP_set_generator);
38LCRYPTO_USED(EC_GROUP_get0_generator);
39LCRYPTO_USED(EC_GROUP_get_order);
40LCRYPTO_USED(EC_GROUP_order_bits);
41LCRYPTO_USED(EC_GROUP_get_cofactor);
42LCRYPTO_USED(EC_GROUP_set_curve_name);
43LCRYPTO_USED(EC_GROUP_get_curve_name);
44LCRYPTO_USED(EC_GROUP_set_asn1_flag);
45LCRYPTO_USED(EC_GROUP_get_asn1_flag);
46LCRYPTO_USED(EC_GROUP_set_point_conversion_form);
47LCRYPTO_USED(EC_GROUP_get_point_conversion_form);
48LCRYPTO_USED(EC_GROUP_get0_seed);
49LCRYPTO_USED(EC_GROUP_get_seed_len);
50LCRYPTO_USED(EC_GROUP_set_seed);
51LCRYPTO_USED(EC_GROUP_set_curve);
52LCRYPTO_USED(EC_GROUP_get_curve);
53LCRYPTO_USED(EC_GROUP_set_curve_GFp);
54LCRYPTO_USED(EC_GROUP_get_curve_GFp);
55LCRYPTO_USED(EC_GROUP_get_degree);
56LCRYPTO_USED(EC_GROUP_check);
57LCRYPTO_USED(EC_GROUP_check_discriminant);
58LCRYPTO_USED(EC_GROUP_cmp);
59LCRYPTO_USED(EC_GROUP_new_curve_GFp);
60LCRYPTO_USED(EC_GROUP_new_by_curve_name);
61LCRYPTO_USED(EC_get_builtin_curves);
62LCRYPTO_USED(EC_curve_nid2nist);
63LCRYPTO_USED(EC_curve_nist2nid);
64LCRYPTO_USED(EC_POINT_new);
65LCRYPTO_USED(EC_POINT_free);
66LCRYPTO_USED(EC_POINT_clear_free);
67LCRYPTO_USED(EC_POINT_copy);
68LCRYPTO_USED(EC_POINT_dup);
69LCRYPTO_USED(EC_POINT_method_of);
70LCRYPTO_USED(EC_POINT_set_to_infinity);
71LCRYPTO_USED(EC_POINT_set_affine_coordinates);
72LCRYPTO_USED(EC_POINT_get_affine_coordinates);
73LCRYPTO_USED(EC_POINT_set_compressed_coordinates);
74LCRYPTO_USED(EC_POINT_set_Jprojective_coordinates_GFp);
75LCRYPTO_USED(EC_POINT_get_Jprojective_coordinates_GFp);
76LCRYPTO_USED(EC_POINT_set_affine_coordinates_GFp);
77LCRYPTO_USED(EC_POINT_get_affine_coordinates_GFp);
78LCRYPTO_USED(EC_POINT_set_compressed_coordinates_GFp);
79LCRYPTO_USED(EC_POINT_point2oct);
80LCRYPTO_USED(EC_POINT_oct2point);
81LCRYPTO_USED(EC_POINT_point2bn);
82LCRYPTO_USED(EC_POINT_bn2point);
83LCRYPTO_USED(EC_POINT_point2hex);
84LCRYPTO_USED(EC_POINT_hex2point);
85LCRYPTO_USED(EC_POINT_add);
86LCRYPTO_USED(EC_POINT_dbl);
87LCRYPTO_USED(EC_POINT_invert);
88LCRYPTO_USED(EC_POINT_is_at_infinity);
89LCRYPTO_USED(EC_POINT_is_on_curve);
90LCRYPTO_USED(EC_POINT_cmp);
91LCRYPTO_USED(EC_POINT_make_affine);
92LCRYPTO_USED(EC_POINTs_make_affine);
93LCRYPTO_USED(EC_POINTs_mul);
94LCRYPTO_USED(EC_POINT_mul);
95LCRYPTO_USED(EC_GROUP_precompute_mult);
96LCRYPTO_USED(EC_GROUP_have_precompute_mult);
97LCRYPTO_USED(EC_GROUP_get_basis_type);
98LCRYPTO_USED(d2i_ECPKParameters);
99LCRYPTO_USED(i2d_ECPKParameters);
100LCRYPTO_USED(ECPKParameters_print);
101LCRYPTO_USED(ECPKParameters_print_fp);
102LCRYPTO_USED(EC_KEY_new);
103LCRYPTO_USED(EC_KEY_get_flags);
104LCRYPTO_USED(EC_KEY_set_flags);
105LCRYPTO_USED(EC_KEY_clear_flags);
106LCRYPTO_USED(EC_KEY_new_by_curve_name);
107LCRYPTO_USED(EC_KEY_free);
108LCRYPTO_USED(EC_KEY_copy);
109LCRYPTO_USED(EC_KEY_dup);
110LCRYPTO_USED(EC_KEY_up_ref);
111LCRYPTO_USED(EC_KEY_get0_group);
112LCRYPTO_USED(EC_KEY_set_group);
113LCRYPTO_USED(EC_KEY_get0_private_key);
114LCRYPTO_USED(EC_KEY_set_private_key);
115LCRYPTO_USED(EC_KEY_get0_public_key);
116LCRYPTO_USED(EC_KEY_set_public_key);
117LCRYPTO_USED(EC_KEY_get_enc_flags);
118LCRYPTO_USED(EC_KEY_set_enc_flags);
119LCRYPTO_USED(EC_KEY_get_conv_form);
120LCRYPTO_USED(EC_KEY_set_conv_form);
121LCRYPTO_USED(EC_KEY_set_asn1_flag);
122LCRYPTO_USED(EC_KEY_precompute_mult);
123LCRYPTO_USED(EC_KEY_generate_key);
124LCRYPTO_USED(EC_KEY_check_key);
125LCRYPTO_USED(EC_KEY_set_public_key_affine_coordinates);
126LCRYPTO_USED(d2i_ECPrivateKey);
127LCRYPTO_USED(i2d_ECPrivateKey);
128LCRYPTO_USED(d2i_ECParameters);
129LCRYPTO_USED(i2d_ECParameters);
130LCRYPTO_USED(o2i_ECPublicKey);
131LCRYPTO_USED(i2o_ECPublicKey);
132LCRYPTO_USED(ECParameters_print);
133LCRYPTO_USED(EC_KEY_print);
134LCRYPTO_USED(ECParameters_print_fp);
135LCRYPTO_USED(EC_KEY_print_fp);
136LCRYPTO_USED(EC_KEY_set_ex_data);
137LCRYPTO_USED(EC_KEY_get_ex_data);
138LCRYPTO_USED(EC_KEY_OpenSSL);
139LCRYPTO_USED(EC_KEY_get_default_method);
140LCRYPTO_USED(EC_KEY_set_default_method);
141LCRYPTO_USED(EC_KEY_get_method);
142LCRYPTO_USED(EC_KEY_set_method);
143LCRYPTO_USED(EC_KEY_new_method);
144LCRYPTO_USED(EC_KEY_METHOD_new);
145LCRYPTO_USED(EC_KEY_METHOD_free);
146LCRYPTO_USED(EC_KEY_METHOD_set_init);
147LCRYPTO_USED(EC_KEY_METHOD_set_keygen);
148LCRYPTO_USED(EC_KEY_METHOD_set_compute_key);
149LCRYPTO_USED(EC_KEY_METHOD_get_init);
150LCRYPTO_USED(EC_KEY_METHOD_get_keygen);
151LCRYPTO_USED(EC_KEY_METHOD_get_compute_key);
152LCRYPTO_USED(ECParameters_dup);
153LCRYPTO_USED(ERR_load_EC_strings);
154
155#endif /* _LIBCRYPTO_EC_H */
diff --git a/src/lib/libcrypto/hidden/openssl/ecdsa.h b/src/lib/libcrypto/hidden/openssl/ecdsa.h
new file mode 100644
index 0000000000..25eb2b3b57
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/ecdsa.h
@@ -0,0 +1,57 @@
1/* $OpenBSD: ecdsa.h,v 1.1 2023/07/07 13:53:52 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_ECDSA_H
19#define _LIBCRYPTO_ECDSA_H
20
21#ifndef _MSC_VER
22#include_next <openssl/ecdsa.h>
23#else
24#include "../include/openssl/ecdsa.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(ECDSA_SIG_new);
29LCRYPTO_USED(ECDSA_SIG_free);
30LCRYPTO_USED(i2d_ECDSA_SIG);
31LCRYPTO_USED(d2i_ECDSA_SIG);
32LCRYPTO_USED(ECDSA_SIG_get0);
33LCRYPTO_USED(ECDSA_SIG_get0_r);
34LCRYPTO_USED(ECDSA_SIG_get0_s);
35LCRYPTO_USED(ECDSA_SIG_set0);
36LCRYPTO_USED(ECDSA_do_sign);
37LCRYPTO_USED(ECDSA_do_sign_ex);
38LCRYPTO_USED(ECDSA_do_verify);
39LCRYPTO_USED(ECDSA_OpenSSL);
40LCRYPTO_USED(ECDSA_set_default_method);
41LCRYPTO_USED(ECDSA_get_default_method);
42LCRYPTO_USED(ECDSA_set_method);
43LCRYPTO_USED(ECDSA_size);
44LCRYPTO_USED(ECDSA_sign_setup);
45LCRYPTO_USED(ECDSA_sign);
46LCRYPTO_USED(ECDSA_sign_ex);
47LCRYPTO_USED(ECDSA_verify);
48LCRYPTO_USED(ECDSA_get_ex_new_index);
49LCRYPTO_USED(ECDSA_set_ex_data);
50LCRYPTO_USED(ECDSA_get_ex_data);
51LCRYPTO_USED(EC_KEY_METHOD_set_sign);
52LCRYPTO_USED(EC_KEY_METHOD_set_verify);
53LCRYPTO_USED(EC_KEY_METHOD_get_sign);
54LCRYPTO_USED(EC_KEY_METHOD_get_verify);
55LCRYPTO_USED(ERR_load_ECDSA_strings);
56
57#endif /* _LIBCRYPTO_ECDSA_H */
diff --git a/src/lib/libcrypto/hidden/openssl/err.h b/src/lib/libcrypto/hidden/openssl/err.h
new file mode 100644
index 0000000000..f43f5f00e6
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/err.h
@@ -0,0 +1,68 @@
1/* $OpenBSD: err.h,v 1.1 2023/07/07 13:53:52 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_ERR_H
19#define _LIBCRYPTO_ERR_H
20
21#ifndef _MSC_VER
22#include_next <openssl/err.h>
23#else
24#include "../include/openssl/err.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(ERR_put_error);
29LCRYPTO_USED(ERR_set_error_data);
30LCRYPTO_USED(ERR_get_error);
31LCRYPTO_USED(ERR_get_error_line);
32LCRYPTO_USED(ERR_get_error_line_data);
33LCRYPTO_USED(ERR_peek_error);
34LCRYPTO_USED(ERR_peek_error_line);
35LCRYPTO_USED(ERR_peek_error_line_data);
36LCRYPTO_USED(ERR_peek_last_error);
37LCRYPTO_USED(ERR_peek_last_error_line);
38LCRYPTO_USED(ERR_peek_last_error_line_data);
39LCRYPTO_USED(ERR_clear_error);
40LCRYPTO_USED(ERR_error_string);
41LCRYPTO_USED(ERR_error_string_n);
42LCRYPTO_USED(ERR_lib_error_string);
43LCRYPTO_USED(ERR_func_error_string);
44LCRYPTO_USED(ERR_reason_error_string);
45LCRYPTO_USED(ERR_print_errors_cb);
46LCRYPTO_USED(ERR_print_errors_fp);
47LCRYPTO_USED(ERR_print_errors);
48LCRYPTO_USED(ERR_asprintf_error_data);
49LCRYPTO_USED(ERR_add_error_data);
50LCRYPTO_USED(ERR_add_error_vdata);
51LCRYPTO_USED(ERR_load_strings);
52LCRYPTO_USED(ERR_unload_strings);
53LCRYPTO_USED(ERR_load_ERR_strings);
54LCRYPTO_USED(ERR_load_crypto_strings);
55LCRYPTO_USED(ERR_free_strings);
56LCRYPTO_USED(ERR_remove_thread_state);
57LCRYPTO_USED(ERR_remove_state);
58LCRYPTO_USED(ERR_get_state);
59LCRYPTO_USED(ERR_get_string_table);
60LCRYPTO_USED(ERR_get_err_state_table);
61LCRYPTO_USED(ERR_release_err_state_table);
62LCRYPTO_USED(ERR_get_next_error_library);
63LCRYPTO_USED(ERR_set_mark);
64LCRYPTO_USED(ERR_pop_to_mark);
65LCRYPTO_USED(ERR_get_implementation);
66LCRYPTO_USED(ERR_set_implementation);
67
68#endif /* _LIBCRYPTO_ERR_H */
diff --git a/src/lib/libcrypto/hidden/openssl/evp.h b/src/lib/libcrypto/hidden/openssl/evp.h
new file mode 100644
index 0000000000..d4bcb2719e
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/evp.h
@@ -0,0 +1,457 @@
1/* $OpenBSD: evp.h,v 1.1 2023/07/07 13:53:52 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_EVP_H
19#define _LIBCRYPTO_EVP_H
20
21#ifndef _MSC_VER
22#include_next <openssl/evp.h>
23#else
24#include "../include/openssl/evp.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(EVP_MD_type);
29LCRYPTO_USED(EVP_MD_pkey_type);
30LCRYPTO_USED(EVP_MD_size);
31LCRYPTO_USED(EVP_MD_block_size);
32LCRYPTO_USED(EVP_MD_flags);
33LCRYPTO_USED(EVP_MD_meth_new);
34LCRYPTO_USED(EVP_MD_meth_free);
35LCRYPTO_USED(EVP_MD_meth_dup);
36LCRYPTO_USED(EVP_MD_meth_set_input_blocksize);
37LCRYPTO_USED(EVP_MD_meth_set_result_size);
38LCRYPTO_USED(EVP_MD_meth_set_app_datasize);
39LCRYPTO_USED(EVP_MD_meth_set_flags);
40LCRYPTO_USED(EVP_MD_meth_set_init);
41LCRYPTO_USED(EVP_MD_meth_set_update);
42LCRYPTO_USED(EVP_MD_meth_set_final);
43LCRYPTO_USED(EVP_MD_meth_set_copy);
44LCRYPTO_USED(EVP_MD_meth_set_cleanup);
45LCRYPTO_USED(EVP_MD_meth_set_ctrl);
46LCRYPTO_USED(EVP_MD_CTX_md);
47LCRYPTO_USED(EVP_MD_CTX_md_data);
48LCRYPTO_USED(EVP_MD_CTX_pkey_ctx);
49LCRYPTO_USED(EVP_MD_CTX_set_pkey_ctx);
50LCRYPTO_USED(EVP_CIPHER_nid);
51LCRYPTO_USED(EVP_CIPHER_block_size);
52LCRYPTO_USED(EVP_CIPHER_key_length);
53LCRYPTO_USED(EVP_CIPHER_iv_length);
54LCRYPTO_USED(EVP_CIPHER_flags);
55LCRYPTO_USED(EVP_CIPHER_CTX_cipher);
56LCRYPTO_USED(EVP_CIPHER_CTX_encrypting);
57LCRYPTO_USED(EVP_CIPHER_CTX_nid);
58LCRYPTO_USED(EVP_CIPHER_CTX_block_size);
59LCRYPTO_USED(EVP_CIPHER_CTX_key_length);
60LCRYPTO_USED(EVP_CIPHER_CTX_iv_length);
61LCRYPTO_USED(EVP_CIPHER_CTX_get_iv);
62LCRYPTO_USED(EVP_CIPHER_CTX_set_iv);
63LCRYPTO_USED(EVP_CIPHER_CTX_copy);
64LCRYPTO_USED(EVP_CIPHER_CTX_get_app_data);
65LCRYPTO_USED(EVP_CIPHER_CTX_set_app_data);
66LCRYPTO_USED(EVP_CIPHER_CTX_get_cipher_data);
67LCRYPTO_USED(EVP_CIPHER_CTX_set_cipher_data);
68LCRYPTO_USED(EVP_CIPHER_CTX_buf_noconst);
69LCRYPTO_USED(EVP_CIPHER_CTX_flags);
70LCRYPTO_USED(EVP_CIPHER_meth_new);
71LCRYPTO_USED(EVP_CIPHER_meth_dup);
72LCRYPTO_USED(EVP_CIPHER_meth_free);
73LCRYPTO_USED(EVP_CIPHER_meth_set_iv_length);
74LCRYPTO_USED(EVP_CIPHER_meth_set_flags);
75LCRYPTO_USED(EVP_CIPHER_meth_set_impl_ctx_size);
76LCRYPTO_USED(EVP_CIPHER_meth_set_init);
77LCRYPTO_USED(EVP_CIPHER_meth_set_do_cipher);
78LCRYPTO_USED(EVP_CIPHER_meth_set_cleanup);
79LCRYPTO_USED(EVP_CIPHER_meth_set_set_asn1_params);
80LCRYPTO_USED(EVP_CIPHER_meth_set_get_asn1_params);
81LCRYPTO_USED(EVP_CIPHER_meth_set_ctrl);
82LCRYPTO_USED(EVP_PKEY_new_raw_private_key);
83LCRYPTO_USED(EVP_PKEY_new_raw_public_key);
84LCRYPTO_USED(EVP_PKEY_get_raw_private_key);
85LCRYPTO_USED(EVP_PKEY_get_raw_public_key);
86LCRYPTO_USED(EVP_Cipher);
87LCRYPTO_USED(EVP_MD_CTX_new);
88LCRYPTO_USED(EVP_MD_CTX_free);
89LCRYPTO_USED(EVP_MD_CTX_init);
90LCRYPTO_USED(EVP_MD_CTX_reset);
91LCRYPTO_USED(EVP_MD_CTX_create);
92LCRYPTO_USED(EVP_MD_CTX_destroy);
93LCRYPTO_USED(EVP_MD_CTX_cleanup);
94LCRYPTO_USED(EVP_MD_CTX_copy_ex);
95LCRYPTO_USED(EVP_MD_CTX_set_flags);
96LCRYPTO_USED(EVP_MD_CTX_clear_flags);
97LCRYPTO_USED(EVP_MD_CTX_ctrl);
98LCRYPTO_USED(EVP_MD_CTX_test_flags);
99LCRYPTO_USED(EVP_DigestInit_ex);
100LCRYPTO_USED(EVP_DigestUpdate);
101LCRYPTO_USED(EVP_DigestFinal_ex);
102LCRYPTO_USED(EVP_Digest);
103LCRYPTO_USED(EVP_MD_CTX_copy);
104LCRYPTO_USED(EVP_DigestInit);
105LCRYPTO_USED(EVP_DigestFinal);
106LCRYPTO_USED(EVP_read_pw_string);
107LCRYPTO_USED(EVP_read_pw_string_min);
108LCRYPTO_USED(EVP_set_pw_prompt);
109LCRYPTO_USED(EVP_get_pw_prompt);
110LCRYPTO_USED(EVP_BytesToKey);
111LCRYPTO_USED(EVP_CIPHER_CTX_set_flags);
112LCRYPTO_USED(EVP_CIPHER_CTX_clear_flags);
113LCRYPTO_USED(EVP_CIPHER_CTX_test_flags);
114LCRYPTO_USED(EVP_EncryptInit);
115LCRYPTO_USED(EVP_EncryptInit_ex);
116LCRYPTO_USED(EVP_EncryptUpdate);
117LCRYPTO_USED(EVP_EncryptFinal_ex);
118LCRYPTO_USED(EVP_EncryptFinal);
119LCRYPTO_USED(EVP_DecryptInit);
120LCRYPTO_USED(EVP_DecryptInit_ex);
121LCRYPTO_USED(EVP_DecryptUpdate);
122LCRYPTO_USED(EVP_DecryptFinal_ex);
123LCRYPTO_USED(EVP_DecryptFinal);
124LCRYPTO_USED(EVP_CipherInit);
125LCRYPTO_USED(EVP_CipherInit_ex);
126LCRYPTO_USED(EVP_CipherUpdate);
127LCRYPTO_USED(EVP_CipherFinal_ex);
128LCRYPTO_USED(EVP_CipherFinal);
129LCRYPTO_USED(EVP_SignFinal);
130LCRYPTO_USED(EVP_VerifyFinal);
131LCRYPTO_USED(EVP_DigestSignInit);
132LCRYPTO_USED(EVP_DigestSignFinal);
133LCRYPTO_USED(EVP_DigestSign);
134LCRYPTO_USED(EVP_DigestVerifyInit);
135LCRYPTO_USED(EVP_DigestVerifyFinal);
136LCRYPTO_USED(EVP_DigestVerify);
137LCRYPTO_USED(EVP_OpenInit);
138LCRYPTO_USED(EVP_OpenFinal);
139LCRYPTO_USED(EVP_SealInit);
140LCRYPTO_USED(EVP_SealFinal);
141LCRYPTO_USED(EVP_ENCODE_CTX_new);
142LCRYPTO_USED(EVP_ENCODE_CTX_free);
143LCRYPTO_USED(EVP_EncodeInit);
144LCRYPTO_USED(EVP_EncodeUpdate);
145LCRYPTO_USED(EVP_EncodeFinal);
146LCRYPTO_USED(EVP_EncodeBlock);
147LCRYPTO_USED(EVP_DecodeInit);
148LCRYPTO_USED(EVP_DecodeUpdate);
149LCRYPTO_USED(EVP_DecodeFinal);
150LCRYPTO_USED(EVP_DecodeBlock);
151LCRYPTO_USED(EVP_CIPHER_CTX_init);
152LCRYPTO_USED(EVP_CIPHER_CTX_cleanup);
153LCRYPTO_USED(EVP_CIPHER_CTX_new);
154LCRYPTO_USED(EVP_CIPHER_CTX_free);
155LCRYPTO_USED(EVP_CIPHER_CTX_reset);
156LCRYPTO_USED(EVP_CIPHER_CTX_set_key_length);
157LCRYPTO_USED(EVP_CIPHER_CTX_set_padding);
158LCRYPTO_USED(EVP_CIPHER_CTX_ctrl);
159LCRYPTO_USED(EVP_CIPHER_CTX_rand_key);
160LCRYPTO_USED(BIO_f_md);
161LCRYPTO_USED(BIO_f_base64);
162LCRYPTO_USED(BIO_f_cipher);
163LCRYPTO_USED(BIO_set_cipher);
164LCRYPTO_USED(EVP_md_null);
165LCRYPTO_USED(EVP_md4);
166LCRYPTO_USED(EVP_md5);
167LCRYPTO_USED(EVP_md5_sha1);
168LCRYPTO_USED(EVP_sha1);
169LCRYPTO_USED(EVP_sha224);
170LCRYPTO_USED(EVP_sha256);
171LCRYPTO_USED(EVP_sha384);
172LCRYPTO_USED(EVP_sha512);
173LCRYPTO_USED(EVP_sha512_224);
174LCRYPTO_USED(EVP_sha512_256);
175LCRYPTO_USED(EVP_sha3_224);
176LCRYPTO_USED(EVP_sha3_256);
177LCRYPTO_USED(EVP_sha3_384);
178LCRYPTO_USED(EVP_sha3_512);
179LCRYPTO_USED(EVP_sm3);
180LCRYPTO_USED(EVP_ripemd160);
181LCRYPTO_USED(EVP_whirlpool);
182LCRYPTO_USED(EVP_gostr341194);
183LCRYPTO_USED(EVP_gost2814789imit);
184LCRYPTO_USED(EVP_streebog256);
185LCRYPTO_USED(EVP_streebog512);
186LCRYPTO_USED(EVP_enc_null);
187LCRYPTO_USED(EVP_des_ecb);
188LCRYPTO_USED(EVP_des_ede);
189LCRYPTO_USED(EVP_des_ede3);
190LCRYPTO_USED(EVP_des_ede_ecb);
191LCRYPTO_USED(EVP_des_ede3_ecb);
192LCRYPTO_USED(EVP_des_cfb64);
193LCRYPTO_USED(EVP_des_cfb1);
194LCRYPTO_USED(EVP_des_cfb8);
195LCRYPTO_USED(EVP_des_ede_cfb64);
196LCRYPTO_USED(EVP_des_ede3_cfb64);
197LCRYPTO_USED(EVP_des_ede3_cfb1);
198LCRYPTO_USED(EVP_des_ede3_cfb8);
199LCRYPTO_USED(EVP_des_ofb);
200LCRYPTO_USED(EVP_des_ede_ofb);
201LCRYPTO_USED(EVP_des_ede3_ofb);
202LCRYPTO_USED(EVP_des_cbc);
203LCRYPTO_USED(EVP_des_ede_cbc);
204LCRYPTO_USED(EVP_des_ede3_cbc);
205LCRYPTO_USED(EVP_desx_cbc);
206LCRYPTO_USED(EVP_rc4);
207LCRYPTO_USED(EVP_rc4_40);
208LCRYPTO_USED(EVP_rc4_hmac_md5);
209LCRYPTO_USED(EVP_idea_ecb);
210LCRYPTO_USED(EVP_idea_cfb64);
211LCRYPTO_USED(EVP_idea_ofb);
212LCRYPTO_USED(EVP_idea_cbc);
213LCRYPTO_USED(EVP_rc2_ecb);
214LCRYPTO_USED(EVP_rc2_cbc);
215LCRYPTO_USED(EVP_rc2_40_cbc);
216LCRYPTO_USED(EVP_rc2_64_cbc);
217LCRYPTO_USED(EVP_rc2_cfb64);
218LCRYPTO_USED(EVP_rc2_ofb);
219LCRYPTO_USED(EVP_bf_ecb);
220LCRYPTO_USED(EVP_bf_cbc);
221LCRYPTO_USED(EVP_bf_cfb64);
222LCRYPTO_USED(EVP_bf_ofb);
223LCRYPTO_USED(EVP_cast5_ecb);
224LCRYPTO_USED(EVP_cast5_cbc);
225LCRYPTO_USED(EVP_cast5_cfb64);
226LCRYPTO_USED(EVP_cast5_ofb);
227LCRYPTO_USED(EVP_aes_128_ecb);
228LCRYPTO_USED(EVP_aes_128_cbc);
229LCRYPTO_USED(EVP_aes_128_cfb1);
230LCRYPTO_USED(EVP_aes_128_cfb8);
231LCRYPTO_USED(EVP_aes_128_cfb128);
232LCRYPTO_USED(EVP_aes_128_ofb);
233LCRYPTO_USED(EVP_aes_128_ctr);
234LCRYPTO_USED(EVP_aes_128_ccm);
235LCRYPTO_USED(EVP_aes_128_gcm);
236LCRYPTO_USED(EVP_aes_128_wrap);
237LCRYPTO_USED(EVP_aes_128_xts);
238LCRYPTO_USED(EVP_aes_192_ecb);
239LCRYPTO_USED(EVP_aes_192_cbc);
240LCRYPTO_USED(EVP_aes_192_cfb1);
241LCRYPTO_USED(EVP_aes_192_cfb8);
242LCRYPTO_USED(EVP_aes_192_cfb128);
243LCRYPTO_USED(EVP_aes_192_ofb);
244LCRYPTO_USED(EVP_aes_192_ctr);
245LCRYPTO_USED(EVP_aes_192_ccm);
246LCRYPTO_USED(EVP_aes_192_gcm);
247LCRYPTO_USED(EVP_aes_192_wrap);
248LCRYPTO_USED(EVP_aes_256_ecb);
249LCRYPTO_USED(EVP_aes_256_cbc);
250LCRYPTO_USED(EVP_aes_256_cfb1);
251LCRYPTO_USED(EVP_aes_256_cfb8);
252LCRYPTO_USED(EVP_aes_256_cfb128);
253LCRYPTO_USED(EVP_aes_256_ofb);
254LCRYPTO_USED(EVP_aes_256_ctr);
255LCRYPTO_USED(EVP_aes_256_ccm);
256LCRYPTO_USED(EVP_aes_256_gcm);
257LCRYPTO_USED(EVP_aes_256_wrap);
258LCRYPTO_USED(EVP_aes_256_xts);
259LCRYPTO_USED(EVP_chacha20_poly1305);
260LCRYPTO_USED(EVP_aes_128_cbc_hmac_sha1);
261LCRYPTO_USED(EVP_aes_256_cbc_hmac_sha1);
262LCRYPTO_USED(EVP_camellia_128_ecb);
263LCRYPTO_USED(EVP_camellia_128_cbc);
264LCRYPTO_USED(EVP_camellia_128_cfb1);
265LCRYPTO_USED(EVP_camellia_128_cfb8);
266LCRYPTO_USED(EVP_camellia_128_cfb128);
267LCRYPTO_USED(EVP_camellia_128_ofb);
268LCRYPTO_USED(EVP_camellia_192_ecb);
269LCRYPTO_USED(EVP_camellia_192_cbc);
270LCRYPTO_USED(EVP_camellia_192_cfb1);
271LCRYPTO_USED(EVP_camellia_192_cfb8);
272LCRYPTO_USED(EVP_camellia_192_cfb128);
273LCRYPTO_USED(EVP_camellia_192_ofb);
274LCRYPTO_USED(EVP_camellia_256_ecb);
275LCRYPTO_USED(EVP_camellia_256_cbc);
276LCRYPTO_USED(EVP_camellia_256_cfb1);
277LCRYPTO_USED(EVP_camellia_256_cfb8);
278LCRYPTO_USED(EVP_camellia_256_cfb128);
279LCRYPTO_USED(EVP_camellia_256_ofb);
280LCRYPTO_USED(EVP_chacha20);
281LCRYPTO_USED(EVP_gost2814789_ecb);
282LCRYPTO_USED(EVP_gost2814789_cfb64);
283LCRYPTO_USED(EVP_gost2814789_cnt);
284LCRYPTO_USED(EVP_sm4_ecb);
285LCRYPTO_USED(EVP_sm4_cbc);
286LCRYPTO_USED(EVP_sm4_cfb128);
287LCRYPTO_USED(EVP_sm4_ofb);
288LCRYPTO_USED(EVP_sm4_ctr);
289LCRYPTO_USED(OPENSSL_add_all_algorithms_noconf);
290LCRYPTO_USED(OPENSSL_add_all_algorithms_conf);
291LCRYPTO_USED(OpenSSL_add_all_ciphers);
292LCRYPTO_USED(OpenSSL_add_all_digests);
293LCRYPTO_USED(EVP_add_cipher);
294LCRYPTO_USED(EVP_add_digest);
295LCRYPTO_USED(EVP_get_cipherbyname);
296LCRYPTO_USED(EVP_get_digestbyname);
297LCRYPTO_USED(EVP_cleanup);
298LCRYPTO_USED(EVP_CIPHER_do_all);
299LCRYPTO_USED(EVP_CIPHER_do_all_sorted);
300LCRYPTO_USED(EVP_MD_do_all);
301LCRYPTO_USED(EVP_MD_do_all_sorted);
302LCRYPTO_USED(EVP_PKEY_decrypt_old);
303LCRYPTO_USED(EVP_PKEY_encrypt_old);
304LCRYPTO_USED(EVP_PKEY_type);
305LCRYPTO_USED(EVP_PKEY_id);
306LCRYPTO_USED(EVP_PKEY_base_id);
307LCRYPTO_USED(EVP_PKEY_bits);
308LCRYPTO_USED(EVP_PKEY_security_bits);
309LCRYPTO_USED(EVP_PKEY_size);
310LCRYPTO_USED(EVP_PKEY_set_type);
311LCRYPTO_USED(EVP_PKEY_set_type_str);
312LCRYPTO_USED(EVP_PKEY_assign);
313LCRYPTO_USED(EVP_PKEY_get0);
314LCRYPTO_USED(EVP_PKEY_get0_hmac);
315LCRYPTO_USED(EVP_PKEY_get0_RSA);
316LCRYPTO_USED(EVP_PKEY_get1_RSA);
317LCRYPTO_USED(EVP_PKEY_set1_RSA);
318LCRYPTO_USED(EVP_PKEY_get0_DSA);
319LCRYPTO_USED(EVP_PKEY_get1_DSA);
320LCRYPTO_USED(EVP_PKEY_set1_DSA);
321LCRYPTO_USED(EVP_PKEY_get0_DH);
322LCRYPTO_USED(EVP_PKEY_get1_DH);
323LCRYPTO_USED(EVP_PKEY_set1_DH);
324LCRYPTO_USED(EVP_PKEY_get0_EC_KEY);
325LCRYPTO_USED(EVP_PKEY_get1_EC_KEY);
326LCRYPTO_USED(EVP_PKEY_set1_EC_KEY);
327LCRYPTO_USED(EVP_PKEY_new);
328LCRYPTO_USED(EVP_PKEY_free);
329LCRYPTO_USED(EVP_PKEY_up_ref);
330LCRYPTO_USED(d2i_PublicKey);
331LCRYPTO_USED(i2d_PublicKey);
332LCRYPTO_USED(d2i_PrivateKey);
333LCRYPTO_USED(d2i_AutoPrivateKey);
334LCRYPTO_USED(i2d_PrivateKey);
335LCRYPTO_USED(EVP_PKEY_copy_parameters);
336LCRYPTO_USED(EVP_PKEY_missing_parameters);
337LCRYPTO_USED(EVP_PKEY_save_parameters);
338LCRYPTO_USED(EVP_PKEY_cmp_parameters);
339LCRYPTO_USED(EVP_PKEY_cmp);
340LCRYPTO_USED(EVP_PKEY_print_public);
341LCRYPTO_USED(EVP_PKEY_print_private);
342LCRYPTO_USED(EVP_PKEY_print_params);
343LCRYPTO_USED(EVP_PKEY_get_default_digest_nid);
344LCRYPTO_USED(EVP_CIPHER_type);
345LCRYPTO_USED(EVP_CIPHER_param_to_asn1);
346LCRYPTO_USED(EVP_CIPHER_asn1_to_param);
347LCRYPTO_USED(EVP_CIPHER_set_asn1_iv);
348LCRYPTO_USED(EVP_CIPHER_get_asn1_iv);
349LCRYPTO_USED(PKCS5_PBE_keyivgen);
350LCRYPTO_USED(PKCS5_PBKDF2_HMAC_SHA1);
351LCRYPTO_USED(PKCS5_PBKDF2_HMAC);
352LCRYPTO_USED(PKCS5_v2_PBE_keyivgen);
353LCRYPTO_USED(PKCS5_PBE_add);
354LCRYPTO_USED(EVP_PBE_CipherInit);
355LCRYPTO_USED(EVP_PBE_alg_add_type);
356LCRYPTO_USED(EVP_PBE_alg_add);
357LCRYPTO_USED(EVP_PBE_find);
358LCRYPTO_USED(EVP_PBE_cleanup);
359LCRYPTO_USED(EVP_PKEY_asn1_get_count);
360LCRYPTO_USED(EVP_PKEY_asn1_get0);
361LCRYPTO_USED(EVP_PKEY_asn1_find);
362LCRYPTO_USED(EVP_PKEY_asn1_find_str);
363LCRYPTO_USED(EVP_PKEY_asn1_add0);
364LCRYPTO_USED(EVP_PKEY_asn1_add_alias);
365LCRYPTO_USED(EVP_PKEY_asn1_get0_info);
366LCRYPTO_USED(EVP_PKEY_get0_asn1);
367LCRYPTO_USED(EVP_PKEY_asn1_new);
368LCRYPTO_USED(EVP_PKEY_asn1_copy);
369LCRYPTO_USED(EVP_PKEY_asn1_free);
370LCRYPTO_USED(EVP_PKEY_asn1_set_public);
371LCRYPTO_USED(EVP_PKEY_asn1_set_private);
372LCRYPTO_USED(EVP_PKEY_asn1_set_param);
373LCRYPTO_USED(EVP_PKEY_asn1_set_free);
374LCRYPTO_USED(EVP_PKEY_asn1_set_ctrl);
375LCRYPTO_USED(EVP_PKEY_asn1_set_security_bits);
376LCRYPTO_USED(EVP_PKEY_asn1_set_check);
377LCRYPTO_USED(EVP_PKEY_asn1_set_public_check);
378LCRYPTO_USED(EVP_PKEY_asn1_set_param_check);
379LCRYPTO_USED(EVP_PKEY_meth_find);
380LCRYPTO_USED(EVP_PKEY_meth_new);
381LCRYPTO_USED(EVP_PKEY_meth_get0_info);
382LCRYPTO_USED(EVP_PKEY_meth_copy);
383LCRYPTO_USED(EVP_PKEY_meth_free);
384LCRYPTO_USED(EVP_PKEY_meth_add0);
385LCRYPTO_USED(EVP_PKEY_CTX_new);
386LCRYPTO_USED(EVP_PKEY_CTX_new_id);
387LCRYPTO_USED(EVP_PKEY_CTX_dup);
388LCRYPTO_USED(EVP_PKEY_CTX_free);
389LCRYPTO_USED(EVP_PKEY_CTX_ctrl);
390LCRYPTO_USED(EVP_PKEY_CTX_ctrl_str);
391LCRYPTO_USED(EVP_PKEY_CTX_get_operation);
392LCRYPTO_USED(EVP_PKEY_CTX_set0_keygen_info);
393LCRYPTO_USED(EVP_PKEY_new_mac_key);
394LCRYPTO_USED(EVP_PKEY_new_CMAC_key);
395LCRYPTO_USED(EVP_PKEY_CTX_set_data);
396LCRYPTO_USED(EVP_PKEY_CTX_get_data);
397LCRYPTO_USED(EVP_PKEY_CTX_get0_pkey);
398LCRYPTO_USED(EVP_PKEY_CTX_get0_peerkey);
399LCRYPTO_USED(EVP_PKEY_CTX_set_app_data);
400LCRYPTO_USED(EVP_PKEY_CTX_get_app_data);
401LCRYPTO_USED(EVP_PKEY_sign_init);
402LCRYPTO_USED(EVP_PKEY_sign);
403LCRYPTO_USED(EVP_PKEY_verify_init);
404LCRYPTO_USED(EVP_PKEY_verify);
405LCRYPTO_USED(EVP_PKEY_verify_recover_init);
406LCRYPTO_USED(EVP_PKEY_verify_recover);
407LCRYPTO_USED(EVP_PKEY_encrypt_init);
408LCRYPTO_USED(EVP_PKEY_encrypt);
409LCRYPTO_USED(EVP_PKEY_decrypt_init);
410LCRYPTO_USED(EVP_PKEY_decrypt);
411LCRYPTO_USED(EVP_PKEY_derive_init);
412LCRYPTO_USED(EVP_PKEY_derive_set_peer);
413LCRYPTO_USED(EVP_PKEY_derive);
414LCRYPTO_USED(EVP_PKEY_paramgen_init);
415LCRYPTO_USED(EVP_PKEY_paramgen);
416LCRYPTO_USED(EVP_PKEY_keygen_init);
417LCRYPTO_USED(EVP_PKEY_keygen);
418LCRYPTO_USED(EVP_PKEY_check);
419LCRYPTO_USED(EVP_PKEY_public_check);
420LCRYPTO_USED(EVP_PKEY_param_check);
421LCRYPTO_USED(EVP_PKEY_CTX_set_cb);
422LCRYPTO_USED(EVP_PKEY_CTX_get_cb);
423LCRYPTO_USED(EVP_PKEY_CTX_get_keygen_info);
424LCRYPTO_USED(EVP_PKEY_meth_set_init);
425LCRYPTO_USED(EVP_PKEY_meth_set_copy);
426LCRYPTO_USED(EVP_PKEY_meth_set_cleanup);
427LCRYPTO_USED(EVP_PKEY_meth_set_paramgen);
428LCRYPTO_USED(EVP_PKEY_meth_set_keygen);
429LCRYPTO_USED(EVP_PKEY_meth_set_sign);
430LCRYPTO_USED(EVP_PKEY_meth_set_verify);
431LCRYPTO_USED(EVP_PKEY_meth_set_verify_recover);
432LCRYPTO_USED(EVP_PKEY_meth_set_signctx);
433LCRYPTO_USED(EVP_PKEY_meth_set_verifyctx);
434LCRYPTO_USED(EVP_PKEY_meth_set_encrypt);
435LCRYPTO_USED(EVP_PKEY_meth_set_decrypt);
436LCRYPTO_USED(EVP_PKEY_meth_set_derive);
437LCRYPTO_USED(EVP_PKEY_meth_set_ctrl);
438LCRYPTO_USED(EVP_PKEY_meth_set_check);
439LCRYPTO_USED(EVP_PKEY_meth_set_public_check);
440LCRYPTO_USED(EVP_PKEY_meth_set_param_check);
441LCRYPTO_USED(EVP_aead_aes_128_gcm);
442LCRYPTO_USED(EVP_aead_aes_256_gcm);
443LCRYPTO_USED(EVP_aead_chacha20_poly1305);
444LCRYPTO_USED(EVP_aead_xchacha20_poly1305);
445LCRYPTO_USED(EVP_AEAD_key_length);
446LCRYPTO_USED(EVP_AEAD_nonce_length);
447LCRYPTO_USED(EVP_AEAD_max_overhead);
448LCRYPTO_USED(EVP_AEAD_max_tag_len);
449LCRYPTO_USED(EVP_AEAD_CTX_new);
450LCRYPTO_USED(EVP_AEAD_CTX_free);
451LCRYPTO_USED(EVP_AEAD_CTX_init);
452LCRYPTO_USED(EVP_AEAD_CTX_cleanup);
453LCRYPTO_USED(EVP_AEAD_CTX_seal);
454LCRYPTO_USED(EVP_AEAD_CTX_open);
455LCRYPTO_USED(ERR_load_EVP_strings);
456
457#endif /* _LIBCRYPTO_EVP_H */
diff --git a/src/lib/libcrypto/hidden/openssl/hkdf.h b/src/lib/libcrypto/hidden/openssl/hkdf.h
new file mode 100644
index 0000000000..abb1241112
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/hkdf.h
@@ -0,0 +1,32 @@
1/* $OpenBSD: hkdf.h,v 1.1 2023/07/07 13:53:52 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_HKDF_H
19#define _LIBCRYPTO_HKDF_H
20
21#ifndef _MSC_VER
22#include_next <openssl/hkdf.h>
23#else
24#include "../include/openssl/hkdf.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(HKDF);
29LCRYPTO_USED(HKDF_extract);
30LCRYPTO_USED(HKDF_expand);
31
32#endif /* _LIBCRYPTO_HKDF_H */