summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorbeck <>2022-11-12 13:03:28 +0000
committerbeck <>2022-11-12 13:03:28 +0000
commit3b3bd87c8ba6eed119f57fda3b29fee076d34d15 (patch)
tree3c487c55db43b27eefdd0c7bca85d721012e35a0 /src/lib
parent8125bebe702dcf9cd017a89ff37e993121fb18f0 (diff)
downloadopenbsd-3b3bd87c8ba6eed119f57fda3b29fee076d34d15.tar.gz
openbsd-3b3bd87c8ba6eed119f57fda3b29fee076d34d15.tar.bz2
openbsd-3b3bd87c8ba6eed119f57fda3b29fee076d34d15.zip
Hide symbols in libcrypto/pkcs12
ok jsing@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/Symbols.namespace77
-rw-r--r--src/lib/libcrypto/hidden/openssl/pkcs12.h102
-rw-r--r--src/lib/libcrypto/pkcs12/p12_add.c10
-rw-r--r--src/lib/libcrypto/pkcs12/p12_asn.c19
-rw-r--r--src/lib/libcrypto/pkcs12/p12_attr.c10
-rw-r--r--src/lib/libcrypto/pkcs12/p12_crpt.c4
-rw-r--r--src/lib/libcrypto/pkcs12/p12_crt.c7
-rw-r--r--src/lib/libcrypto/pkcs12/p12_decr.c5
-rw-r--r--src/lib/libcrypto/pkcs12/p12_init.c3
-rw-r--r--src/lib/libcrypto/pkcs12/p12_key.c4
-rw-r--r--src/lib/libcrypto/pkcs12/p12_kiss.c3
-rw-r--r--src/lib/libcrypto/pkcs12/p12_mutl.c8
-rw-r--r--src/lib/libcrypto/pkcs12/p12_npas.c3
-rw-r--r--src/lib/libcrypto/pkcs12/p12_p8d.c3
-rw-r--r--src/lib/libcrypto/pkcs12/p12_p8e.c3
-rw-r--r--src/lib/libcrypto/pkcs12/p12_sbag.c17
-rw-r--r--src/lib/libcrypto/pkcs12/p12_utl.c8
-rw-r--r--src/lib/libcrypto/pkcs12/pk12err.c3
18 files changed, 272 insertions, 17 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index db529f496b..0d524d4732 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -128,3 +128,80 @@ _libre_SMIME_write_PKCS7
128_libre_SMIME_read_PKCS7 128_libre_SMIME_read_PKCS7
129_libre_BIO_new_PKCS7 129_libre_BIO_new_PKCS7
130_libre_ERR_load_PKCS7_strings 130_libre_ERR_load_PKCS7_strings
131_libre_PKCS12_SAFEBAG_get0_attr
132_libre_PKCS12_SAFEBAG_get0_attrs
133_libre_PKCS12_SAFEBAG_get_nid
134_libre_PKCS12_SAFEBAG_get_bag_nid
135_libre_PKCS12_SAFEBAG_get1_cert
136_libre_PKCS12_SAFEBAG_get1_crl
137_libre_PKCS8_get_attr
138_libre_PKCS12_mac_present
139_libre_PKCS12_get0_mac
140_libre_PKCS12_SAFEBAG_create_cert
141_libre_PKCS12_SAFEBAG_create_crl
142_libre_PKCS12_SAFEBAG_create0_p8inf
143_libre_PKCS12_SAFEBAG_create0_pkcs8
144_libre_PKCS12_SAFEBAG_create_pkcs8_encrypt
145_libre_PKCS12_SAFEBAG_get0_p8inf
146_libre_PKCS12_SAFEBAG_get0_pkcs8
147_libre_PKCS12_SAFEBAG_get0_safes
148_libre_PKCS12_SAFEBAG_get0_type
149_libre_PKCS12_item_pack_safebag
150_libre_PKCS8_decrypt
151_libre_PKCS12_decrypt_skey
152_libre_PKCS8_encrypt
153_libre_PKCS12_pack_p7data
154_libre_PKCS12_unpack_p7data
155_libre_PKCS12_pack_p7encdata
156_libre_PKCS12_unpack_p7encdata
157_libre_PKCS12_pack_authsafes
158_libre_PKCS12_unpack_authsafes
159_libre_PKCS12_add_localkeyid
160_libre_PKCS12_add_friendlyname_asc
161_libre_PKCS12_add_CSPName_asc
162_libre_PKCS12_add_friendlyname_uni
163_libre_PKCS8_add_keyusage
164_libre_PKCS12_get_attr_gen
165_libre_PKCS12_get_friendlyname
166_libre_PKCS12_pbe_crypt
167_libre_PKCS12_item_decrypt_d2i
168_libre_PKCS12_item_i2d_encrypt
169_libre_PKCS12_init
170_libre_PKCS12_key_gen_asc
171_libre_PKCS12_key_gen_uni
172_libre_PKCS12_PBE_keyivgen
173_libre_PKCS12_gen_mac
174_libre_PKCS12_verify_mac
175_libre_PKCS12_set_mac
176_libre_PKCS12_setup_mac
177_libre_OPENSSL_asc2uni
178_libre_OPENSSL_uni2asc
179_libre_PKCS12_new
180_libre_PKCS12_free
181_libre_d2i_PKCS12
182_libre_i2d_PKCS12
183_libre_PKCS12_MAC_DATA_new
184_libre_PKCS12_MAC_DATA_free
185_libre_d2i_PKCS12_MAC_DATA
186_libre_i2d_PKCS12_MAC_DATA
187_libre_PKCS12_SAFEBAG_new
188_libre_PKCS12_SAFEBAG_free
189_libre_d2i_PKCS12_SAFEBAG
190_libre_i2d_PKCS12_SAFEBAG
191_libre_PKCS12_BAGS_new
192_libre_PKCS12_BAGS_free
193_libre_d2i_PKCS12_BAGS
194_libre_i2d_PKCS12_BAGS
195_libre_PKCS12_PBE_add
196_libre_PKCS12_parse
197_libre_PKCS12_create
198_libre_PKCS12_add_cert
199_libre_PKCS12_add_key
200_libre_PKCS12_add_safe
201_libre_PKCS12_add_safes
202_libre_i2d_PKCS12_bio
203_libre_i2d_PKCS12_fp
204_libre_d2i_PKCS12_bio
205_libre_d2i_PKCS12_fp
206_libre_PKCS12_newpass
207_libre_ERR_load_PKCS12_strings
diff --git a/src/lib/libcrypto/hidden/openssl/pkcs12.h b/src/lib/libcrypto/hidden/openssl/pkcs12.h
new file mode 100644
index 0000000000..c5f1f24722
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/pkcs12.h
@@ -0,0 +1,102 @@
1/* $OpenBSD: pkcs12.h,v 1.1 2022/11/12 13:03:28 beck Exp $ */
2/*
3 * Copyright (c) 2022 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_PKCS12_H
19#define _LIBCRYPTO_PKCS12_H
20
21#include_next <openssl/pkcs12.h>
22#include "crypto_namespace.h"
23
24LCRYPTO_USED(PKCS12_SAFEBAG_get0_attr);
25LCRYPTO_USED(PKCS12_SAFEBAG_get0_attrs);
26LCRYPTO_USED(PKCS12_SAFEBAG_get_nid);
27LCRYPTO_USED(PKCS12_SAFEBAG_get_bag_nid);
28LCRYPTO_USED(PKCS12_SAFEBAG_get1_cert);
29LCRYPTO_USED(PKCS12_SAFEBAG_get1_crl);
30LCRYPTO_USED(PKCS8_get_attr);
31LCRYPTO_USED(PKCS12_mac_present);
32LCRYPTO_USED(PKCS12_get0_mac);
33LCRYPTO_USED(PKCS12_SAFEBAG_create_cert);
34LCRYPTO_USED(PKCS12_SAFEBAG_create_crl);
35LCRYPTO_USED(PKCS12_SAFEBAG_create0_p8inf);
36LCRYPTO_USED(PKCS12_SAFEBAG_create0_pkcs8);
37LCRYPTO_USED(PKCS12_SAFEBAG_create_pkcs8_encrypt);
38LCRYPTO_USED(PKCS12_SAFEBAG_get0_p8inf);
39LCRYPTO_USED(PKCS12_SAFEBAG_get0_pkcs8);
40LCRYPTO_USED(PKCS12_SAFEBAG_get0_safes);
41LCRYPTO_USED(PKCS12_SAFEBAG_get0_type);
42LCRYPTO_USED(PKCS12_item_pack_safebag);
43LCRYPTO_USED(PKCS8_decrypt);
44LCRYPTO_USED(PKCS12_decrypt_skey);
45LCRYPTO_USED(PKCS8_encrypt);
46LCRYPTO_USED(PKCS12_pack_p7data);
47LCRYPTO_USED(PKCS12_unpack_p7data);
48LCRYPTO_USED(PKCS12_pack_p7encdata);
49LCRYPTO_USED(PKCS12_unpack_p7encdata);
50LCRYPTO_USED(PKCS12_pack_authsafes);
51LCRYPTO_USED(PKCS12_unpack_authsafes);
52LCRYPTO_USED(PKCS12_add_localkeyid);
53LCRYPTO_USED(PKCS12_add_friendlyname_asc);
54LCRYPTO_USED(PKCS12_add_CSPName_asc);
55LCRYPTO_USED(PKCS12_add_friendlyname_uni);
56LCRYPTO_USED(PKCS8_add_keyusage);
57LCRYPTO_USED(PKCS12_get_attr_gen);
58LCRYPTO_USED(PKCS12_get_friendlyname);
59LCRYPTO_USED(PKCS12_pbe_crypt);
60LCRYPTO_USED(PKCS12_item_decrypt_d2i);
61LCRYPTO_USED(PKCS12_item_i2d_encrypt);
62LCRYPTO_USED(PKCS12_init);
63LCRYPTO_USED(PKCS12_key_gen_asc);
64LCRYPTO_USED(PKCS12_key_gen_uni);
65LCRYPTO_USED(PKCS12_PBE_keyivgen);
66LCRYPTO_USED(PKCS12_gen_mac);
67LCRYPTO_USED(PKCS12_verify_mac);
68LCRYPTO_USED(PKCS12_set_mac);
69LCRYPTO_USED(PKCS12_setup_mac);
70LCRYPTO_USED(OPENSSL_asc2uni);
71LCRYPTO_USED(OPENSSL_uni2asc);
72LCRYPTO_USED(PKCS12_new);
73LCRYPTO_USED(PKCS12_free);
74LCRYPTO_USED(d2i_PKCS12);
75LCRYPTO_USED(i2d_PKCS12);
76LCRYPTO_USED(PKCS12_MAC_DATA_new);
77LCRYPTO_USED(PKCS12_MAC_DATA_free);
78LCRYPTO_USED(d2i_PKCS12_MAC_DATA);
79LCRYPTO_USED(i2d_PKCS12_MAC_DATA);
80LCRYPTO_USED(PKCS12_SAFEBAG_new);
81LCRYPTO_USED(PKCS12_SAFEBAG_free);
82LCRYPTO_USED(d2i_PKCS12_SAFEBAG);
83LCRYPTO_USED(i2d_PKCS12_SAFEBAG);
84LCRYPTO_USED(PKCS12_BAGS_new);
85LCRYPTO_USED(PKCS12_BAGS_free);
86LCRYPTO_USED(d2i_PKCS12_BAGS);
87LCRYPTO_USED(i2d_PKCS12_BAGS);
88LCRYPTO_USED(PKCS12_PBE_add);
89LCRYPTO_USED(PKCS12_parse);
90LCRYPTO_USED(PKCS12_create);
91LCRYPTO_USED(PKCS12_add_cert);
92LCRYPTO_USED(PKCS12_add_key);
93LCRYPTO_USED(PKCS12_add_safe);
94LCRYPTO_USED(PKCS12_add_safes);
95LCRYPTO_USED(i2d_PKCS12_bio);
96LCRYPTO_USED(i2d_PKCS12_fp);
97LCRYPTO_USED(d2i_PKCS12_bio);
98LCRYPTO_USED(d2i_PKCS12_fp);
99LCRYPTO_USED(PKCS12_newpass);
100LCRYPTO_USED(ERR_load_PKCS12_strings);
101
102#endif /* _LIBCRYPTO_PKCS12_H */
diff --git a/src/lib/libcrypto/pkcs12/p12_add.c b/src/lib/libcrypto/pkcs12/p12_add.c
index a7b8c1eaf8..66cb95b1db 100644
--- a/src/lib/libcrypto/pkcs12/p12_add.c
+++ b/src/lib/libcrypto/pkcs12/p12_add.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_add.c,v 1.20 2022/09/11 17:30:13 tb Exp $ */ 1/* $OpenBSD: p12_add.c,v 1.21 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -90,6 +90,7 @@ PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1, int nid2)
90 safebag->type = OBJ_nid2obj(nid2); 90 safebag->type = OBJ_nid2obj(nid2);
91 return safebag; 91 return safebag;
92} 92}
93LCRYPTO_ALIAS(PKCS12_item_pack_safebag)
93 94
94/* Turn a stack of SAFEBAGS into a PKCS#7 data Contentinfo */ 95/* Turn a stack of SAFEBAGS into a PKCS#7 data Contentinfo */
95PKCS7 * 96PKCS7 *
@@ -117,6 +118,7 @@ err:
117 PKCS7_free(p7); 118 PKCS7_free(p7);
118 return NULL; 119 return NULL;
119} 120}
121LCRYPTO_ALIAS(PKCS12_pack_p7data)
120 122
121/* Unpack SAFEBAGS from PKCS#7 data ContentInfo */ 123/* Unpack SAFEBAGS from PKCS#7 data ContentInfo */
122STACK_OF(PKCS12_SAFEBAG) * 124STACK_OF(PKCS12_SAFEBAG) *
@@ -128,6 +130,7 @@ PKCS12_unpack_p7data(PKCS7 *p7)
128 } 130 }
129 return ASN1_item_unpack(p7->d.data, &PKCS12_SAFEBAGS_it); 131 return ASN1_item_unpack(p7->d.data, &PKCS12_SAFEBAGS_it);
130} 132}
133LCRYPTO_ALIAS(PKCS12_unpack_p7data)
131 134
132/* Turn a stack of SAFEBAGS into a PKCS#7 encrypted data ContentInfo */ 135/* Turn a stack of SAFEBAGS into a PKCS#7 encrypted data ContentInfo */
133 136
@@ -174,6 +177,7 @@ err:
174 PKCS7_free(p7); 177 PKCS7_free(p7);
175 return NULL; 178 return NULL;
176} 179}
180LCRYPTO_ALIAS(PKCS12_pack_p7encdata)
177 181
178STACK_OF(PKCS12_SAFEBAG) * 182STACK_OF(PKCS12_SAFEBAG) *
179PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen) 183PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen)
@@ -184,12 +188,14 @@ PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen)
184 &PKCS12_SAFEBAGS_it, pass, passlen, 188 &PKCS12_SAFEBAGS_it, pass, passlen,
185 p7->d.encrypted->enc_data->enc_data, 1); 189 p7->d.encrypted->enc_data->enc_data, 1);
186} 190}
191LCRYPTO_ALIAS(PKCS12_unpack_p7encdata)
187 192
188PKCS8_PRIV_KEY_INFO * 193PKCS8_PRIV_KEY_INFO *
189PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, const char *pass, int passlen) 194PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, const char *pass, int passlen)
190{ 195{
191 return PKCS8_decrypt(bag->value.shkeybag, pass, passlen); 196 return PKCS8_decrypt(bag->value.shkeybag, pass, passlen);
192} 197}
198LCRYPTO_ALIAS(PKCS12_decrypt_skey)
193 199
194int 200int
195PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes) 201PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes)
@@ -199,6 +205,7 @@ PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes)
199 return 1; 205 return 1;
200 return 0; 206 return 0;
201} 207}
208LCRYPTO_ALIAS(PKCS12_pack_authsafes)
202 209
203STACK_OF(PKCS7) * 210STACK_OF(PKCS7) *
204PKCS12_unpack_authsafes(const PKCS12 *p12) 211PKCS12_unpack_authsafes(const PKCS12 *p12)
@@ -210,3 +217,4 @@ PKCS12_unpack_authsafes(const PKCS12 *p12)
210 return ASN1_item_unpack(p12->authsafes->d.data, 217 return ASN1_item_unpack(p12->authsafes->d.data,
211 &PKCS12_AUTHSAFES_it); 218 &PKCS12_AUTHSAFES_it);
212} 219}
220LCRYPTO_ALIAS(PKCS12_unpack_authsafes)
diff --git a/src/lib/libcrypto/pkcs12/p12_asn.c b/src/lib/libcrypto/pkcs12/p12_asn.c
index f8239eac62..c45482d5f1 100644
--- a/src/lib/libcrypto/pkcs12/p12_asn.c
+++ b/src/lib/libcrypto/pkcs12/p12_asn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_asn.c,v 1.12 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_asn.c,v 1.13 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -106,24 +106,28 @@ d2i_PKCS12(PKCS12 **a, const unsigned char **in, long len)
106 return (PKCS12 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 106 return (PKCS12 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
107 &PKCS12_it); 107 &PKCS12_it);
108} 108}
109LCRYPTO_ALIAS(d2i_PKCS12)
109 110
110int 111int
111i2d_PKCS12(PKCS12 *a, unsigned char **out) 112i2d_PKCS12(PKCS12 *a, unsigned char **out)
112{ 113{
113 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_it); 114 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_it);
114} 115}
116LCRYPTO_ALIAS(i2d_PKCS12)
115 117
116PKCS12 * 118PKCS12 *
117PKCS12_new(void) 119PKCS12_new(void)
118{ 120{
119 return (PKCS12 *)ASN1_item_new(&PKCS12_it); 121 return (PKCS12 *)ASN1_item_new(&PKCS12_it);
120} 122}
123LCRYPTO_ALIAS(PKCS12_new)
121 124
122void 125void
123PKCS12_free(PKCS12 *a) 126PKCS12_free(PKCS12 *a)
124{ 127{
125 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_it); 128 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_it);
126} 129}
130LCRYPTO_ALIAS(PKCS12_free)
127 131
128static const ASN1_TEMPLATE PKCS12_MAC_DATA_seq_tt[] = { 132static const ASN1_TEMPLATE PKCS12_MAC_DATA_seq_tt[] = {
129 { 133 {
@@ -166,24 +170,28 @@ d2i_PKCS12_MAC_DATA(PKCS12_MAC_DATA **a, const unsigned char **in, long len)
166 return (PKCS12_MAC_DATA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 170 return (PKCS12_MAC_DATA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
167 &PKCS12_MAC_DATA_it); 171 &PKCS12_MAC_DATA_it);
168} 172}
173LCRYPTO_ALIAS(d2i_PKCS12_MAC_DATA)
169 174
170int 175int
171i2d_PKCS12_MAC_DATA(PKCS12_MAC_DATA *a, unsigned char **out) 176i2d_PKCS12_MAC_DATA(PKCS12_MAC_DATA *a, unsigned char **out)
172{ 177{
173 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_MAC_DATA_it); 178 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_MAC_DATA_it);
174} 179}
180LCRYPTO_ALIAS(i2d_PKCS12_MAC_DATA)
175 181
176PKCS12_MAC_DATA * 182PKCS12_MAC_DATA *
177PKCS12_MAC_DATA_new(void) 183PKCS12_MAC_DATA_new(void)
178{ 184{
179 return (PKCS12_MAC_DATA *)ASN1_item_new(&PKCS12_MAC_DATA_it); 185 return (PKCS12_MAC_DATA *)ASN1_item_new(&PKCS12_MAC_DATA_it);
180} 186}
187LCRYPTO_ALIAS(PKCS12_MAC_DATA_new)
181 188
182void 189void
183PKCS12_MAC_DATA_free(PKCS12_MAC_DATA *a) 190PKCS12_MAC_DATA_free(PKCS12_MAC_DATA *a)
184{ 191{
185 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_MAC_DATA_it); 192 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_MAC_DATA_it);
186} 193}
194LCRYPTO_ALIAS(PKCS12_MAC_DATA_free)
187 195
188static const ASN1_TEMPLATE bag_default_tt = { 196static const ASN1_TEMPLATE bag_default_tt = {
189 .flags = ASN1_TFLG_EXPLICIT, 197 .flags = ASN1_TFLG_EXPLICIT,
@@ -272,24 +280,28 @@ d2i_PKCS12_BAGS(PKCS12_BAGS **a, const unsigned char **in, long len)
272 return (PKCS12_BAGS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 280 return (PKCS12_BAGS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
273 &PKCS12_BAGS_it); 281 &PKCS12_BAGS_it);
274} 282}
283LCRYPTO_ALIAS(d2i_PKCS12_BAGS)
275 284
276int 285int
277i2d_PKCS12_BAGS(PKCS12_BAGS *a, unsigned char **out) 286i2d_PKCS12_BAGS(PKCS12_BAGS *a, unsigned char **out)
278{ 287{
279 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_BAGS_it); 288 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_BAGS_it);
280} 289}
290LCRYPTO_ALIAS(i2d_PKCS12_BAGS)
281 291
282PKCS12_BAGS * 292PKCS12_BAGS *
283PKCS12_BAGS_new(void) 293PKCS12_BAGS_new(void)
284{ 294{
285 return (PKCS12_BAGS *)ASN1_item_new(&PKCS12_BAGS_it); 295 return (PKCS12_BAGS *)ASN1_item_new(&PKCS12_BAGS_it);
286} 296}
297LCRYPTO_ALIAS(PKCS12_BAGS_new)
287 298
288void 299void
289PKCS12_BAGS_free(PKCS12_BAGS *a) 300PKCS12_BAGS_free(PKCS12_BAGS *a)
290{ 301{
291 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_BAGS_it); 302 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_BAGS_it);
292} 303}
304LCRYPTO_ALIAS(PKCS12_BAGS_free)
293 305
294static const ASN1_TEMPLATE safebag_default_tt = { 306static const ASN1_TEMPLATE safebag_default_tt = {
295 .flags = ASN1_TFLG_EXPLICIT, 307 .flags = ASN1_TFLG_EXPLICIT,
@@ -417,24 +429,28 @@ d2i_PKCS12_SAFEBAG(PKCS12_SAFEBAG **a, const unsigned char **in, long len)
417 return (PKCS12_SAFEBAG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 429 return (PKCS12_SAFEBAG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
418 &PKCS12_SAFEBAG_it); 430 &PKCS12_SAFEBAG_it);
419} 431}
432LCRYPTO_ALIAS(d2i_PKCS12_SAFEBAG)
420 433
421int 434int
422i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **out) 435i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **out)
423{ 436{
424 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_SAFEBAG_it); 437 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_SAFEBAG_it);
425} 438}
439LCRYPTO_ALIAS(i2d_PKCS12_SAFEBAG)
426 440
427PKCS12_SAFEBAG * 441PKCS12_SAFEBAG *
428PKCS12_SAFEBAG_new(void) 442PKCS12_SAFEBAG_new(void)
429{ 443{
430 return (PKCS12_SAFEBAG *)ASN1_item_new(&PKCS12_SAFEBAG_it); 444 return (PKCS12_SAFEBAG *)ASN1_item_new(&PKCS12_SAFEBAG_it);
431} 445}
446LCRYPTO_ALIAS(PKCS12_SAFEBAG_new)
432 447
433void 448void
434PKCS12_SAFEBAG_free(PKCS12_SAFEBAG *a) 449PKCS12_SAFEBAG_free(PKCS12_SAFEBAG *a)
435{ 450{
436 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_SAFEBAG_it); 451 ASN1_item_free((ASN1_VALUE *)a, &PKCS12_SAFEBAG_it);
437} 452}
453LCRYPTO_ALIAS(PKCS12_SAFEBAG_free)
438 454
439/* SEQUENCE OF SafeBag */ 455/* SEQUENCE OF SafeBag */
440static const ASN1_TEMPLATE PKCS12_SAFEBAGS_item_tt = { 456static const ASN1_TEMPLATE PKCS12_SAFEBAGS_item_tt = {
@@ -473,4 +489,3 @@ const ASN1_ITEM PKCS12_AUTHSAFES_it = {
473 .size = 0, 489 .size = 0,
474 .sname = "PKCS12_AUTHSAFES", 490 .sname = "PKCS12_AUTHSAFES",
475}; 491};
476
diff --git a/src/lib/libcrypto/pkcs12/p12_attr.c b/src/lib/libcrypto/pkcs12/p12_attr.c
index 989a1476c2..f872127264 100644
--- a/src/lib/libcrypto/pkcs12/p12_attr.c
+++ b/src/lib/libcrypto/pkcs12/p12_attr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_attr.c,v 1.17 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_attr.c,v 1.18 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -74,6 +74,7 @@ PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, int namelen)
74 else 74 else
75 return 0; 75 return 0;
76} 76}
77LCRYPTO_ALIAS(PKCS12_add_localkeyid)
77 78
78/* Add key usage to PKCS#8 structure */ 79/* Add key usage to PKCS#8 structure */
79 80
@@ -85,6 +86,7 @@ PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage)
85 return PKCS8_pkey_add1_attr_by_NID(p8, NID_key_usage, V_ASN1_BIT_STRING, 86 return PKCS8_pkey_add1_attr_by_NID(p8, NID_key_usage, V_ASN1_BIT_STRING,
86 &us_val, 1); 87 &us_val, 1);
87} 88}
89LCRYPTO_ALIAS(PKCS8_add_keyusage)
88 90
89/* Add a friendlyname to a safebag */ 91/* Add a friendlyname to a safebag */
90 92
@@ -97,6 +99,7 @@ PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, int namelen)
97 else 99 else
98 return 0; 100 return 0;
99} 101}
102LCRYPTO_ALIAS(PKCS12_add_friendlyname_asc)
100 103
101 104
102int 105int
@@ -109,6 +112,7 @@ PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned char *name,
109 else 112 else
110 return 0; 113 return 0;
111} 114}
115LCRYPTO_ALIAS(PKCS12_add_friendlyname_uni)
112 116
113int 117int
114PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, int namelen) 118PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, int namelen)
@@ -119,6 +123,7 @@ PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, int namelen)
119 else 123 else
120 return 0; 124 return 0;
121} 125}
126LCRYPTO_ALIAS(PKCS12_add_CSPName_asc)
122 127
123ASN1_TYPE * 128ASN1_TYPE *
124PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid) 129PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid)
@@ -135,6 +140,7 @@ PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid)
135 } 140 }
136 return NULL; 141 return NULL;
137} 142}
143LCRYPTO_ALIAS(PKCS12_get_attr_gen)
138 144
139char * 145char *
140PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag) 146PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag)
@@ -148,9 +154,11 @@ PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag)
148 return OPENSSL_uni2asc(atype->value.bmpstring->data, 154 return OPENSSL_uni2asc(atype->value.bmpstring->data,
149 atype->value.bmpstring->length); 155 atype->value.bmpstring->length);
150} 156}
157LCRYPTO_ALIAS(PKCS12_get_friendlyname)
151 158
152const STACK_OF(X509_ATTRIBUTE) * 159const STACK_OF(X509_ATTRIBUTE) *
153PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag) 160PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag)
154{ 161{
155 return bag->attrib; 162 return bag->attrib;
156} 163}
164LCRYPTO_ALIAS(PKCS12_SAFEBAG_get0_attrs)
diff --git a/src/lib/libcrypto/pkcs12/p12_crpt.c b/src/lib/libcrypto/pkcs12/p12_crpt.c
index d21c9c178a..63474621cb 100644
--- a/src/lib/libcrypto/pkcs12/p12_crpt.c
+++ b/src/lib/libcrypto/pkcs12/p12_crpt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_crpt.c,v 1.15 2021/07/09 14:07:59 tb Exp $ */ 1/* $OpenBSD: p12_crpt.c,v 1.16 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -68,6 +68,7 @@ void
68PKCS12_PBE_add(void) 68PKCS12_PBE_add(void)
69{ 69{
70} 70}
71LCRYPTO_ALIAS(PKCS12_PBE_add)
71 72
72int 73int
73PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, 74PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
@@ -119,3 +120,4 @@ PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
119 explicit_bzero(iv, EVP_MAX_IV_LENGTH); 120 explicit_bzero(iv, EVP_MAX_IV_LENGTH);
120 return ret; 121 return ret;
121} 122}
123LCRYPTO_ALIAS(PKCS12_PBE_keyivgen)
diff --git a/src/lib/libcrypto/pkcs12/p12_crt.c b/src/lib/libcrypto/pkcs12/p12_crt.c
index 794b749fb8..79e21d9b92 100644
--- a/src/lib/libcrypto/pkcs12/p12_crt.c
+++ b/src/lib/libcrypto/pkcs12/p12_crt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_crt.c,v 1.20 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_crt.c,v 1.21 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -183,6 +183,7 @@ err:
183 sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free); 183 sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
184 return NULL; 184 return NULL;
185} 185}
186LCRYPTO_ALIAS(PKCS12_create)
186 187
187PKCS12_SAFEBAG * 188PKCS12_SAFEBAG *
188PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert) 189PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert)
@@ -220,6 +221,7 @@ err:
220 221
221 return NULL; 222 return NULL;
222} 223}
224LCRYPTO_ALIAS(PKCS12_add_cert)
223 225
224PKCS12_SAFEBAG * 226PKCS12_SAFEBAG *
225PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, EVP_PKEY *key, int key_usage, 227PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, EVP_PKEY *key, int key_usage,
@@ -260,6 +262,7 @@ err:
260 262
261 return NULL; 263 return NULL;
262} 264}
265LCRYPTO_ALIAS(PKCS12_add_key)
263 266
264int 267int
265PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, 268PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
@@ -303,6 +306,7 @@ err:
303 306
304 return 0; 307 return 0;
305} 308}
309LCRYPTO_ALIAS(PKCS12_add_safe)
306 310
307static int 311static int
308pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag) 312pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag)
@@ -349,3 +353,4 @@ PKCS12_add_safes(STACK_OF(PKCS7) *safes, int nid_p7)
349 353
350 return p12; 354 return p12;
351} 355}
356LCRYPTO_ALIAS(PKCS12_add_safes)
diff --git a/src/lib/libcrypto/pkcs12/p12_decr.c b/src/lib/libcrypto/pkcs12/p12_decr.c
index c352ba565c..2ce5c23526 100644
--- a/src/lib/libcrypto/pkcs12/p12_decr.c
+++ b/src/lib/libcrypto/pkcs12/p12_decr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_decr.c,v 1.21 2021/12/12 21:30:14 tb Exp $ */ 1/* $OpenBSD: p12_decr.c,v 1.22 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -116,6 +116,7 @@ err:
116 return out; 116 return out;
117 117
118} 118}
119LCRYPTO_ALIAS(PKCS12_pbe_crypt)
119 120
120/* Decrypt an OCTET STRING and decode ASN1 structure 121/* Decrypt an OCTET STRING and decode ASN1 structure
121 * if zbuf set zero buffer after use. 122 * if zbuf set zero buffer after use.
@@ -144,6 +145,7 @@ PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it,
144 free(out); 145 free(out);
145 return ret; 146 return ret;
146} 147}
148LCRYPTO_ALIAS(PKCS12_item_decrypt_d2i)
147 149
148/* Encode ASN1 structure and encrypt, return OCTET STRING 150/* Encode ASN1 structure and encrypt, return OCTET STRING
149 * if zbuf set zero encoding. 151 * if zbuf set zero encoding.
@@ -182,5 +184,6 @@ err:
182 ASN1_OCTET_STRING_free(oct); 184 ASN1_OCTET_STRING_free(oct);
183 return NULL; 185 return NULL;
184} 186}
187LCRYPTO_ALIAS(PKCS12_item_i2d_encrypt)
185 188
186IMPLEMENT_PKCS12_STACK_OF(PKCS7) 189IMPLEMENT_PKCS12_STACK_OF(PKCS7)
diff --git a/src/lib/libcrypto/pkcs12/p12_init.c b/src/lib/libcrypto/pkcs12/p12_init.c
index e305bde13a..b865017c8d 100644
--- a/src/lib/libcrypto/pkcs12/p12_init.c
+++ b/src/lib/libcrypto/pkcs12/p12_init.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_init.c,v 1.14 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_init.c,v 1.15 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -98,3 +98,4 @@ err:
98 PKCS12_free(pkcs12); 98 PKCS12_free(pkcs12);
99 return NULL; 99 return NULL;
100} 100}
101LCRYPTO_ALIAS(PKCS12_init)
diff --git a/src/lib/libcrypto/pkcs12/p12_key.c b/src/lib/libcrypto/pkcs12/p12_key.c
index d226525b0e..a122e76aab 100644
--- a/src/lib/libcrypto/pkcs12/p12_key.c
+++ b/src/lib/libcrypto/pkcs12/p12_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_key.c,v 1.31 2022/07/30 11:27:06 tb Exp $ */ 1/* $OpenBSD: p12_key.c,v 1.32 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -93,6 +93,7 @@ PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt,
93 freezero(unipass, uniplen); 93 freezero(unipass, uniplen);
94 return ret; 94 return ret;
95} 95}
96LCRYPTO_ALIAS(PKCS12_key_gen_asc)
96 97
97int 98int
98PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, 99PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,
@@ -193,3 +194,4 @@ PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,
193 194
194 return ret; 195 return ret;
195} 196}
197LCRYPTO_ALIAS(PKCS12_key_gen_uni)
diff --git a/src/lib/libcrypto/pkcs12/p12_kiss.c b/src/lib/libcrypto/pkcs12/p12_kiss.c
index f755185644..1cf2fa7d49 100644
--- a/src/lib/libcrypto/pkcs12/p12_kiss.c
+++ b/src/lib/libcrypto/pkcs12/p12_kiss.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_kiss.c,v 1.25 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_kiss.c,v 1.26 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -168,6 +168,7 @@ err:
168 168
169 return 0; 169 return 0;
170} 170}
171LCRYPTO_ALIAS(PKCS12_parse)
171 172
172/* Parse the outer PKCS#12 structure */ 173/* Parse the outer PKCS#12 structure */
173 174
diff --git a/src/lib/libcrypto/pkcs12/p12_mutl.c b/src/lib/libcrypto/pkcs12/p12_mutl.c
index b1aafe9b8e..68fb1b9e5d 100644
--- a/src/lib/libcrypto/pkcs12/p12_mutl.c
+++ b/src/lib/libcrypto/pkcs12/p12_mutl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_mutl.c,v 1.32 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_mutl.c,v 1.33 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -78,6 +78,7 @@ PKCS12_mac_present(const PKCS12 *p12)
78{ 78{
79 return p12->mac != NULL; 79 return p12->mac != NULL;
80} 80}
81LCRYPTO_ALIAS(PKCS12_mac_present)
81 82
82void 83void
83PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, const X509_ALGOR **pmacalg, 84PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, const X509_ALGOR **pmacalg,
@@ -105,6 +106,7 @@ PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, const X509_ALGOR **pmacalg,
105 if (piter != NULL) 106 if (piter != NULL)
106 *piter = p12->mac->iter; 107 *piter = p12->mac->iter;
107} 108}
109LCRYPTO_ALIAS(PKCS12_get0_mac)
108 110
109/* Generate a MAC */ 111/* Generate a MAC */
110int 112int
@@ -167,6 +169,7 @@ PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
167 169
168 return ret; 170 return ret;
169} 171}
172LCRYPTO_ALIAS(PKCS12_gen_mac)
170 173
171/* Verify the mac */ 174/* Verify the mac */
172int 175int
@@ -188,6 +191,7 @@ PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen)
188 return 0; 191 return 0;
189 return 1; 192 return 1;
190} 193}
194LCRYPTO_ALIAS(PKCS12_verify_mac)
191 195
192/* Set a mac */ 196/* Set a mac */
193 197
@@ -215,6 +219,7 @@ PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, unsigned char *salt,
215 } 219 }
216 return 1; 220 return 1;
217} 221}
222LCRYPTO_ALIAS(PKCS12_set_mac)
218 223
219/* Set up a mac structure */ 224/* Set up a mac structure */
220int 225int
@@ -254,4 +259,5 @@ PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen,
254 259
255 return 1; 260 return 1;
256} 261}
262LCRYPTO_ALIAS(PKCS12_setup_mac)
257#endif 263#endif
diff --git a/src/lib/libcrypto/pkcs12/p12_npas.c b/src/lib/libcrypto/pkcs12/p12_npas.c
index 7141e3ce88..e920480952 100644
--- a/src/lib/libcrypto/pkcs12/p12_npas.c
+++ b/src/lib/libcrypto/pkcs12/p12_npas.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_npas.c,v 1.15 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_npas.c,v 1.16 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -103,6 +103,7 @@ PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass)
103 103
104 return 1; 104 return 1;
105} 105}
106LCRYPTO_ALIAS(PKCS12_newpass)
106 107
107/* Parse the outer PKCS#12 structure */ 108/* Parse the outer PKCS#12 structure */
108 109
diff --git a/src/lib/libcrypto/pkcs12/p12_p8d.c b/src/lib/libcrypto/pkcs12/p12_p8d.c
index ce1b28bc29..cd08cfa9f6 100644
--- a/src/lib/libcrypto/pkcs12/p12_p8d.c
+++ b/src/lib/libcrypto/pkcs12/p12_p8d.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_p8d.c,v 1.8 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: p12_p8d.c,v 1.9 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
@@ -68,3 +68,4 @@ PKCS8_decrypt(const X509_SIG *p8, const char *pass, int passlen)
68 return PKCS12_item_decrypt_d2i(p8->algor, 68 return PKCS12_item_decrypt_d2i(p8->algor,
69 &PKCS8_PRIV_KEY_INFO_it, pass, passlen, p8->digest, 1); 69 &PKCS8_PRIV_KEY_INFO_it, pass, passlen, p8->digest, 1);
70} 70}
71LCRYPTO_ALIAS(PKCS8_decrypt)
diff --git a/src/lib/libcrypto/pkcs12/p12_p8e.c b/src/lib/libcrypto/pkcs12/p12_p8e.c
index 7f5f61d69f..b823ec330e 100644
--- a/src/lib/libcrypto/pkcs12/p12_p8e.c
+++ b/src/lib/libcrypto/pkcs12/p12_p8e.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_p8e.c,v 1.9 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: p12_p8e.c,v 1.10 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
@@ -100,3 +100,4 @@ err:
100 X509_SIG_free(p8); 100 X509_SIG_free(p8);
101 return NULL; 101 return NULL;
102} 102}
103LCRYPTO_ALIAS(PKCS8_encrypt)
diff --git a/src/lib/libcrypto/pkcs12/p12_sbag.c b/src/lib/libcrypto/pkcs12/p12_sbag.c
index cbcb02d23c..db6e3c0af8 100644
--- a/src/lib/libcrypto/pkcs12/p12_sbag.c
+++ b/src/lib/libcrypto/pkcs12/p12_sbag.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_sbag.c,v 1.5 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_sbag.c,v 1.6 2022/11/12 13:03:28 beck Exp $ */
2/* 2/*
3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project 3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project
4 * 1999-2018. 4 * 1999-2018.
@@ -70,12 +70,14 @@ PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag, int attr_nid)
70{ 70{
71 return PKCS12_get_attr_gen(bag->attrib, attr_nid); 71 return PKCS12_get_attr_gen(bag->attrib, attr_nid);
72} 72}
73LCRYPTO_ALIAS(PKCS12_SAFEBAG_get0_attr)
73 74
74ASN1_TYPE * 75ASN1_TYPE *
75PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid) 76PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid)
76{ 77{
77 return PKCS12_get_attr_gen(p8->attributes, attr_nid); 78 return PKCS12_get_attr_gen(p8->attributes, attr_nid);
78} 79}
80LCRYPTO_ALIAS(PKCS8_get_attr)
79 81
80const PKCS8_PRIV_KEY_INFO * 82const PKCS8_PRIV_KEY_INFO *
81PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag) 83PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag)
@@ -85,6 +87,7 @@ PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag)
85 87
86 return bag->value.keybag; 88 return bag->value.keybag;
87} 89}
90LCRYPTO_ALIAS(PKCS12_SAFEBAG_get0_p8inf)
88 91
89const X509_SIG * 92const X509_SIG *
90PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag) 93PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag)
@@ -94,6 +97,7 @@ PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag)
94 97
95 return bag->value.shkeybag; 98 return bag->value.shkeybag;
96} 99}
100LCRYPTO_ALIAS(PKCS12_SAFEBAG_get0_pkcs8)
97 101
98const STACK_OF(PKCS12_SAFEBAG) * 102const STACK_OF(PKCS12_SAFEBAG) *
99PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag) 103PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag)
@@ -103,18 +107,21 @@ PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag)
103 107
104 return bag->value.safes; 108 return bag->value.safes;
105} 109}
110LCRYPTO_ALIAS(PKCS12_SAFEBAG_get0_safes)
106 111
107const ASN1_OBJECT * 112const ASN1_OBJECT *
108PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag) 113PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag)
109{ 114{
110 return bag->type; 115 return bag->type;
111} 116}
117LCRYPTO_ALIAS(PKCS12_SAFEBAG_get0_type)
112 118
113int 119int
114PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag) 120PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag)
115{ 121{
116 return OBJ_obj2nid(bag->type); 122 return OBJ_obj2nid(bag->type);
117} 123}
124LCRYPTO_ALIAS(PKCS12_SAFEBAG_get_nid)
118 125
119int 126int
120PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag) 127PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag)
@@ -129,6 +136,7 @@ PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag)
129 136
130 return -1; 137 return -1;
131} 138}
139LCRYPTO_ALIAS(PKCS12_SAFEBAG_get_bag_nid)
132 140
133X509 * 141X509 *
134PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag) 142PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag)
@@ -139,6 +147,7 @@ PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag)
139 return NULL; 147 return NULL;
140 return ASN1_item_unpack(bag->value.bag->value.octet, &X509_it); 148 return ASN1_item_unpack(bag->value.bag->value.octet, &X509_it);
141} 149}
150LCRYPTO_ALIAS(PKCS12_SAFEBAG_get1_cert)
142 151
143X509_CRL * 152X509_CRL *
144PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag) 153PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag)
@@ -149,6 +158,7 @@ PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag)
149 return NULL; 158 return NULL;
150 return ASN1_item_unpack(bag->value.bag->value.octet, &X509_CRL_it); 159 return ASN1_item_unpack(bag->value.bag->value.octet, &X509_CRL_it);
151} 160}
161LCRYPTO_ALIAS(PKCS12_SAFEBAG_get1_crl)
152 162
153PKCS12_SAFEBAG * 163PKCS12_SAFEBAG *
154PKCS12_SAFEBAG_create_cert(X509 *x509) 164PKCS12_SAFEBAG_create_cert(X509 *x509)
@@ -156,6 +166,7 @@ PKCS12_SAFEBAG_create_cert(X509 *x509)
156 return PKCS12_item_pack_safebag(x509, &X509_it, 166 return PKCS12_item_pack_safebag(x509, &X509_it,
157 NID_x509Certificate, NID_certBag); 167 NID_x509Certificate, NID_certBag);
158} 168}
169LCRYPTO_ALIAS(PKCS12_SAFEBAG_create_cert)
159 170
160PKCS12_SAFEBAG * 171PKCS12_SAFEBAG *
161PKCS12_SAFEBAG_create_crl(X509_CRL *crl) 172PKCS12_SAFEBAG_create_crl(X509_CRL *crl)
@@ -163,6 +174,7 @@ PKCS12_SAFEBAG_create_crl(X509_CRL *crl)
163 return PKCS12_item_pack_safebag(crl, &X509_CRL_it, 174 return PKCS12_item_pack_safebag(crl, &X509_CRL_it,
164 NID_x509Crl, NID_crlBag); 175 NID_x509Crl, NID_crlBag);
165} 176}
177LCRYPTO_ALIAS(PKCS12_SAFEBAG_create_crl)
166 178
167/* Turn PKCS8 object into a keybag */ 179/* Turn PKCS8 object into a keybag */
168 180
@@ -181,6 +193,7 @@ PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8)
181 193
182 return bag; 194 return bag;
183} 195}
196LCRYPTO_ALIAS(PKCS12_SAFEBAG_create0_p8inf)
184 197
185/* Turn PKCS8 object into a shrouded keybag */ 198/* Turn PKCS8 object into a shrouded keybag */
186 199
@@ -200,6 +213,7 @@ PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8)
200 213
201 return bag; 214 return bag;
202} 215}
216LCRYPTO_ALIAS(PKCS12_SAFEBAG_create0_pkcs8)
203 217
204PKCS12_SAFEBAG * 218PKCS12_SAFEBAG *
205PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, const char *pass, int passlen, 219PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, const char *pass, int passlen,
@@ -223,3 +237,4 @@ PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, const char *pass, int passlen,
223 237
224 return bag; 238 return bag;
225} 239}
240LCRYPTO_ALIAS(PKCS12_SAFEBAG_create_pkcs8_encrypt)
diff --git a/src/lib/libcrypto/pkcs12/p12_utl.c b/src/lib/libcrypto/pkcs12/p12_utl.c
index 4fe557f626..0758e875ae 100644
--- a/src/lib/libcrypto/pkcs12/p12_utl.c
+++ b/src/lib/libcrypto/pkcs12/p12_utl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_utl.c,v 1.19 2022/09/11 17:30:13 tb Exp $ */ 1/* $OpenBSD: p12_utl.c,v 1.20 2022/11/12 13:03:28 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -100,6 +100,7 @@ OPENSSL_asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen)
100 *uni = unitmp; 100 *uni = unitmp;
101 return unitmp; 101 return unitmp;
102} 102}
103LCRYPTO_ALIAS(OPENSSL_asc2uni)
103 104
104char * 105char *
105OPENSSL_uni2asc(const unsigned char *uni, int unilen) 106OPENSSL_uni2asc(const unsigned char *uni, int unilen)
@@ -125,27 +126,32 @@ OPENSSL_uni2asc(const unsigned char *uni, int unilen)
125 asctmp[asclen - 1] = '\0'; 126 asctmp[asclen - 1] = '\0';
126 return asctmp; 127 return asctmp;
127} 128}
129LCRYPTO_ALIAS(OPENSSL_uni2asc)
128 130
129int 131int
130i2d_PKCS12_bio(BIO *bp, PKCS12 *p12) 132i2d_PKCS12_bio(BIO *bp, PKCS12 *p12)
131{ 133{
132 return ASN1_item_i2d_bio(&PKCS12_it, bp, p12); 134 return ASN1_item_i2d_bio(&PKCS12_it, bp, p12);
133} 135}
136LCRYPTO_ALIAS(i2d_PKCS12_bio)
134 137
135int 138int
136i2d_PKCS12_fp(FILE *fp, PKCS12 *p12) 139i2d_PKCS12_fp(FILE *fp, PKCS12 *p12)
137{ 140{
138 return ASN1_item_i2d_fp(&PKCS12_it, fp, p12); 141 return ASN1_item_i2d_fp(&PKCS12_it, fp, p12);
139} 142}
143LCRYPTO_ALIAS(i2d_PKCS12_fp)
140 144
141PKCS12 * 145PKCS12 *
142d2i_PKCS12_bio(BIO *bp, PKCS12 **p12) 146d2i_PKCS12_bio(BIO *bp, PKCS12 **p12)
143{ 147{
144 return ASN1_item_d2i_bio(&PKCS12_it, bp, p12); 148 return ASN1_item_d2i_bio(&PKCS12_it, bp, p12);
145} 149}
150LCRYPTO_ALIAS(d2i_PKCS12_bio)
146 151
147PKCS12 * 152PKCS12 *
148d2i_PKCS12_fp(FILE *fp, PKCS12 **p12) 153d2i_PKCS12_fp(FILE *fp, PKCS12 **p12)
149{ 154{
150 return ASN1_item_d2i_fp(&PKCS12_it, fp, p12); 155 return ASN1_item_d2i_fp(&PKCS12_it, fp, p12);
151} 156}
157LCRYPTO_ALIAS(d2i_PKCS12_fp)
diff --git a/src/lib/libcrypto/pkcs12/pk12err.c b/src/lib/libcrypto/pkcs12/pk12err.c
index 23166bfd59..7e9149288d 100644
--- a/src/lib/libcrypto/pkcs12/pk12err.c
+++ b/src/lib/libcrypto/pkcs12/pk12err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk12err.c,v 1.12 2022/07/12 14:42:50 kn Exp $ */ 1/* $OpenBSD: pk12err.c,v 1.13 2022/11/12 13:03:28 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -108,3 +108,4 @@ ERR_load_PKCS12_strings(void)
108 } 108 }
109#endif 109#endif
110} 110}
111LCRYPTO_ALIAS(ERR_load_PKCS12_strings)