summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorbeck <>2022-11-12 12:11:14 +0000
committerbeck <>2022-11-12 12:11:14 +0000
commit8125bebe702dcf9cd017a89ff37e993121fb18f0 (patch)
treefc201648a07e156fe9478f00bb73c7dd8c3c87e3 /src/lib
parentfc6cccc0c020e8fb32b30a3ff825f0c64a0af374 (diff)
downloadopenbsd-8125bebe702dcf9cd017a89ff37e993121fb18f0.tar.gz
openbsd-8125bebe702dcf9cd017a89ff37e993121fb18f0.tar.bz2
openbsd-8125bebe702dcf9cd017a89ff37e993121fb18f0.zip
Hide symbols in libcrypto/pkcs7
This applies the guentherizer 9000(tm) to pkcs7, after moving several pkcs7 funcitions back to pkcs7 that were in x509/x_all.c for reasons known only to the miasma. ok jsing@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/Symbols.namespace100
-rw-r--r--src/lib/libcrypto/hidden/openssl/pkcs7.h126
-rw-r--r--src/lib/libcrypto/pkcs7/bio_pk7.c3
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_asn1.c82
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_attr.c8
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_doit.c16
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_lib.c22
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_mime.c6
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_smime.c9
-rw-r--r--src/lib/libcrypto/pkcs7/pkcs7err.c3
-rw-r--r--src/lib/libcrypto/x509/x_all.c34
11 files changed, 368 insertions, 41 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 6ec4d6f648..db529f496b 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -28,3 +28,103 @@ _libre_sk_set_cmp_func
28_libre_sk_dup 28_libre_sk_dup
29_libre_sk_sort 29_libre_sk_sort
30_libre_sk_is_sorted 30_libre_sk_is_sorted
31_libre_PKCS7_ISSUER_AND_SERIAL_new
32_libre_PKCS7_ISSUER_AND_SERIAL_free
33_libre_d2i_PKCS7_ISSUER_AND_SERIAL
34_libre_i2d_PKCS7_ISSUER_AND_SERIAL
35_libre_PKCS7_ISSUER_AND_SERIAL_digest
36_libre_d2i_PKCS7_fp
37_libre_i2d_PKCS7_fp
38_libre_PKCS7_dup
39_libre_d2i_PKCS7_bio
40_libre_i2d_PKCS7_bio
41_libre_i2d_PKCS7_bio_stream
42_libre_PEM_write_bio_PKCS7_stream
43_libre_PKCS7_SIGNER_INFO_new
44_libre_PKCS7_SIGNER_INFO_free
45_libre_d2i_PKCS7_SIGNER_INFO
46_libre_i2d_PKCS7_SIGNER_INFO
47_libre_PKCS7_RECIP_INFO_new
48_libre_PKCS7_RECIP_INFO_free
49_libre_d2i_PKCS7_RECIP_INFO
50_libre_i2d_PKCS7_RECIP_INFO
51_libre_PKCS7_SIGNED_new
52_libre_PKCS7_SIGNED_free
53_libre_d2i_PKCS7_SIGNED
54_libre_i2d_PKCS7_SIGNED
55_libre_PKCS7_ENC_CONTENT_new
56_libre_PKCS7_ENC_CONTENT_free
57_libre_d2i_PKCS7_ENC_CONTENT
58_libre_i2d_PKCS7_ENC_CONTENT
59_libre_PKCS7_ENVELOPE_new
60_libre_PKCS7_ENVELOPE_free
61_libre_d2i_PKCS7_ENVELOPE
62_libre_i2d_PKCS7_ENVELOPE
63_libre_PKCS7_SIGN_ENVELOPE_new
64_libre_PKCS7_SIGN_ENVELOPE_free
65_libre_d2i_PKCS7_SIGN_ENVELOPE
66_libre_i2d_PKCS7_SIGN_ENVELOPE
67_libre_PKCS7_DIGEST_new
68_libre_PKCS7_DIGEST_free
69_libre_d2i_PKCS7_DIGEST
70_libre_i2d_PKCS7_DIGEST
71_libre_PKCS7_ENCRYPT_new
72_libre_PKCS7_ENCRYPT_free
73_libre_d2i_PKCS7_ENCRYPT
74_libre_i2d_PKCS7_ENCRYPT
75_libre_PKCS7_new
76_libre_PKCS7_free
77_libre_d2i_PKCS7
78_libre_i2d_PKCS7
79_libre_i2d_PKCS7_NDEF
80_libre_PKCS7_print_ctx
81_libre_PKCS7_ctrl
82_libre_PKCS7_set_type
83_libre_PKCS7_set0_type_other
84_libre_PKCS7_set_content
85_libre_PKCS7_SIGNER_INFO_set
86_libre_PKCS7_SIGNER_INFO_sign
87_libre_PKCS7_add_signer
88_libre_PKCS7_add_certificate
89_libre_PKCS7_add_crl
90_libre_PKCS7_content_new
91_libre_PKCS7_dataVerify
92_libre_PKCS7_signatureVerify
93_libre_PKCS7_dataInit
94_libre_PKCS7_dataFinal
95_libre_PKCS7_dataDecode
96_libre_PKCS7_add_signature
97_libre_PKCS7_cert_from_signer_info
98_libre_PKCS7_set_digest
99_libre_PKCS7_get_signer_info
100_libre_PKCS7_add_recipient
101_libre_PKCS7_SIGNER_INFO_get0_algs
102_libre_PKCS7_RECIP_INFO_get0_alg
103_libre_PKCS7_add_recipient_info
104_libre_PKCS7_RECIP_INFO_set
105_libre_PKCS7_set_cipher
106_libre_PKCS7_stream
107_libre_PKCS7_get_issuer_and_serial
108_libre_PKCS7_digest_from_attributes
109_libre_PKCS7_add_signed_attribute
110_libre_PKCS7_get_attribute
111_libre_PKCS7_get_signed_attribute
112_libre_PKCS7_set_signed_attributes
113_libre_PKCS7_set_attributes
114_libre_PKCS7_sign
115_libre_PKCS7_sign_add_signer
116_libre_PKCS7_final
117_libre_PKCS7_verify
118_libre_PKCS7_get0_signers
119_libre_PKCS7_encrypt
120_libre_PKCS7_decrypt
121_libre_PKCS7_add_attrib_smimecap
122_libre_PKCS7_get_smimecap
123_libre_PKCS7_simple_smimecap
124_libre_PKCS7_add_attrib_content_type
125_libre_PKCS7_add0_attrib_signing_time
126_libre_PKCS7_add1_attrib_digest
127_libre_SMIME_write_PKCS7
128_libre_SMIME_read_PKCS7
129_libre_BIO_new_PKCS7
130_libre_ERR_load_PKCS7_strings
diff --git a/src/lib/libcrypto/hidden/openssl/pkcs7.h b/src/lib/libcrypto/hidden/openssl/pkcs7.h
new file mode 100644
index 0000000000..147047bd7b
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/pkcs7.h
@@ -0,0 +1,126 @@
1/* $OpenBSD: pkcs7.h,v 1.1 2022/11/12 12:11:14 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_PKCS7_H
19#define _LIBCRYPTO_PKCS7_H
20
21#include_next <openssl/pkcs7.h>
22#include "crypto_namespace.h"
23
24LCRYPTO_USED(PKCS7_ISSUER_AND_SERIAL_new);
25LCRYPTO_USED(PKCS7_ISSUER_AND_SERIAL_free);
26LCRYPTO_USED(d2i_PKCS7_ISSUER_AND_SERIAL);
27LCRYPTO_USED(i2d_PKCS7_ISSUER_AND_SERIAL);
28LCRYPTO_USED(PKCS7_ISSUER_AND_SERIAL_digest);
29LCRYPTO_USED(d2i_PKCS7_fp);
30LCRYPTO_USED(i2d_PKCS7_fp);
31LCRYPTO_USED(PKCS7_dup);
32LCRYPTO_USED(d2i_PKCS7_bio);
33LCRYPTO_USED(i2d_PKCS7_bio);
34LCRYPTO_USED(i2d_PKCS7_bio_stream);
35LCRYPTO_USED(PEM_write_bio_PKCS7_stream);
36LCRYPTO_USED(PKCS7_SIGNER_INFO_new);
37LCRYPTO_USED(PKCS7_SIGNER_INFO_free);
38LCRYPTO_USED(d2i_PKCS7_SIGNER_INFO);
39LCRYPTO_USED(i2d_PKCS7_SIGNER_INFO);
40LCRYPTO_USED(PKCS7_RECIP_INFO_new);
41LCRYPTO_USED(PKCS7_RECIP_INFO_free);
42LCRYPTO_USED(d2i_PKCS7_RECIP_INFO);
43LCRYPTO_USED(i2d_PKCS7_RECIP_INFO);
44LCRYPTO_USED(PKCS7_SIGNED_new);
45LCRYPTO_USED(PKCS7_SIGNED_free);
46LCRYPTO_USED(d2i_PKCS7_SIGNED);
47LCRYPTO_USED(i2d_PKCS7_SIGNED);
48LCRYPTO_USED(PKCS7_ENC_CONTENT_new);
49LCRYPTO_USED(PKCS7_ENC_CONTENT_free);
50LCRYPTO_USED(d2i_PKCS7_ENC_CONTENT);
51LCRYPTO_USED(i2d_PKCS7_ENC_CONTENT);
52LCRYPTO_USED(PKCS7_ENVELOPE_new);
53LCRYPTO_USED(PKCS7_ENVELOPE_free);
54LCRYPTO_USED(d2i_PKCS7_ENVELOPE);
55LCRYPTO_USED(i2d_PKCS7_ENVELOPE);
56LCRYPTO_USED(PKCS7_SIGN_ENVELOPE_new);
57LCRYPTO_USED(PKCS7_SIGN_ENVELOPE_free);
58LCRYPTO_USED(d2i_PKCS7_SIGN_ENVELOPE);
59LCRYPTO_USED(i2d_PKCS7_SIGN_ENVELOPE);
60LCRYPTO_USED(PKCS7_DIGEST_new);
61LCRYPTO_USED(PKCS7_DIGEST_free);
62LCRYPTO_USED(d2i_PKCS7_DIGEST);
63LCRYPTO_USED(i2d_PKCS7_DIGEST);
64LCRYPTO_USED(PKCS7_ENCRYPT_new);
65LCRYPTO_USED(PKCS7_ENCRYPT_free);
66LCRYPTO_USED(d2i_PKCS7_ENCRYPT);
67LCRYPTO_USED(i2d_PKCS7_ENCRYPT);
68LCRYPTO_USED(PKCS7_new);
69LCRYPTO_USED(PKCS7_free);
70LCRYPTO_USED(d2i_PKCS7);
71LCRYPTO_USED(i2d_PKCS7);
72LCRYPTO_USED(i2d_PKCS7_NDEF);
73LCRYPTO_USED(PKCS7_print_ctx);
74LCRYPTO_USED(PKCS7_ctrl);
75LCRYPTO_USED(PKCS7_set_type);
76LCRYPTO_USED(PKCS7_set0_type_other);
77LCRYPTO_USED(PKCS7_set_content);
78LCRYPTO_USED(PKCS7_SIGNER_INFO_set);
79LCRYPTO_USED(PKCS7_SIGNER_INFO_sign);
80LCRYPTO_USED(PKCS7_add_signer);
81LCRYPTO_USED(PKCS7_add_certificate);
82LCRYPTO_USED(PKCS7_add_crl);
83LCRYPTO_USED(PKCS7_content_new);
84LCRYPTO_USED(PKCS7_dataVerify);
85LCRYPTO_USED(PKCS7_signatureVerify);
86LCRYPTO_USED(PKCS7_dataInit);
87LCRYPTO_USED(PKCS7_dataFinal);
88LCRYPTO_USED(PKCS7_dataDecode);
89LCRYPTO_USED(PKCS7_add_signature);
90LCRYPTO_USED(PKCS7_cert_from_signer_info);
91LCRYPTO_USED(PKCS7_set_digest);
92LCRYPTO_USED(PKCS7_get_signer_info);
93LCRYPTO_USED(PKCS7_add_recipient);
94LCRYPTO_USED(PKCS7_SIGNER_INFO_get0_algs);
95LCRYPTO_USED(PKCS7_RECIP_INFO_get0_alg);
96LCRYPTO_USED(PKCS7_add_recipient_info);
97LCRYPTO_USED(PKCS7_RECIP_INFO_set);
98LCRYPTO_USED(PKCS7_set_cipher);
99LCRYPTO_USED(PKCS7_stream);
100LCRYPTO_USED(PKCS7_get_issuer_and_serial);
101LCRYPTO_USED(PKCS7_digest_from_attributes);
102LCRYPTO_USED(PKCS7_add_signed_attribute);
103LCRYPTO_USED(PKCS7_add_attribute);
104LCRYPTO_USED(PKCS7_get_attribute);
105LCRYPTO_USED(PKCS7_get_signed_attribute);
106LCRYPTO_USED(PKCS7_set_signed_attributes);
107LCRYPTO_USED(PKCS7_set_attributes);
108LCRYPTO_USED(PKCS7_sign);
109LCRYPTO_USED(PKCS7_sign_add_signer);
110LCRYPTO_USED(PKCS7_final);
111LCRYPTO_USED(PKCS7_verify);
112LCRYPTO_USED(PKCS7_get0_signers);
113LCRYPTO_USED(PKCS7_encrypt);
114LCRYPTO_USED(PKCS7_decrypt);
115LCRYPTO_USED(PKCS7_add_attrib_smimecap);
116LCRYPTO_USED(PKCS7_get_smimecap);
117LCRYPTO_USED(PKCS7_simple_smimecap);
118LCRYPTO_USED(PKCS7_add_attrib_content_type);
119LCRYPTO_USED(PKCS7_add0_attrib_signing_time);
120LCRYPTO_USED(PKCS7_add1_attrib_digest);
121LCRYPTO_USED(SMIME_write_PKCS7);
122LCRYPTO_USED(SMIME_read_PKCS7);
123LCRYPTO_USED(BIO_new_PKCS7);
124LCRYPTO_USED(ERR_load_PKCS7_strings);
125
126#endif /* _LIBCRYPTO_PKCS7_H */
diff --git a/src/lib/libcrypto/pkcs7/bio_pk7.c b/src/lib/libcrypto/pkcs7/bio_pk7.c
index ad3c5e2698..5f02535484 100644
--- a/src/lib/libcrypto/pkcs7/bio_pk7.c
+++ b/src/lib/libcrypto/pkcs7/bio_pk7.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_pk7.c,v 1.5 2016/12/30 15:38:13 jsing Exp $ */ 1/* $OpenBSD: bio_pk7.c,v 1.6 2022/11/12 12:11:14 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 */
@@ -64,3 +64,4 @@ BIO_new_PKCS7(BIO *out, PKCS7 *p7)
64{ 64{
65 return BIO_new_NDEF(out, (ASN1_VALUE *)p7, &PKCS7_it); 65 return BIO_new_NDEF(out, (ASN1_VALUE *)p7, &PKCS7_it);
66} 66}
67LCRYPTO_ALIAS(BIO_new_PKCS7)
diff --git a/src/lib/libcrypto/pkcs7/pk7_asn1.c b/src/lib/libcrypto/pkcs7/pk7_asn1.c
index 66659051a6..b0c4ee8016 100644
--- a/src/lib/libcrypto/pkcs7/pk7_asn1.c
+++ b/src/lib/libcrypto/pkcs7/pk7_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_asn1.c,v 1.13 2022/01/14 08:16:13 tb Exp $ */ 1/* $OpenBSD: pk7_asn1.c,v 1.14 2022/11/12 12:11:14 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 2000. 3 * project 2000.
4 */ 4 */
@@ -221,36 +221,42 @@ d2i_PKCS7(PKCS7 **a, const unsigned char **in, long len)
221 return (PKCS7 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 221 return (PKCS7 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
222 &PKCS7_it); 222 &PKCS7_it);
223} 223}
224LCRYPTO_ALIAS(d2i_PKCS7)
224 225
225int 226int
226i2d_PKCS7(PKCS7 *a, unsigned char **out) 227i2d_PKCS7(PKCS7 *a, unsigned char **out)
227{ 228{
228 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_it); 229 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_it);
229} 230}
231LCRYPTO_ALIAS(i2d_PKCS7)
230 232
231PKCS7 * 233PKCS7 *
232PKCS7_new(void) 234PKCS7_new(void)
233{ 235{
234 return (PKCS7 *)ASN1_item_new(&PKCS7_it); 236 return (PKCS7 *)ASN1_item_new(&PKCS7_it);
235} 237}
238LCRYPTO_ALIAS(PKCS7_new)
236 239
237void 240void
238PKCS7_free(PKCS7 *a) 241PKCS7_free(PKCS7 *a)
239{ 242{
240 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_it); 243 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_it);
241} 244}
245LCRYPTO_ALIAS(PKCS7_free)
242 246
243int 247int
244i2d_PKCS7_NDEF(PKCS7 *a, unsigned char **out) 248i2d_PKCS7_NDEF(PKCS7 *a, unsigned char **out)
245{ 249{
246 return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, &PKCS7_it); 250 return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, &PKCS7_it);
247} 251}
252LCRYPTO_ALIAS(i2d_PKCS7_NDEF)
248 253
249PKCS7 * 254PKCS7 *
250PKCS7_dup(PKCS7 *x) 255PKCS7_dup(PKCS7 *x)
251{ 256{
252 return ASN1_item_dup(&PKCS7_it, x); 257 return ASN1_item_dup(&PKCS7_it, x);
253} 258}
259LCRYPTO_ALIAS(PKCS7_dup)
254 260
255static const ASN1_TEMPLATE PKCS7_SIGNED_seq_tt[] = { 261static const ASN1_TEMPLATE PKCS7_SIGNED_seq_tt[] = {
256 { 262 {
@@ -314,24 +320,28 @@ d2i_PKCS7_SIGNED(PKCS7_SIGNED **a, const unsigned char **in, long len)
314 return (PKCS7_SIGNED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 320 return (PKCS7_SIGNED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
315 &PKCS7_SIGNED_it); 321 &PKCS7_SIGNED_it);
316} 322}
323LCRYPTO_ALIAS(d2i_PKCS7_SIGNED)
317 324
318int 325int
319i2d_PKCS7_SIGNED(PKCS7_SIGNED *a, unsigned char **out) 326i2d_PKCS7_SIGNED(PKCS7_SIGNED *a, unsigned char **out)
320{ 327{
321 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_SIGNED_it); 328 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_SIGNED_it);
322} 329}
330LCRYPTO_ALIAS(i2d_PKCS7_SIGNED)
323 331
324PKCS7_SIGNED * 332PKCS7_SIGNED *
325PKCS7_SIGNED_new(void) 333PKCS7_SIGNED_new(void)
326{ 334{
327 return (PKCS7_SIGNED *)ASN1_item_new(&PKCS7_SIGNED_it); 335 return (PKCS7_SIGNED *)ASN1_item_new(&PKCS7_SIGNED_it);
328} 336}
337LCRYPTO_ALIAS(PKCS7_SIGNED_new)
329 338
330void 339void
331PKCS7_SIGNED_free(PKCS7_SIGNED *a) 340PKCS7_SIGNED_free(PKCS7_SIGNED *a)
332{ 341{
333 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_SIGNED_it); 342 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_SIGNED_it);
334} 343}
344LCRYPTO_ALIAS(PKCS7_SIGNED_free)
335 345
336/* Minor tweak to operation: free up EVP_PKEY */ 346/* Minor tweak to operation: free up EVP_PKEY */
337static int 347static int
@@ -426,24 +436,28 @@ d2i_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO **a, const unsigned char **in, long len)
426 return (PKCS7_SIGNER_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 436 return (PKCS7_SIGNER_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
427 &PKCS7_SIGNER_INFO_it); 437 &PKCS7_SIGNER_INFO_it);
428} 438}
439LCRYPTO_ALIAS(d2i_PKCS7_SIGNER_INFO)
429 440
430int 441int
431i2d_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO *a, unsigned char **out) 442i2d_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO *a, unsigned char **out)
432{ 443{
433 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_SIGNER_INFO_it); 444 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_SIGNER_INFO_it);
434} 445}
446LCRYPTO_ALIAS(i2d_PKCS7_SIGNER_INFO)
435 447
436PKCS7_SIGNER_INFO * 448PKCS7_SIGNER_INFO *
437PKCS7_SIGNER_INFO_new(void) 449PKCS7_SIGNER_INFO_new(void)
438{ 450{
439 return (PKCS7_SIGNER_INFO *)ASN1_item_new(&PKCS7_SIGNER_INFO_it); 451 return (PKCS7_SIGNER_INFO *)ASN1_item_new(&PKCS7_SIGNER_INFO_it);
440} 452}
453LCRYPTO_ALIAS(PKCS7_SIGNER_INFO_new)
441 454
442void 455void
443PKCS7_SIGNER_INFO_free(PKCS7_SIGNER_INFO *a) 456PKCS7_SIGNER_INFO_free(PKCS7_SIGNER_INFO *a)
444{ 457{
445 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_SIGNER_INFO_it); 458 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_SIGNER_INFO_it);
446} 459}
460LCRYPTO_ALIAS(PKCS7_SIGNER_INFO_free)
447 461
448static const ASN1_TEMPLATE PKCS7_ISSUER_AND_SERIAL_seq_tt[] = { 462static const ASN1_TEMPLATE PKCS7_ISSUER_AND_SERIAL_seq_tt[] = {
449 { 463 {
@@ -479,24 +493,28 @@ d2i_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL **a, const unsigned char **i
479 return (PKCS7_ISSUER_AND_SERIAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 493 return (PKCS7_ISSUER_AND_SERIAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
480 &PKCS7_ISSUER_AND_SERIAL_it); 494 &PKCS7_ISSUER_AND_SERIAL_it);
481} 495}
496LCRYPTO_ALIAS(d2i_PKCS7_ISSUER_AND_SERIAL)
482 497
483int 498int
484i2d_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL *a, unsigned char **out) 499i2d_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL *a, unsigned char **out)
485{ 500{
486 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ISSUER_AND_SERIAL_it); 501 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ISSUER_AND_SERIAL_it);
487} 502}
503LCRYPTO_ALIAS(i2d_PKCS7_ISSUER_AND_SERIAL)
488 504
489PKCS7_ISSUER_AND_SERIAL * 505PKCS7_ISSUER_AND_SERIAL *
490PKCS7_ISSUER_AND_SERIAL_new(void) 506PKCS7_ISSUER_AND_SERIAL_new(void)
491{ 507{
492 return (PKCS7_ISSUER_AND_SERIAL *)ASN1_item_new(&PKCS7_ISSUER_AND_SERIAL_it); 508 return (PKCS7_ISSUER_AND_SERIAL *)ASN1_item_new(&PKCS7_ISSUER_AND_SERIAL_it);
493} 509}
510LCRYPTO_ALIAS(PKCS7_ISSUER_AND_SERIAL_new)
494 511
495void 512void
496PKCS7_ISSUER_AND_SERIAL_free(PKCS7_ISSUER_AND_SERIAL *a) 513PKCS7_ISSUER_AND_SERIAL_free(PKCS7_ISSUER_AND_SERIAL *a)
497{ 514{
498 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ISSUER_AND_SERIAL_it); 515 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ISSUER_AND_SERIAL_it);
499} 516}
517LCRYPTO_ALIAS(PKCS7_ISSUER_AND_SERIAL_free)
500 518
501static const ASN1_TEMPLATE PKCS7_ENVELOPE_seq_tt[] = { 519static const ASN1_TEMPLATE PKCS7_ENVELOPE_seq_tt[] = {
502 { 520 {
@@ -539,24 +557,28 @@ d2i_PKCS7_ENVELOPE(PKCS7_ENVELOPE **a, const unsigned char **in, long len)
539 return (PKCS7_ENVELOPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 557 return (PKCS7_ENVELOPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
540 &PKCS7_ENVELOPE_it); 558 &PKCS7_ENVELOPE_it);
541} 559}
560LCRYPTO_ALIAS(d2i_PKCS7_ENVELOPE)
542 561
543int 562int
544i2d_PKCS7_ENVELOPE(PKCS7_ENVELOPE *a, unsigned char **out) 563i2d_PKCS7_ENVELOPE(PKCS7_ENVELOPE *a, unsigned char **out)
545{ 564{
546 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ENVELOPE_it); 565 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ENVELOPE_it);
547} 566}
567LCRYPTO_ALIAS(i2d_PKCS7_ENVELOPE)
548 568
549PKCS7_ENVELOPE * 569PKCS7_ENVELOPE *
550PKCS7_ENVELOPE_new(void) 570PKCS7_ENVELOPE_new(void)
551{ 571{
552 return (PKCS7_ENVELOPE *)ASN1_item_new(&PKCS7_ENVELOPE_it); 572 return (PKCS7_ENVELOPE *)ASN1_item_new(&PKCS7_ENVELOPE_it);
553} 573}
574LCRYPTO_ALIAS(PKCS7_ENVELOPE_new)
554 575
555void 576void
556PKCS7_ENVELOPE_free(PKCS7_ENVELOPE *a) 577PKCS7_ENVELOPE_free(PKCS7_ENVELOPE *a)
557{ 578{
558 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ENVELOPE_it); 579 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ENVELOPE_it);
559} 580}
581LCRYPTO_ALIAS(PKCS7_ENVELOPE_free)
560 582
561/* Minor tweak to operation: free up X509 */ 583/* Minor tweak to operation: free up X509 */
562static int 584static int
@@ -625,24 +647,28 @@ d2i_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO **a, const unsigned char **in, long len)
625 return (PKCS7_RECIP_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 647 return (PKCS7_RECIP_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
626 &PKCS7_RECIP_INFO_it); 648 &PKCS7_RECIP_INFO_it);
627} 649}
650LCRYPTO_ALIAS(d2i_PKCS7_RECIP_INFO)
628 651
629int 652int
630i2d_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO *a, unsigned char **out) 653i2d_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO *a, unsigned char **out)
631{ 654{
632 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_RECIP_INFO_it); 655 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_RECIP_INFO_it);
633} 656}
657LCRYPTO_ALIAS(i2d_PKCS7_RECIP_INFO)
634 658
635PKCS7_RECIP_INFO * 659PKCS7_RECIP_INFO *
636PKCS7_RECIP_INFO_new(void) 660PKCS7_RECIP_INFO_new(void)
637{ 661{
638 return (PKCS7_RECIP_INFO *)ASN1_item_new(&PKCS7_RECIP_INFO_it); 662 return (PKCS7_RECIP_INFO *)ASN1_item_new(&PKCS7_RECIP_INFO_it);
639} 663}
664LCRYPTO_ALIAS(PKCS7_RECIP_INFO_new)
640 665
641void 666void
642PKCS7_RECIP_INFO_free(PKCS7_RECIP_INFO *a) 667PKCS7_RECIP_INFO_free(PKCS7_RECIP_INFO *a)
643{ 668{
644 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_RECIP_INFO_it); 669 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_RECIP_INFO_it);
645} 670}
671LCRYPTO_ALIAS(PKCS7_RECIP_INFO_free)
646 672
647static const ASN1_TEMPLATE PKCS7_ENC_CONTENT_seq_tt[] = { 673static const ASN1_TEMPLATE PKCS7_ENC_CONTENT_seq_tt[] = {
648 { 674 {
@@ -685,24 +711,28 @@ d2i_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT **a, const unsigned char **in, long len)
685 return (PKCS7_ENC_CONTENT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 711 return (PKCS7_ENC_CONTENT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
686 &PKCS7_ENC_CONTENT_it); 712 &PKCS7_ENC_CONTENT_it);
687} 713}
714LCRYPTO_ALIAS(d2i_PKCS7_ENC_CONTENT)
688 715
689int 716int
690i2d_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT *a, unsigned char **out) 717i2d_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT *a, unsigned char **out)
691{ 718{
692 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ENC_CONTENT_it); 719 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ENC_CONTENT_it);
693} 720}
721LCRYPTO_ALIAS(i2d_PKCS7_ENC_CONTENT)
694 722
695PKCS7_ENC_CONTENT * 723PKCS7_ENC_CONTENT *
696PKCS7_ENC_CONTENT_new(void) 724PKCS7_ENC_CONTENT_new(void)
697{ 725{
698 return (PKCS7_ENC_CONTENT *)ASN1_item_new(&PKCS7_ENC_CONTENT_it); 726 return (PKCS7_ENC_CONTENT *)ASN1_item_new(&PKCS7_ENC_CONTENT_it);
699} 727}
728LCRYPTO_ALIAS(PKCS7_ENC_CONTENT_new)
700 729
701void 730void
702PKCS7_ENC_CONTENT_free(PKCS7_ENC_CONTENT *a) 731PKCS7_ENC_CONTENT_free(PKCS7_ENC_CONTENT *a)
703{ 732{
704 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ENC_CONTENT_it); 733 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ENC_CONTENT_it);
705} 734}
735LCRYPTO_ALIAS(PKCS7_ENC_CONTENT_free)
706 736
707static const ASN1_TEMPLATE PKCS7_SIGN_ENVELOPE_seq_tt[] = { 737static const ASN1_TEMPLATE PKCS7_SIGN_ENVELOPE_seq_tt[] = {
708 { 738 {
@@ -773,24 +803,28 @@ d2i_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE **a, const unsigned char **in, long
773 return (PKCS7_SIGN_ENVELOPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 803 return (PKCS7_SIGN_ENVELOPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
774 &PKCS7_SIGN_ENVELOPE_it); 804 &PKCS7_SIGN_ENVELOPE_it);
775} 805}
806LCRYPTO_ALIAS(d2i_PKCS7_SIGN_ENVELOPE)
776 807
777int 808int
778i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **out) 809i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **out)
779{ 810{
780 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_SIGN_ENVELOPE_it); 811 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_SIGN_ENVELOPE_it);
781} 812}
813LCRYPTO_ALIAS(i2d_PKCS7_SIGN_ENVELOPE)
782 814
783PKCS7_SIGN_ENVELOPE * 815PKCS7_SIGN_ENVELOPE *
784PKCS7_SIGN_ENVELOPE_new(void) 816PKCS7_SIGN_ENVELOPE_new(void)
785{ 817{
786 return (PKCS7_SIGN_ENVELOPE *)ASN1_item_new(&PKCS7_SIGN_ENVELOPE_it); 818 return (PKCS7_SIGN_ENVELOPE *)ASN1_item_new(&PKCS7_SIGN_ENVELOPE_it);
787} 819}
820LCRYPTO_ALIAS(PKCS7_SIGN_ENVELOPE_new)
788 821
789void 822void
790PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a) 823PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a)
791{ 824{
792 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_SIGN_ENVELOPE_it); 825 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_SIGN_ENVELOPE_it);
793} 826}
827LCRYPTO_ALIAS(PKCS7_SIGN_ENVELOPE_free)
794 828
795static const ASN1_TEMPLATE PKCS7_ENCRYPT_seq_tt[] = { 829static const ASN1_TEMPLATE PKCS7_ENCRYPT_seq_tt[] = {
796 { 830 {
@@ -826,24 +860,28 @@ d2i_PKCS7_ENCRYPT(PKCS7_ENCRYPT **a, const unsigned char **in, long len)
826 return (PKCS7_ENCRYPT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 860 return (PKCS7_ENCRYPT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
827 &PKCS7_ENCRYPT_it); 861 &PKCS7_ENCRYPT_it);
828} 862}
863LCRYPTO_ALIAS(d2i_PKCS7_ENCRYPT)
829 864
830int 865int
831i2d_PKCS7_ENCRYPT(PKCS7_ENCRYPT *a, unsigned char **out) 866i2d_PKCS7_ENCRYPT(PKCS7_ENCRYPT *a, unsigned char **out)
832{ 867{
833 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ENCRYPT_it); 868 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_ENCRYPT_it);
834} 869}
870LCRYPTO_ALIAS(i2d_PKCS7_ENCRYPT)
835 871
836PKCS7_ENCRYPT * 872PKCS7_ENCRYPT *
837PKCS7_ENCRYPT_new(void) 873PKCS7_ENCRYPT_new(void)
838{ 874{
839 return (PKCS7_ENCRYPT *)ASN1_item_new(&PKCS7_ENCRYPT_it); 875 return (PKCS7_ENCRYPT *)ASN1_item_new(&PKCS7_ENCRYPT_it);
840} 876}
877LCRYPTO_ALIAS(PKCS7_ENCRYPT_new)
841 878
842void 879void
843PKCS7_ENCRYPT_free(PKCS7_ENCRYPT *a) 880PKCS7_ENCRYPT_free(PKCS7_ENCRYPT *a)
844{ 881{
845 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ENCRYPT_it); 882 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_ENCRYPT_it);
846} 883}
884LCRYPTO_ALIAS(PKCS7_ENCRYPT_free)
847 885
848static const ASN1_TEMPLATE PKCS7_DIGEST_seq_tt[] = { 886static const ASN1_TEMPLATE PKCS7_DIGEST_seq_tt[] = {
849 { 887 {
@@ -893,24 +931,28 @@ d2i_PKCS7_DIGEST(PKCS7_DIGEST **a, const unsigned char **in, long len)
893 return (PKCS7_DIGEST *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 931 return (PKCS7_DIGEST *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
894 &PKCS7_DIGEST_it); 932 &PKCS7_DIGEST_it);
895} 933}
934LCRYPTO_ALIAS(d2i_PKCS7_DIGEST)
896 935
897int 936int
898i2d_PKCS7_DIGEST(PKCS7_DIGEST *a, unsigned char **out) 937i2d_PKCS7_DIGEST(PKCS7_DIGEST *a, unsigned char **out)
899{ 938{
900 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_DIGEST_it); 939 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS7_DIGEST_it);
901} 940}
941LCRYPTO_ALIAS(i2d_PKCS7_DIGEST)
902 942
903PKCS7_DIGEST * 943PKCS7_DIGEST *
904PKCS7_DIGEST_new(void) 944PKCS7_DIGEST_new(void)
905{ 945{
906 return (PKCS7_DIGEST *)ASN1_item_new(&PKCS7_DIGEST_it); 946 return (PKCS7_DIGEST *)ASN1_item_new(&PKCS7_DIGEST_it);
907} 947}
948LCRYPTO_ALIAS(PKCS7_DIGEST_new)
908 949
909void 950void
910PKCS7_DIGEST_free(PKCS7_DIGEST *a) 951PKCS7_DIGEST_free(PKCS7_DIGEST *a)
911{ 952{
912 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_DIGEST_it); 953 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_DIGEST_it);
913} 954}
955LCRYPTO_ALIAS(PKCS7_DIGEST_free)
914 956
915/* Specials for authenticated attributes */ 957/* Specials for authenticated attributes */
916 958
@@ -965,3 +1007,41 @@ PKCS7_print_ctx(BIO *out, PKCS7 *x, int indent, const ASN1_PCTX *pctx)
965 return ASN1_item_print(out, (ASN1_VALUE *)x, indent, 1007 return ASN1_item_print(out, (ASN1_VALUE *)x, indent,
966 &PKCS7_it, pctx); 1008 &PKCS7_it, pctx);
967} 1009}
1010LCRYPTO_ALIAS(PKCS7_print_ctx)
1011
1012PKCS7 *
1013d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
1014{
1015 return ASN1_item_d2i_bio(&PKCS7_it, bp, p7);
1016}
1017LCRYPTO_ALIAS(d2i_PKCS7_bio)
1018
1019int
1020i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
1021{
1022 return ASN1_item_i2d_bio(&PKCS7_it, bp, p7);
1023}
1024LCRYPTO_ALIAS(i2d_PKCS7_bio)
1025
1026PKCS7 *
1027d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
1028{
1029 return ASN1_item_d2i_fp(&PKCS7_it, fp, p7);
1030}
1031LCRYPTO_ALIAS(d2i_PKCS7_fp)
1032
1033int
1034i2d_PKCS7_fp(FILE *fp, PKCS7 *p7)
1035{
1036 return ASN1_item_i2d_fp(&PKCS7_it, fp, p7);
1037}
1038LCRYPTO_ALIAS(i2d_PKCS7_fp)
1039
1040int
1041PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,
1042 const EVP_MD *type, unsigned char *md, unsigned int *len)
1043{
1044 return(ASN1_item_digest(&PKCS7_ISSUER_AND_SERIAL_it, type,
1045 (char *)data, md, len));
1046}
1047LCRYPTO_ALIAS(PKCS7_ISSUER_AND_SERIAL_digest)
diff --git a/src/lib/libcrypto/pkcs7/pk7_attr.c b/src/lib/libcrypto/pkcs7/pk7_attr.c
index f882ba7795..1a5dc06dc5 100644
--- a/src/lib/libcrypto/pkcs7/pk7_attr.c
+++ b/src/lib/libcrypto/pkcs7/pk7_attr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_attr.c,v 1.12 2017/01/29 17:49:23 beck Exp $ */ 1/* $OpenBSD: pk7_attr.c,v 1.13 2022/11/12 12:11:14 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 */
@@ -79,6 +79,7 @@ PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, STACK_OF(X509_ALGOR) *cap)
79 return PKCS7_add_signed_attribute(si, NID_SMIMECapabilities, 79 return PKCS7_add_signed_attribute(si, NID_SMIMECapabilities,
80 V_ASN1_SEQUENCE, seq); 80 V_ASN1_SEQUENCE, seq);
81} 81}
82LCRYPTO_ALIAS(PKCS7_add_attrib_smimecap)
82 83
83STACK_OF(X509_ALGOR) * 84STACK_OF(X509_ALGOR) *
84PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si) 85PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si)
@@ -94,6 +95,7 @@ PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si)
94 ASN1_item_d2i(NULL, &p, cap->value.sequence->length, 95 ASN1_item_d2i(NULL, &p, cap->value.sequence->length,
95 &X509_ALGORS_it); 96 &X509_ALGORS_it);
96} 97}
98LCRYPTO_ALIAS(PKCS7_get_smimecap)
97 99
98/* Basic smime-capabilities OID and optional integer arg */ 100/* Basic smime-capabilities OID and optional integer arg */
99int 101int
@@ -130,6 +132,7 @@ err:
130 X509_ALGOR_free(alg); 132 X509_ALGOR_free(alg);
131 return 0; 133 return 0;
132} 134}
135LCRYPTO_ALIAS(PKCS7_simple_smimecap)
133 136
134int 137int
135PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid) 138PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid)
@@ -141,6 +144,7 @@ PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid)
141 return PKCS7_add_signed_attribute(si, NID_pkcs9_contentType, 144 return PKCS7_add_signed_attribute(si, NID_pkcs9_contentType,
142 V_ASN1_OBJECT, coid); 145 V_ASN1_OBJECT, coid);
143} 146}
147LCRYPTO_ALIAS(PKCS7_add_attrib_content_type)
144 148
145int 149int
146PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t) 150PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t)
@@ -152,6 +156,7 @@ PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t)
152 return PKCS7_add_signed_attribute(si, NID_pkcs9_signingTime, 156 return PKCS7_add_signed_attribute(si, NID_pkcs9_signingTime,
153 V_ASN1_UTCTIME, t); 157 V_ASN1_UTCTIME, t);
154} 158}
159LCRYPTO_ALIAS(PKCS7_add0_attrib_signing_time)
155 160
156int 161int
157PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md, 162PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md,
@@ -170,3 +175,4 @@ PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md,
170 } 175 }
171 return 1; 176 return 1;
172} 177}
178LCRYPTO_ALIAS(PKCS7_add1_attrib_digest)
diff --git a/src/lib/libcrypto/pkcs7/pk7_doit.c b/src/lib/libcrypto/pkcs7/pk7_doit.c
index b314069610..643cb4ce35 100644
--- a/src/lib/libcrypto/pkcs7/pk7_doit.c
+++ b/src/lib/libcrypto/pkcs7/pk7_doit.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_doit.c,v 1.47 2022/05/09 19:19:33 jsing Exp $ */ 1/* $OpenBSD: pk7_doit.c,v 1.48 2022/11/12 12:11:14 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -404,6 +404,7 @@ err:
404 } 404 }
405 return (out); 405 return (out);
406} 406}
407LCRYPTO_ALIAS(PKCS7_dataInit)
407 408
408static int 409static int
409pkcs7_cmp_ri(PKCS7_RECIP_INFO *ri, X509 *pcert) 410pkcs7_cmp_ri(PKCS7_RECIP_INFO *ri, X509 *pcert)
@@ -629,6 +630,7 @@ err:
629 } 630 }
630 return (out); 631 return (out);
631} 632}
633LCRYPTO_ALIAS(PKCS7_dataDecode)
632 634
633static BIO * 635static BIO *
634PKCS7_find_digest(EVP_MD_CTX **pmd, BIO *bio, int nid) 636PKCS7_find_digest(EVP_MD_CTX **pmd, BIO *bio, int nid)
@@ -857,6 +859,7 @@ err:
857 EVP_MD_CTX_cleanup(&ctx_tmp); 859 EVP_MD_CTX_cleanup(&ctx_tmp);
858 return (ret); 860 return (ret);
859} 861}
862LCRYPTO_ALIAS(PKCS7_dataFinal)
860 863
861int 864int
862PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si) 865PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si)
@@ -915,6 +918,7 @@ err:
915 EVP_MD_CTX_cleanup(&mctx); 918 EVP_MD_CTX_cleanup(&mctx);
916 return 0; 919 return 0;
917} 920}
921LCRYPTO_ALIAS(PKCS7_SIGNER_INFO_sign)
918 922
919int 923int
920PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, BIO *bio, 924PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, BIO *bio,
@@ -976,6 +980,7 @@ err:
976 980
977 return ret; 981 return ret;
978} 982}
983LCRYPTO_ALIAS(PKCS7_dataVerify)
979 984
980int 985int
981PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509) 986PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509)
@@ -1082,6 +1087,7 @@ err:
1082 EVP_MD_CTX_cleanup(&mdc_tmp); 1087 EVP_MD_CTX_cleanup(&mdc_tmp);
1083 return (ret); 1088 return (ret);
1084} 1089}
1090LCRYPTO_ALIAS(PKCS7_signatureVerify)
1085 1091
1086PKCS7_ISSUER_AND_SERIAL * 1092PKCS7_ISSUER_AND_SERIAL *
1087PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx) 1093PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx)
@@ -1104,18 +1110,21 @@ PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx)
1104 ri = sk_PKCS7_RECIP_INFO_value(rsk, idx); 1110 ri = sk_PKCS7_RECIP_INFO_value(rsk, idx);
1105 return (ri->issuer_and_serial); 1111 return (ri->issuer_and_serial);
1106} 1112}
1113LCRYPTO_ALIAS(PKCS7_get_issuer_and_serial)
1107 1114
1108ASN1_TYPE * 1115ASN1_TYPE *
1109PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid) 1116PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid)
1110{ 1117{
1111 return (get_attribute(si->auth_attr, nid)); 1118 return (get_attribute(si->auth_attr, nid));
1112} 1119}
1120LCRYPTO_ALIAS(PKCS7_get_signed_attribute)
1113 1121
1114ASN1_TYPE * 1122ASN1_TYPE *
1115PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid) 1123PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid)
1116{ 1124{
1117 return (get_attribute(si->unauth_attr, nid)); 1125 return (get_attribute(si->unauth_attr, nid));
1118} 1126}
1127LCRYPTO_ALIAS(PKCS7_get_attribute)
1119 1128
1120static ASN1_TYPE * 1129static ASN1_TYPE *
1121get_attribute(STACK_OF(X509_ATTRIBUTE) *sk, int nid) 1130get_attribute(STACK_OF(X509_ATTRIBUTE) *sk, int nid)
@@ -1146,6 +1155,7 @@ PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk)
1146 return NULL; 1155 return NULL;
1147 return astype->value.octet_string; 1156 return astype->value.octet_string;
1148} 1157}
1158LCRYPTO_ALIAS(PKCS7_digest_from_attributes)
1149 1159
1150int 1160int
1151PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, 1161PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si,
@@ -1167,6 +1177,7 @@ PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si,
1167 } 1177 }
1168 return (1); 1178 return (1);
1169} 1179}
1180LCRYPTO_ALIAS(PKCS7_set_signed_attributes)
1170 1181
1171int 1182int
1172PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE) *sk) 1183PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE) *sk)
@@ -1187,6 +1198,7 @@ PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE) *sk)
1187 } 1198 }
1188 return (1); 1199 return (1);
1189} 1200}
1201LCRYPTO_ALIAS(PKCS7_set_attributes)
1190 1202
1191int 1203int
1192PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, 1204PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,
@@ -1194,12 +1206,14 @@ PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,
1194{ 1206{
1195 return (add_attribute(&(p7si->auth_attr), nid, atrtype, value)); 1207 return (add_attribute(&(p7si->auth_attr), nid, atrtype, value));
1196} 1208}
1209LCRYPTO_ALIAS(PKCS7_add_signed_attribute)
1197 1210
1198int 1211int
1199PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, void *value) 1212PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, void *value)
1200{ 1213{
1201 return (add_attribute(&(p7si->unauth_attr), nid, atrtype, value)); 1214 return (add_attribute(&(p7si->unauth_attr), nid, atrtype, value));
1202} 1215}
1216LCRYPTO_ALIAS(PKCS7_add_attribute)
1203 1217
1204static int 1218static int
1205add_attribute(STACK_OF(X509_ATTRIBUTE) **sk, int nid, int atrtype, void *value) 1219add_attribute(STACK_OF(X509_ATTRIBUTE) **sk, int nid, int atrtype, void *value)
diff --git a/src/lib/libcrypto/pkcs7/pk7_lib.c b/src/lib/libcrypto/pkcs7/pk7_lib.c
index 7e92df1e9f..82268f6ad7 100644
--- a/src/lib/libcrypto/pkcs7/pk7_lib.c
+++ b/src/lib/libcrypto/pkcs7/pk7_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_lib.c,v 1.23 2021/12/12 21:30:14 tb Exp $ */ 1/* $OpenBSD: pk7_lib.c,v 1.24 2022/11/12 12:11:14 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -109,6 +109,7 @@ PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg)
109 } 109 }
110 return (ret); 110 return (ret);
111} 111}
112LCRYPTO_ALIAS(PKCS7_ctrl)
112 113
113int 114int
114PKCS7_content_new(PKCS7 *p7, int type) 115PKCS7_content_new(PKCS7 *p7, int type)
@@ -128,6 +129,7 @@ err:
128 PKCS7_free(ret); 129 PKCS7_free(ret);
129 return (0); 130 return (0);
130} 131}
132LCRYPTO_ALIAS(PKCS7_content_new)
131 133
132int 134int
133PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data) 135PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data)
@@ -158,6 +160,7 @@ PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data)
158err: 160err:
159 return (0); 161 return (0);
160} 162}
163LCRYPTO_ALIAS(PKCS7_set_content)
161 164
162int 165int
163PKCS7_set_type(PKCS7 *p7, int type) 166PKCS7_set_type(PKCS7 *p7, int type)
@@ -227,6 +230,7 @@ PKCS7_set_type(PKCS7 *p7, int type)
227err: 230err:
228 return (0); 231 return (0);
229} 232}
233LCRYPTO_ALIAS(PKCS7_set_type)
230 234
231int 235int
232PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other) 236PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other)
@@ -235,6 +239,7 @@ PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other)
235 p7->d.other = other; 239 p7->d.other = other;
236 return 1; 240 return 1;
237} 241}
242LCRYPTO_ALIAS(PKCS7_set0_type_other)
238 243
239int 244int
240PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi) 245PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi)
@@ -290,6 +295,7 @@ PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi)
290 return 0; 295 return 0;
291 return (1); 296 return (1);
292} 297}
298LCRYPTO_ALIAS(PKCS7_add_signer)
293 299
294int 300int
295PKCS7_add_certificate(PKCS7 *p7, X509 *x509) 301PKCS7_add_certificate(PKCS7 *p7, X509 *x509)
@@ -323,6 +329,7 @@ PKCS7_add_certificate(PKCS7 *p7, X509 *x509)
323 } 329 }
324 return (1); 330 return (1);
325} 331}
332LCRYPTO_ALIAS(PKCS7_add_certificate)
326 333
327int 334int
328PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl) 335PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl)
@@ -357,6 +364,7 @@ PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl)
357 } 364 }
358 return (1); 365 return (1);
359} 366}
367LCRYPTO_ALIAS(PKCS7_add_crl)
360 368
361int 369int
362PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, 370PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
@@ -401,6 +409,7 @@ PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
401err: 409err:
402 return 0; 410 return 0;
403} 411}
412LCRYPTO_ALIAS(PKCS7_SIGNER_INFO_set)
404 413
405PKCS7_SIGNER_INFO * 414PKCS7_SIGNER_INFO *
406PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst) 415PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst)
@@ -430,6 +439,7 @@ err:
430 PKCS7_SIGNER_INFO_free(si); 439 PKCS7_SIGNER_INFO_free(si);
431 return (NULL); 440 return (NULL);
432} 441}
442LCRYPTO_ALIAS(PKCS7_add_signature)
433 443
434int 444int
435PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md) 445PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md)
@@ -447,6 +457,7 @@ PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md)
447 PKCS7error(PKCS7_R_WRONG_CONTENT_TYPE); 457 PKCS7error(PKCS7_R_WRONG_CONTENT_TYPE);
448 return 1; 458 return 1;
449} 459}
460LCRYPTO_ALIAS(PKCS7_set_digest)
450 461
451STACK_OF(PKCS7_SIGNER_INFO) * 462STACK_OF(PKCS7_SIGNER_INFO) *
452PKCS7_get_signer_info(PKCS7 *p7) 463PKCS7_get_signer_info(PKCS7 *p7)
@@ -460,6 +471,7 @@ PKCS7_get_signer_info(PKCS7 *p7)
460 } else 471 } else
461 return (NULL); 472 return (NULL);
462} 473}
474LCRYPTO_ALIAS(PKCS7_get_signer_info)
463 475
464void 476void
465PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, 477PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk,
@@ -472,6 +484,7 @@ PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk,
472 if (psig) 484 if (psig)
473 *psig = si->digest_enc_alg; 485 *psig = si->digest_enc_alg;
474} 486}
487LCRYPTO_ALIAS(PKCS7_SIGNER_INFO_get0_algs)
475 488
476void 489void
477PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc) 490PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc)
@@ -479,6 +492,7 @@ PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc)
479 if (penc) 492 if (penc)
480 *penc = ri->key_enc_algor; 493 *penc = ri->key_enc_algor;
481} 494}
495LCRYPTO_ALIAS(PKCS7_RECIP_INFO_get0_alg)
482 496
483PKCS7_RECIP_INFO * 497PKCS7_RECIP_INFO *
484PKCS7_add_recipient(PKCS7 *p7, X509 *x509) 498PKCS7_add_recipient(PKCS7 *p7, X509 *x509)
@@ -497,6 +511,7 @@ err:
497 PKCS7_RECIP_INFO_free(ri); 511 PKCS7_RECIP_INFO_free(ri);
498 return NULL; 512 return NULL;
499} 513}
514LCRYPTO_ALIAS(PKCS7_add_recipient)
500 515
501int 516int
502PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri) 517PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri)
@@ -521,6 +536,7 @@ PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri)
521 return 0; 536 return 0;
522 return (1); 537 return (1);
523} 538}
539LCRYPTO_ALIAS(PKCS7_add_recipient_info)
524 540
525int 541int
526PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509) 542PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509)
@@ -567,6 +583,7 @@ err:
567 EVP_PKEY_free(pkey); 583 EVP_PKEY_free(pkey);
568 return 0; 584 return 0;
569} 585}
586LCRYPTO_ALIAS(PKCS7_RECIP_INFO_set)
570 587
571X509 * 588X509 *
572PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si) 589PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
@@ -578,6 +595,7 @@ PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
578 else 595 else
579 return (NULL); 596 return (NULL);
580} 597}
598LCRYPTO_ALIAS(PKCS7_cert_from_signer_info)
581 599
582int 600int
583PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher) 601PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
@@ -608,6 +626,7 @@ PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
608 ec->cipher = cipher; 626 ec->cipher = cipher;
609 return 1; 627 return 1;
610} 628}
629LCRYPTO_ALIAS(PKCS7_set_cipher)
611 630
612int 631int
613PKCS7_stream(unsigned char ***boundary, PKCS7 *p7) 632PKCS7_stream(unsigned char ***boundary, PKCS7 *p7)
@@ -652,3 +671,4 @@ PKCS7_stream(unsigned char ***boundary, PKCS7 *p7)
652 671
653 return 1; 672 return 1;
654} 673}
674LCRYPTO_ALIAS(PKCS7_stream)
diff --git a/src/lib/libcrypto/pkcs7/pk7_mime.c b/src/lib/libcrypto/pkcs7/pk7_mime.c
index fad331bf16..bf7d94584b 100644
--- a/src/lib/libcrypto/pkcs7/pk7_mime.c
+++ b/src/lib/libcrypto/pkcs7/pk7_mime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_mime.c,v 1.13 2016/12/30 15:38:13 jsing Exp $ */ 1/* $OpenBSD: pk7_mime.c,v 1.14 2022/11/12 12:11:14 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 */
@@ -66,6 +66,7 @@ i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
66 return i2d_ASN1_bio_stream(out, (ASN1_VALUE *)p7, in, flags, 66 return i2d_ASN1_bio_stream(out, (ASN1_VALUE *)p7, in, flags,
67 &PKCS7_it); 67 &PKCS7_it);
68} 68}
69LCRYPTO_ALIAS(i2d_PKCS7_bio_stream)
69 70
70int 71int
71PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags) 72PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
@@ -73,6 +74,7 @@ PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
73 return PEM_write_bio_ASN1_stream(out, (ASN1_VALUE *) p7, in, flags, 74 return PEM_write_bio_ASN1_stream(out, (ASN1_VALUE *) p7, in, flags,
74 "PKCS7", &PKCS7_it); 75 "PKCS7", &PKCS7_it);
75} 76}
77LCRYPTO_ALIAS(PEM_write_bio_PKCS7_stream)
76 78
77int 79int
78SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags) 80SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags)
@@ -90,9 +92,11 @@ SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags)
90 return SMIME_write_ASN1(bio, (ASN1_VALUE *)p7, data, flags, 92 return SMIME_write_ASN1(bio, (ASN1_VALUE *)p7, data, flags,
91 ctype_nid, NID_undef, mdalgs, &PKCS7_it); 93 ctype_nid, NID_undef, mdalgs, &PKCS7_it);
92} 94}
95LCRYPTO_ALIAS(SMIME_write_PKCS7)
93 96
94PKCS7 * 97PKCS7 *
95SMIME_read_PKCS7(BIO *bio, BIO **bcont) 98SMIME_read_PKCS7(BIO *bio, BIO **bcont)
96{ 99{
97 return (PKCS7 *)SMIME_read_ASN1(bio, bcont, &PKCS7_it); 100 return (PKCS7 *)SMIME_read_ASN1(bio, bcont, &PKCS7_it);
98} 101}
102LCRYPTO_ALIAS(SMIME_read_PKCS7)
diff --git a/src/lib/libcrypto/pkcs7/pk7_smime.c b/src/lib/libcrypto/pkcs7/pk7_smime.c
index f11d23e30d..a667daf75e 100644
--- a/src/lib/libcrypto/pkcs7/pk7_smime.c
+++ b/src/lib/libcrypto/pkcs7/pk7_smime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_smime.c,v 1.23 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: pk7_smime.c,v 1.24 2022/11/12 12:11:14 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 */
@@ -111,6 +111,7 @@ err:
111 PKCS7_free(p7); 111 PKCS7_free(p7);
112 return NULL; 112 return NULL;
113} 113}
114LCRYPTO_ALIAS(PKCS7_sign)
114 115
115int 116int
116PKCS7_final(PKCS7 *p7, BIO *data, int flags) 117PKCS7_final(PKCS7 *p7, BIO *data, int flags)
@@ -139,6 +140,7 @@ err:
139 140
140 return ret; 141 return ret;
141} 142}
143LCRYPTO_ALIAS(PKCS7_final)
142 144
143/* Check to see if a cipher exists and if so add S/MIME capabilities */ 145/* Check to see if a cipher exists and if so add S/MIME capabilities */
144 146
@@ -221,6 +223,7 @@ err:
221 sk_X509_ALGOR_pop_free(smcap, X509_ALGOR_free); 223 sk_X509_ALGOR_pop_free(smcap, X509_ALGOR_free);
222 return NULL; 224 return NULL;
223} 225}
226LCRYPTO_ALIAS(PKCS7_sign_add_signer)
224 227
225/* Search for a digest matching SignerInfo digest type and if found 228/* Search for a digest matching SignerInfo digest type and if found
226 * copy across. 229 * copy across.
@@ -423,6 +426,7 @@ err:
423 426
424 return ret; 427 return ret;
425} 428}
429LCRYPTO_ALIAS(PKCS7_verify)
426 430
427STACK_OF(X509) * 431STACK_OF(X509) *
428PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags) 432PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags)
@@ -481,6 +485,7 @@ PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags)
481 } 485 }
482 return signers; 486 return signers;
483} 487}
488LCRYPTO_ALIAS(PKCS7_get0_signers)
484 489
485/* Build a complete PKCS#7 enveloped data */ 490/* Build a complete PKCS#7 enveloped data */
486 491
@@ -524,6 +529,7 @@ err:
524 PKCS7_free(p7); 529 PKCS7_free(p7);
525 return NULL; 530 return NULL;
526} 531}
532LCRYPTO_ALIAS(PKCS7_encrypt)
527 533
528int 534int
529PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags) 535PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags)
@@ -590,3 +596,4 @@ PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags)
590 return ret; 596 return ret;
591 } 597 }
592} 598}
599LCRYPTO_ALIAS(PKCS7_decrypt)
diff --git a/src/lib/libcrypto/pkcs7/pkcs7err.c b/src/lib/libcrypto/pkcs7/pkcs7err.c
index bd3791e358..d2eab2d7f6 100644
--- a/src/lib/libcrypto/pkcs7/pkcs7err.c
+++ b/src/lib/libcrypto/pkcs7/pkcs7err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pkcs7err.c,v 1.13 2022/07/12 14:42:50 kn Exp $ */ 1/* $OpenBSD: pkcs7err.c,v 1.14 2022/11/12 12:11:14 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -140,3 +140,4 @@ ERR_load_PKCS7_strings(void)
140 } 140 }
141#endif 141#endif
142} 142}
143LCRYPTO_ALIAS(ERR_load_PKCS7_strings)
diff --git a/src/lib/libcrypto/x509/x_all.c b/src/lib/libcrypto/x509/x_all.c
index 0af130f339..ec5ed3dc6f 100644
--- a/src/lib/libcrypto/x509/x_all.c
+++ b/src/lib/libcrypto/x509/x_all.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_all.c,v 1.26 2022/06/26 04:14:43 tb Exp $ */ 1/* $OpenBSD: x_all.c,v 1.27 2022/11/12 12:11:14 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -123,30 +123,6 @@ i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl)
123 return ASN1_item_i2d_fp(&X509_CRL_it, fp, crl); 123 return ASN1_item_i2d_fp(&X509_CRL_it, fp, crl);
124} 124}
125 125
126PKCS7 *
127d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
128{
129 return ASN1_item_d2i_bio(&PKCS7_it, bp, p7);
130}
131
132int
133i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
134{
135 return ASN1_item_i2d_bio(&PKCS7_it, bp, p7);
136}
137
138PKCS7 *
139d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
140{
141 return ASN1_item_d2i_fp(&PKCS7_it, fp, p7);
142}
143
144int
145i2d_PKCS7_fp(FILE *fp, PKCS7 *p7)
146{
147 return ASN1_item_i2d_fp(&PKCS7_it, fp, p7);
148}
149
150X509_REQ * 126X509_REQ *
151d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) 127d2i_X509_REQ_bio(BIO *bp, X509_REQ **req)
152{ 128{
@@ -500,14 +476,6 @@ X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md,
500} 476}
501 477
502int 478int
503PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,
504 const EVP_MD *type, unsigned char *md, unsigned int *len)
505{
506 return(ASN1_item_digest(&PKCS7_ISSUER_AND_SERIAL_it, type,
507 (char *)data, md, len));
508}
509
510int
511X509_up_ref(X509 *x) 479X509_up_ref(X509 *x)
512{ 480{
513 int i = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509); 481 int i = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);