summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbeck <>2024-04-09 13:55:02 +0000
committerbeck <>2024-04-09 13:55:02 +0000
commit64a4a93afb604f4128a9e9ef205ceba1a2a1d3f5 (patch)
tree1736883c9fc4f8aef245eb802f635ff161db7acb
parentb8c1a99fdb41738feb7a1352029c5f5aa42fed86 (diff)
downloadopenbsd-64a4a93afb604f4128a9e9ef205ceba1a2a1d3f5.tar.gz
openbsd-64a4a93afb604f4128a9e9ef205ceba1a2a1d3f5.tar.bz2
openbsd-64a4a93afb604f4128a9e9ef205ceba1a2a1d3f5.zip
Hide public symbols in x509.h
This picks up most of the remaining public symbols in x509.h ok tb@
-rw-r--r--src/lib/libcrypto/Symbols.namespace194
-rw-r--r--src/lib/libcrypto/asn1/a_strex.c4
-rw-r--r--src/lib/libcrypto/asn1/asn1_item.c6
-rw-r--r--src/lib/libcrypto/asn1/p8_pkey.c10
-rw-r--r--src/lib/libcrypto/asn1/t_crl.c4
-rw-r--r--src/lib/libcrypto/asn1/t_req.c5
-rw-r--r--src/lib/libcrypto/asn1/t_spki.c3
-rw-r--r--src/lib/libcrypto/asn1/t_x509.c10
-rw-r--r--src/lib/libcrypto/asn1/x_algor.c12
-rw-r--r--src/lib/libcrypto/asn1/x_attrib.c8
-rw-r--r--src/lib/libcrypto/asn1/x_crl.c31
-rw-r--r--src/lib/libcrypto/asn1/x_exten.c9
-rw-r--r--src/lib/libcrypto/asn1/x_info.c4
-rw-r--r--src/lib/libcrypto/asn1/x_name.c14
-rw-r--r--src/lib/libcrypto/asn1/x_pkey.c4
-rw-r--r--src/lib/libcrypto/asn1/x_pubkey.c35
-rw-r--r--src/lib/libcrypto/asn1/x_req.c13
-rw-r--r--src/lib/libcrypto/asn1/x_sig.c8
-rw-r--r--src/lib/libcrypto/asn1/x_spki.c10
-rw-r--r--src/lib/libcrypto/asn1/x_val.c6
-rw-r--r--src/lib/libcrypto/asn1/x_x509.c20
-rw-r--r--src/lib/libcrypto/asn1/x_x509a.c10
-rw-r--r--src/lib/libcrypto/evp/evp_pkey.c13
-rw-r--r--src/lib/libcrypto/hidden/openssl/x509.h196
24 files changed, 606 insertions, 23 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index e17e38e6f5..dfeff2e763 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2909,3 +2909,197 @@ _libre_EVP_AEAD_CTX_cleanup
2909_libre_EVP_AEAD_CTX_seal 2909_libre_EVP_AEAD_CTX_seal
2910_libre_EVP_AEAD_CTX_open 2910_libre_EVP_AEAD_CTX_open
2911_libre_ERR_load_EVP_strings 2911_libre_ERR_load_EVP_strings
2912_libre_X509_CRL_get_signature_nid
2913_libre_X509_CRL_get0_extensions
2914_libre_X509_CRL_get_version
2915_libre_X509_CRL_get0_lastUpdate
2916_libre_X509_CRL_get0_nextUpdate
2917_libre_X509_CRL_get_lastUpdate
2918_libre_X509_CRL_get_nextUpdate
2919_libre_X509_CRL_get_issuer
2920_libre_X509_CRL_get_REVOKED
2921_libre_X509_CRL_get0_signature
2922_libre_X509_CRL_get0_tbs_sigalg
2923_libre_X509_REQ_get_signature_nid
2924_libre_X509_REQ_get0_signature
2925_libre_X509_CRL_verify
2926_libre_NETSCAPE_SPKI_print
2927_libre_X509_signature_dump
2928_libre_X509_signature_print
2929_libre_d2i_RSA_PUBKEY_fp
2930_libre_i2d_RSA_PUBKEY_fp
2931_libre_d2i_DSA_PUBKEY_fp
2932_libre_i2d_DSA_PUBKEY_fp
2933_libre_d2i_EC_PUBKEY_fp
2934_libre_i2d_EC_PUBKEY_fp
2935_libre_i2d_PUBKEY_fp
2936_libre_d2i_PUBKEY_fp
2937_libre_d2i_RSA_PUBKEY_bio
2938_libre_i2d_RSA_PUBKEY_bio
2939_libre_d2i_DSA_PUBKEY_bio
2940_libre_i2d_DSA_PUBKEY_bio
2941_libre_d2i_EC_PUBKEY_bio
2942_libre_i2d_EC_PUBKEY_bio
2943_libre_i2d_PUBKEY_bio
2944_libre_d2i_PUBKEY_bio
2945_libre_X509_dup
2946_libre_X509_ATTRIBUTE_dup
2947_libre_X509_EXTENSION_dup
2948_libre_X509_CRL_dup
2949_libre_X509_REQ_dup
2950_libre_X509_ALGOR_dup
2951_libre_X509_ALGOR_set0
2952_libre_X509_ALGOR_get0
2953_libre_X509_ALGOR_cmp
2954_libre_X509_NAME_dup
2955_libre_X509_NAME_get0_der
2956_libre_X509_NAME_ENTRY_dup
2957_libre_X509_ALGOR_new
2958_libre_X509_ALGOR_free
2959_libre_d2i_X509_ALGOR
2960_libre_i2d_X509_ALGOR
2961_libre_d2i_X509_ALGORS
2962_libre_i2d_X509_ALGORS
2963_libre_X509_VAL_new
2964_libre_X509_VAL_free
2965_libre_d2i_X509_VAL
2966_libre_i2d_X509_VAL
2967_libre_X509_PUBKEY_new
2968_libre_X509_PUBKEY_free
2969_libre_d2i_X509_PUBKEY
2970_libre_i2d_X509_PUBKEY
2971_libre_X509_PUBKEY_set
2972_libre_X509_PUBKEY_get
2973_libre_X509_PUBKEY_get0
2974_libre_i2d_PUBKEY
2975_libre_d2i_PUBKEY
2976_libre_i2d_RSA_PUBKEY
2977_libre_d2i_RSA_PUBKEY
2978_libre_i2d_DSA_PUBKEY
2979_libre_d2i_DSA_PUBKEY
2980_libre_i2d_EC_PUBKEY
2981_libre_d2i_EC_PUBKEY
2982_libre_X509_SIG_new
2983_libre_X509_SIG_free
2984_libre_d2i_X509_SIG
2985_libre_i2d_X509_SIG
2986_libre_X509_SIG_get0
2987_libre_X509_SIG_getm
2988_libre_X509_REQ_INFO_new
2989_libre_X509_REQ_INFO_free
2990_libre_d2i_X509_REQ_INFO
2991_libre_i2d_X509_REQ_INFO
2992_libre_X509_REQ_new
2993_libre_X509_REQ_free
2994_libre_d2i_X509_REQ
2995_libre_i2d_X509_REQ
2996_libre_X509_ATTRIBUTE_new
2997_libre_X509_ATTRIBUTE_free
2998_libre_d2i_X509_ATTRIBUTE
2999_libre_i2d_X509_ATTRIBUTE
3000_libre_X509_ATTRIBUTE_create
3001_libre_X509_EXTENSION_new
3002_libre_X509_EXTENSION_free
3003_libre_d2i_X509_EXTENSION
3004_libre_i2d_X509_EXTENSION
3005_libre_d2i_X509_EXTENSIONS
3006_libre_i2d_X509_EXTENSIONS
3007_libre_X509_NAME_ENTRY_new
3008_libre_X509_NAME_ENTRY_free
3009_libre_d2i_X509_NAME_ENTRY
3010_libre_i2d_X509_NAME_ENTRY
3011_libre_X509_NAME_new
3012_libre_X509_NAME_free
3013_libre_d2i_X509_NAME
3014_libre_i2d_X509_NAME
3015_libre_X509_NAME_set
3016_libre_X509_CINF_new
3017_libre_X509_CINF_free
3018_libre_d2i_X509_CINF
3019_libre_i2d_X509_CINF
3020_libre_X509_new
3021_libre_X509_free
3022_libre_d2i_X509
3023_libre_i2d_X509
3024_libre_X509_get_ex_new_index
3025_libre_X509_set_ex_data
3026_libre_X509_get_ex_data
3027_libre_i2d_X509_AUX
3028_libre_d2i_X509_AUX
3029_libre_i2d_re_X509_tbs
3030_libre_X509_get0_signature
3031_libre_X509_get_signature_nid
3032_libre_X509_alias_set1
3033_libre_X509_keyid_set1
3034_libre_X509_alias_get0
3035_libre_X509_keyid_get0
3036_libre_X509_add1_trust_object
3037_libre_X509_add1_reject_object
3038_libre_X509_trust_clear
3039_libre_X509_reject_clear
3040_libre_X509_REVOKED_new
3041_libre_X509_REVOKED_free
3042_libre_X509_REVOKED_dup
3043_libre_d2i_X509_REVOKED
3044_libre_i2d_X509_REVOKED
3045_libre_X509_CRL_INFO_new
3046_libre_X509_CRL_INFO_free
3047_libre_d2i_X509_CRL_INFO
3048_libre_i2d_X509_CRL_INFO
3049_libre_X509_CRL_new
3050_libre_X509_CRL_free
3051_libre_d2i_X509_CRL
3052_libre_i2d_X509_CRL
3053_libre_X509_CRL_add0_revoked
3054_libre_X509_CRL_get0_by_serial
3055_libre_X509_CRL_get0_by_cert
3056_libre_X509_PKEY_new
3057_libre_X509_PKEY_free
3058_libre_NETSCAPE_SPKI_new
3059_libre_NETSCAPE_SPKI_free
3060_libre_d2i_NETSCAPE_SPKI
3061_libre_i2d_NETSCAPE_SPKI
3062_libre_NETSCAPE_SPKAC_new
3063_libre_NETSCAPE_SPKAC_free
3064_libre_d2i_NETSCAPE_SPKAC
3065_libre_i2d_NETSCAPE_SPKAC
3066_libre_X509_INFO_new
3067_libre_X509_INFO_free
3068_libre_ASN1_item_digest
3069_libre_ASN1_item_verify
3070_libre_ASN1_item_sign
3071_libre_ASN1_item_sign_ctx
3072_libre_X509_print_ex_fp
3073_libre_X509_print_fp
3074_libre_X509_CRL_print_fp
3075_libre_X509_REQ_print_fp
3076_libre_X509_NAME_print_ex_fp
3077_libre_X509_NAME_print
3078_libre_X509_NAME_print_ex
3079_libre_X509_print_ex
3080_libre_X509_print
3081_libre_X509_ocspid_print
3082_libre_X509_CRL_print
3083_libre_X509_REQ_print_ex
3084_libre_X509_REQ_print
3085_libre_EVP_PKEY_get_attr_count
3086_libre_EVP_PKEY_get_attr_by_NID
3087_libre_EVP_PKEY_get_attr_by_OBJ
3088_libre_EVP_PKEY_get_attr
3089_libre_EVP_PKEY_delete_attr
3090_libre_EVP_PKEY_add1_attr
3091_libre_EVP_PKEY_add1_attr_by_OBJ
3092_libre_EVP_PKEY_add1_attr_by_NID
3093_libre_EVP_PKEY_add1_attr_by_txt
3094_libre_PKCS8_PRIV_KEY_INFO_new
3095_libre_PKCS8_PRIV_KEY_INFO_free
3096_libre_d2i_PKCS8_PRIV_KEY_INFO
3097_libre_i2d_PKCS8_PRIV_KEY_INFO
3098_libre_EVP_PKCS82PKEY
3099_libre_EVP_PKEY2PKCS8
3100_libre_PKCS8_pkey_set0
3101_libre_PKCS8_pkey_get0
3102_libre_PKCS8_pkey_get0_attrs
3103_libre_PKCS8_pkey_add1_attr_by_NID
3104_libre_X509_PUBKEY_set0_param
3105_libre_X509_PUBKEY_get0_param
diff --git a/src/lib/libcrypto/asn1/a_strex.c b/src/lib/libcrypto/asn1/a_strex.c
index 17213cbd3a..4ca0a092ee 100644
--- a/src/lib/libcrypto/asn1/a_strex.c
+++ b/src/lib/libcrypto/asn1/a_strex.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_strex.c,v 1.34 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: a_strex.c,v 1.35 2024/04/09 13:55:02 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 */
@@ -570,6 +570,7 @@ X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
570 return X509_NAME_print(out, nm, indent); 570 return X509_NAME_print(out, nm, indent);
571 return do_name_ex(send_bio_chars, out, nm, indent, flags); 571 return do_name_ex(send_bio_chars, out, nm, indent, flags);
572} 572}
573LCRYPTO_ALIAS(X509_NAME_print_ex);
573 574
574int 575int
575X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, 576X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
@@ -587,6 +588,7 @@ X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
587 } 588 }
588 return do_name_ex(send_fp_chars, fp, nm, indent, flags); 589 return do_name_ex(send_fp_chars, fp, nm, indent, flags);
589} 590}
591LCRYPTO_ALIAS(X509_NAME_print_ex_fp);
590 592
591int 593int
592ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags) 594ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)
diff --git a/src/lib/libcrypto/asn1/asn1_item.c b/src/lib/libcrypto/asn1/asn1_item.c
index 99a08698c8..86c800e3ad 100644
--- a/src/lib/libcrypto/asn1/asn1_item.c
+++ b/src/lib/libcrypto/asn1/asn1_item.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_item.c,v 1.20 2024/01/28 14:43:48 joshua Exp $ */ 1/* $OpenBSD: asn1_item.c,v 1.21 2024/04/09 13:55:02 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 *
@@ -139,6 +139,7 @@ ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *asn,
139 free(str); 139 free(str);
140 return (1); 140 return (1);
141} 141}
142LCRYPTO_ALIAS(ASN1_item_digest);
142 143
143/* 144/*
144 * ASN1_ITEM version of ASN1_dup(): follows the same model except there's no 145 * ASN1_ITEM version of ASN1_dup(): follows the same model except there's no
@@ -237,6 +238,7 @@ ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
237 238
238 return ret; 239 return ret;
239} 240}
241LCRYPTO_ALIAS(ASN1_item_sign);
240 242
241static int 243static int
242asn1_item_set_algorithm_identifiers(EVP_MD_CTX *ctx, X509_ALGOR *algor1, 244asn1_item_set_algorithm_identifiers(EVP_MD_CTX *ctx, X509_ALGOR *algor1,
@@ -376,6 +378,7 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
376 378
377 return ret; 379 return ret;
378} 380}
381LCRYPTO_ALIAS(ASN1_item_sign_ctx);
379 382
380int 383int
381ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, 384ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
@@ -462,6 +465,7 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
462 465
463 return ret; 466 return ret;
464} 467}
468LCRYPTO_ALIAS(ASN1_item_verify);
465 469
466#define HEADER_SIZE 8 470#define HEADER_SIZE 8
467#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024) 471#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024)
diff --git a/src/lib/libcrypto/asn1/p8_pkey.c b/src/lib/libcrypto/asn1/p8_pkey.c
index 9e0cfc41da..149591414d 100644
--- a/src/lib/libcrypto/asn1/p8_pkey.c
+++ b/src/lib/libcrypto/asn1/p8_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p8_pkey.c,v 1.23 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: p8_pkey.c,v 1.24 2024/04/09 13:55:02 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 */
@@ -121,24 +121,28 @@ d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long
121 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 121 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
122 &PKCS8_PRIV_KEY_INFO_it); 122 &PKCS8_PRIV_KEY_INFO_it);
123} 123}
124LCRYPTO_ALIAS(d2i_PKCS8_PRIV_KEY_INFO);
124 125
125int 126int
126i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out) 127i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out)
127{ 128{
128 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it); 129 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it);
129} 130}
131LCRYPTO_ALIAS(i2d_PKCS8_PRIV_KEY_INFO);
130 132
131PKCS8_PRIV_KEY_INFO * 133PKCS8_PRIV_KEY_INFO *
132PKCS8_PRIV_KEY_INFO_new(void) 134PKCS8_PRIV_KEY_INFO_new(void)
133{ 135{
134 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it); 136 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
135} 137}
138LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_new);
136 139
137void 140void
138PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a) 141PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a)
139{ 142{
140 ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it); 143 ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it);
141} 144}
145LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_free);
142 146
143int 147int
144PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, 148PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
@@ -154,6 +158,7 @@ PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
154 ASN1_STRING_set0(priv->pkey, penc, penclen); 158 ASN1_STRING_set0(priv->pkey, penc, penclen);
155 return 1; 159 return 1;
156} 160}
161LCRYPTO_ALIAS(PKCS8_pkey_set0);
157 162
158int 163int
159PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk, 164PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
@@ -169,12 +174,14 @@ PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
169 *pa = p8->pkeyalg; 174 *pa = p8->pkeyalg;
170 return 1; 175 return 1;
171} 176}
177LCRYPTO_ALIAS(PKCS8_pkey_get0);
172 178
173const STACK_OF(X509_ATTRIBUTE) * 179const STACK_OF(X509_ATTRIBUTE) *
174PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8) 180PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)
175{ 181{
176 return p8->attributes; 182 return p8->attributes;
177} 183}
184LCRYPTO_ALIAS(PKCS8_pkey_get0_attrs);
178 185
179int 186int
180PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, 187PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
@@ -185,3 +192,4 @@ PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
185 return 1; 192 return 1;
186 return 0; 193 return 0;
187} 194}
195LCRYPTO_ALIAS(PKCS8_pkey_add1_attr_by_NID);
diff --git a/src/lib/libcrypto/asn1/t_crl.c b/src/lib/libcrypto/asn1/t_crl.c
index d662d99ec5..1ff6ea02ad 100644
--- a/src/lib/libcrypto/asn1/t_crl.c
+++ b/src/lib/libcrypto/asn1/t_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_crl.c,v 1.23 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: t_crl.c,v 1.24 2024/04/09 13:55:02 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 */
@@ -83,6 +83,7 @@ X509_CRL_print_fp(FILE *fp, X509_CRL *x)
83 BIO_free(b); 83 BIO_free(b);
84 return (ret); 84 return (ret);
85} 85}
86LCRYPTO_ALIAS(X509_CRL_print_fp);
86 87
87int 88int
88X509_CRL_print(BIO *out, X509_CRL *x) 89X509_CRL_print(BIO *out, X509_CRL *x)
@@ -143,3 +144,4 @@ X509_CRL_print(BIO *out, X509_CRL *x)
143 err: 144 err:
144 return 0; 145 return 0;
145} 146}
147LCRYPTO_ALIAS(X509_CRL_print);
diff --git a/src/lib/libcrypto/asn1/t_req.c b/src/lib/libcrypto/asn1/t_req.c
index 2fd9842434..ac011705ef 100644
--- a/src/lib/libcrypto/asn1/t_req.c
+++ b/src/lib/libcrypto/asn1/t_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_req.c,v 1.26 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: t_req.c,v 1.27 2024/04/09 13:55:02 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 *
@@ -91,6 +91,7 @@ X509_REQ_print_fp(FILE *fp, X509_REQ *x)
91 BIO_free(b); 91 BIO_free(b);
92 return (ret); 92 return (ret);
93} 93}
94LCRYPTO_ALIAS(X509_REQ_print_fp);
94 95
95int 96int
96X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, 97X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
@@ -254,9 +255,11 @@ X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
254 X509error(ERR_R_BUF_LIB); 255 X509error(ERR_R_BUF_LIB);
255 return (0); 256 return (0);
256} 257}
258LCRYPTO_ALIAS(X509_REQ_print_ex);
257 259
258int 260int
259X509_REQ_print(BIO *bp, X509_REQ *x) 261X509_REQ_print(BIO *bp, X509_REQ *x)
260{ 262{
261 return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); 263 return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
262} 264}
265LCRYPTO_ALIAS(X509_REQ_print);
diff --git a/src/lib/libcrypto/asn1/t_spki.c b/src/lib/libcrypto/asn1/t_spki.c
index 73996b66f6..1a315c1573 100644
--- a/src/lib/libcrypto/asn1/t_spki.c
+++ b/src/lib/libcrypto/asn1/t_spki.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_spki.c,v 1.16 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: t_spki.c,v 1.17 2024/04/09 13:55:02 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 */
@@ -113,3 +113,4 @@ NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
113 BIO_write(out, "\n", 1); 113 BIO_write(out, "\n", 1);
114 return 1; 114 return 1;
115} 115}
116LCRYPTO_ALIAS(NETSCAPE_SPKI_print);
diff --git a/src/lib/libcrypto/asn1/t_x509.c b/src/lib/libcrypto/asn1/t_x509.c
index 6f7bdc79fe..5e753f3278 100644
--- a/src/lib/libcrypto/asn1/t_x509.c
+++ b/src/lib/libcrypto/asn1/t_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_x509.c,v 1.44 2023/12/29 10:59:00 tb Exp $ */ 1/* $OpenBSD: t_x509.c,v 1.45 2024/04/09 13:55:02 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 *
@@ -85,6 +85,7 @@ X509_print_fp(FILE *fp, X509 *x)
85{ 85{
86 return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); 86 return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
87} 87}
88LCRYPTO_ALIAS(X509_print_fp);
88 89
89int 90int
90X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag) 91X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
@@ -101,12 +102,14 @@ X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
101 BIO_free(b); 102 BIO_free(b);
102 return (ret); 103 return (ret);
103} 104}
105LCRYPTO_ALIAS(X509_print_ex_fp);
104 106
105int 107int
106X509_print(BIO *bp, X509 *x) 108X509_print(BIO *bp, X509 *x)
107{ 109{
108 return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); 110 return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
109} 111}
112LCRYPTO_ALIAS(X509_print);
110 113
111int 114int
112X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) 115X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
@@ -250,6 +253,7 @@ X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
250 free(m); 253 free(m);
251 return (ret); 254 return (ret);
252} 255}
256LCRYPTO_ALIAS(X509_print_ex);
253 257
254int 258int
255X509_ocspid_print(BIO *bp, X509 *x) 259X509_ocspid_print(BIO *bp, X509 *x)
@@ -301,6 +305,7 @@ X509_ocspid_print(BIO *bp, X509 *x)
301 free(der); 305 free(der);
302 return (0); 306 return (0);
303} 307}
308LCRYPTO_ALIAS(X509_ocspid_print);
304 309
305int 310int
306X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent) 311X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
@@ -326,6 +331,7 @@ X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
326 331
327 return 1; 332 return 1;
328} 333}
334LCRYPTO_ALIAS(X509_signature_dump);
329 335
330int 336int
331X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig) 337X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
@@ -352,6 +358,7 @@ X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
352 return 0; 358 return 0;
353 return 1; 359 return 1;
354} 360}
361LCRYPTO_ALIAS(X509_signature_print);
355 362
356int 363int
357ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm) 364ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
@@ -513,3 +520,4 @@ X509_NAME_print(BIO *bp, const X509_NAME *name, int obase)
513 free(b); 520 free(b);
514 return (ret); 521 return (ret);
515} 522}
523LCRYPTO_ALIAS(X509_NAME_print);
diff --git a/src/lib/libcrypto/asn1/x_algor.c b/src/lib/libcrypto/asn1/x_algor.c
index 939ce4b669..71430e1fd8 100644
--- a/src/lib/libcrypto/asn1/x_algor.c
+++ b/src/lib/libcrypto/asn1/x_algor.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_algor.c,v 1.39 2024/03/02 10:33:51 tb Exp $ */ 1/* $OpenBSD: x_algor.c,v 1.40 2024/04/09 13:55:02 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 */
@@ -111,24 +111,28 @@ d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len)
111 return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 111 return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
112 &X509_ALGOR_it); 112 &X509_ALGOR_it);
113} 113}
114LCRYPTO_ALIAS(d2i_X509_ALGOR);
114 115
115int 116int
116i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out) 117i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out)
117{ 118{
118 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it); 119 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it);
119} 120}
121LCRYPTO_ALIAS(i2d_X509_ALGOR);
120 122
121X509_ALGOR * 123X509_ALGOR *
122X509_ALGOR_new(void) 124X509_ALGOR_new(void)
123{ 125{
124 return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it); 126 return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it);
125} 127}
128LCRYPTO_ALIAS(X509_ALGOR_new);
126 129
127void 130void
128X509_ALGOR_free(X509_ALGOR *a) 131X509_ALGOR_free(X509_ALGOR *a)
129{ 132{
130 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); 133 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
131} 134}
135LCRYPTO_ALIAS(X509_ALGOR_free);
132 136
133X509_ALGORS * 137X509_ALGORS *
134d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len) 138d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
@@ -136,18 +140,21 @@ d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
136 return (X509_ALGORS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 140 return (X509_ALGORS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
137 &X509_ALGORS_it); 141 &X509_ALGORS_it);
138} 142}
143LCRYPTO_ALIAS(d2i_X509_ALGORS);
139 144
140int 145int
141i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out) 146i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out)
142{ 147{
143 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it); 148 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it);
144} 149}
150LCRYPTO_ALIAS(i2d_X509_ALGORS);
145 151
146X509_ALGOR * 152X509_ALGOR *
147X509_ALGOR_dup(X509_ALGOR *x) 153X509_ALGOR_dup(X509_ALGOR *x)
148{ 154{
149 return ASN1_item_dup(&X509_ALGOR_it, x); 155 return ASN1_item_dup(&X509_ALGOR_it, x);
150} 156}
157LCRYPTO_ALIAS(X509_ALGOR_dup);
151 158
152static int 159static int
153X509_ALGOR_set0_obj(X509_ALGOR *alg, ASN1_OBJECT *aobj) 160X509_ALGOR_set0_obj(X509_ALGOR *alg, ASN1_OBJECT *aobj)
@@ -225,6 +232,7 @@ X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int parameter_type,
225 232
226 return 1; 233 return 1;
227} 234}
235LCRYPTO_ALIAS(X509_ALGOR_set0);
228 236
229void 237void
230X509_ALGOR_get0(const ASN1_OBJECT **out_aobj, int *out_type, 238X509_ALGOR_get0(const ASN1_OBJECT **out_aobj, int *out_type,
@@ -252,6 +260,7 @@ X509_ALGOR_get0(const ASN1_OBJECT **out_aobj, int *out_type,
252 if (out_value != NULL) 260 if (out_value != NULL)
253 *out_value = value; 261 *out_value = value;
254} 262}
263LCRYPTO_ALIAS(X509_ALGOR_get0);
255 264
256int 265int
257X509_ALGOR_set_evp_md(X509_ALGOR *alg, const EVP_MD *md) 266X509_ALGOR_set_evp_md(X509_ALGOR *alg, const EVP_MD *md)
@@ -281,3 +290,4 @@ X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
281 290
282 return ASN1_TYPE_cmp(a->parameter, b->parameter); 291 return ASN1_TYPE_cmp(a->parameter, b->parameter);
283} 292}
293LCRYPTO_ALIAS(X509_ALGOR_cmp);
diff --git a/src/lib/libcrypto/asn1/x_attrib.c b/src/lib/libcrypto/asn1/x_attrib.c
index 08206172fd..3e3ed38195 100644
--- a/src/lib/libcrypto/asn1/x_attrib.c
+++ b/src/lib/libcrypto/asn1/x_attrib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_attrib.c,v 1.21 2023/07/28 13:30:07 jsg Exp $ */ 1/* $OpenBSD: x_attrib.c,v 1.22 2024/04/09 13:55:02 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 *
@@ -98,30 +98,35 @@ d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len)
98 return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 98 return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
99 &X509_ATTRIBUTE_it); 99 &X509_ATTRIBUTE_it);
100} 100}
101LCRYPTO_ALIAS(d2i_X509_ATTRIBUTE);
101 102
102int 103int
103i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out) 104i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out)
104{ 105{
105 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it); 106 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it);
106} 107}
108LCRYPTO_ALIAS(i2d_X509_ATTRIBUTE);
107 109
108X509_ATTRIBUTE * 110X509_ATTRIBUTE *
109X509_ATTRIBUTE_new(void) 111X509_ATTRIBUTE_new(void)
110{ 112{
111 return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it); 113 return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it);
112} 114}
115LCRYPTO_ALIAS(X509_ATTRIBUTE_new);
113 116
114void 117void
115X509_ATTRIBUTE_free(X509_ATTRIBUTE *a) 118X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
116{ 119{
117 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); 120 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
118} 121}
122LCRYPTO_ALIAS(X509_ATTRIBUTE_free);
119 123
120X509_ATTRIBUTE * 124X509_ATTRIBUTE *
121X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x) 125X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
122{ 126{
123 return ASN1_item_dup(&X509_ATTRIBUTE_it, x); 127 return ASN1_item_dup(&X509_ATTRIBUTE_it, x);
124} 128}
129LCRYPTO_ALIAS(X509_ATTRIBUTE_dup);
125 130
126X509_ATTRIBUTE * 131X509_ATTRIBUTE *
127X509_ATTRIBUTE_create(int nid, int atrtype, void *value) 132X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
@@ -150,3 +155,4 @@ X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
150 ASN1_TYPE_free(val); 155 ASN1_TYPE_free(val);
151 return (NULL); 156 return (NULL);
152} 157}
158LCRYPTO_ALIAS(X509_ATTRIBUTE_create);
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c
index e3d16352a7..0e6047db0b 100644
--- a/src/lib/libcrypto/asn1/x_crl.c
+++ b/src/lib/libcrypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.43 2024/03/02 10:59:41 tb Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.44 2024/04/09 13:55:02 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 *
@@ -420,30 +420,35 @@ d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len)
420 return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 420 return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
421 &X509_REVOKED_it); 421 &X509_REVOKED_it);
422} 422}
423LCRYPTO_ALIAS(d2i_X509_REVOKED);
423 424
424int 425int
425i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out) 426i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out)
426{ 427{
427 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it); 428 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it);
428} 429}
430LCRYPTO_ALIAS(i2d_X509_REVOKED);
429 431
430X509_REVOKED * 432X509_REVOKED *
431X509_REVOKED_new(void) 433X509_REVOKED_new(void)
432{ 434{
433 return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it); 435 return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it);
434} 436}
437LCRYPTO_ALIAS(X509_REVOKED_new);
435 438
436void 439void
437X509_REVOKED_free(X509_REVOKED *a) 440X509_REVOKED_free(X509_REVOKED *a)
438{ 441{
439 ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it); 442 ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it);
440} 443}
444LCRYPTO_ALIAS(X509_REVOKED_free);
441 445
442X509_REVOKED * 446X509_REVOKED *
443X509_REVOKED_dup(X509_REVOKED *a) 447X509_REVOKED_dup(X509_REVOKED *a)
444{ 448{
445 return ASN1_item_dup(&X509_REVOKED_it, a); 449 return ASN1_item_dup(&X509_REVOKED_it, a);
446} 450}
451LCRYPTO_ALIAS(X509_REVOKED_dup);
447 452
448X509_CRL_INFO * 453X509_CRL_INFO *
449d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len) 454d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
@@ -451,24 +456,28 @@ d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
451 return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 456 return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
452 &X509_CRL_INFO_it); 457 &X509_CRL_INFO_it);
453} 458}
459LCRYPTO_ALIAS(d2i_X509_CRL_INFO);
454 460
455int 461int
456i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out) 462i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out)
457{ 463{
458 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it); 464 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it);
459} 465}
466LCRYPTO_ALIAS(i2d_X509_CRL_INFO);
460 467
461X509_CRL_INFO * 468X509_CRL_INFO *
462X509_CRL_INFO_new(void) 469X509_CRL_INFO_new(void)
463{ 470{
464 return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it); 471 return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it);
465} 472}
473LCRYPTO_ALIAS(X509_CRL_INFO_new);
466 474
467void 475void
468X509_CRL_INFO_free(X509_CRL_INFO *a) 476X509_CRL_INFO_free(X509_CRL_INFO *a)
469{ 477{
470 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it); 478 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it);
471} 479}
480LCRYPTO_ALIAS(X509_CRL_INFO_free);
472 481
473X509_CRL * 482X509_CRL *
474d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len) 483d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
@@ -476,30 +485,35 @@ d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
476 return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 485 return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
477 &X509_CRL_it); 486 &X509_CRL_it);
478} 487}
488LCRYPTO_ALIAS(d2i_X509_CRL);
479 489
480int 490int
481i2d_X509_CRL(X509_CRL *a, unsigned char **out) 491i2d_X509_CRL(X509_CRL *a, unsigned char **out)
482{ 492{
483 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it); 493 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it);
484} 494}
495LCRYPTO_ALIAS(i2d_X509_CRL);
485 496
486X509_CRL * 497X509_CRL *
487X509_CRL_new(void) 498X509_CRL_new(void)
488{ 499{
489 return (X509_CRL *)ASN1_item_new(&X509_CRL_it); 500 return (X509_CRL *)ASN1_item_new(&X509_CRL_it);
490} 501}
502LCRYPTO_ALIAS(X509_CRL_new);
491 503
492void 504void
493X509_CRL_free(X509_CRL *a) 505X509_CRL_free(X509_CRL *a)
494{ 506{
495 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); 507 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
496} 508}
509LCRYPTO_ALIAS(X509_CRL_free);
497 510
498X509_CRL * 511X509_CRL *
499X509_CRL_dup(X509_CRL *x) 512X509_CRL_dup(X509_CRL *x)
500{ 513{
501 return ASN1_item_dup(&X509_CRL_it, x); 514 return ASN1_item_dup(&X509_CRL_it, x);
502} 515}
516LCRYPTO_ALIAS(X509_CRL_dup);
503 517
504static int 518static int
505X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b) 519X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b)
@@ -522,6 +536,7 @@ X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev)
522 inf->enc.modified = 1; 536 inf->enc.modified = 1;
523 return 1; 537 return 1;
524} 538}
539LCRYPTO_ALIAS(X509_CRL_add0_revoked);
525 540
526int 541int
527X509_CRL_verify(X509_CRL *crl, EVP_PKEY *pkey) 542X509_CRL_verify(X509_CRL *crl, EVP_PKEY *pkey)
@@ -529,6 +544,7 @@ X509_CRL_verify(X509_CRL *crl, EVP_PKEY *pkey)
529 return ASN1_item_verify(&X509_CRL_INFO_it, crl->sig_alg, crl->signature, 544 return ASN1_item_verify(&X509_CRL_INFO_it, crl->sig_alg, crl->signature,
530 crl->crl, pkey); 545 crl->crl, pkey);
531} 546}
547LCRYPTO_ALIAS(X509_CRL_verify);
532 548
533static int 549static int
534crl_revoked_issuer_match(X509_CRL *crl, X509_NAME *nm, X509_REVOKED *rev) 550crl_revoked_issuer_match(X509_CRL *crl, X509_NAME *nm, X509_REVOKED *rev)
@@ -595,6 +611,7 @@ X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret,
595{ 611{
596 return crl_lookup(crl, ret, serial, NULL); 612 return crl_lookup(crl, ret, serial, NULL);
597} 613}
614LCRYPTO_ALIAS(X509_CRL_get0_by_serial);
598 615
599int 616int
600X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x) 617X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
@@ -602,60 +619,70 @@ X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
602 return crl_lookup(crl, ret, X509_get_serialNumber(x), 619 return crl_lookup(crl, ret, X509_get_serialNumber(x),
603 X509_get_issuer_name(x)); 620 X509_get_issuer_name(x));
604} 621}
622LCRYPTO_ALIAS(X509_CRL_get0_by_cert);
605 623
606int 624int
607X509_CRL_get_signature_nid(const X509_CRL *crl) 625X509_CRL_get_signature_nid(const X509_CRL *crl)
608{ 626{
609 return OBJ_obj2nid(crl->sig_alg->algorithm); 627 return OBJ_obj2nid(crl->sig_alg->algorithm);
610} 628}
629LCRYPTO_ALIAS(X509_CRL_get_signature_nid);
611 630
612const STACK_OF(X509_EXTENSION) * 631const STACK_OF(X509_EXTENSION) *
613X509_CRL_get0_extensions(const X509_CRL *crl) 632X509_CRL_get0_extensions(const X509_CRL *crl)
614{ 633{
615 return crl->crl->extensions; 634 return crl->crl->extensions;
616} 635}
636LCRYPTO_ALIAS(X509_CRL_get0_extensions);
617 637
618long 638long
619X509_CRL_get_version(const X509_CRL *crl) 639X509_CRL_get_version(const X509_CRL *crl)
620{ 640{
621 return ASN1_INTEGER_get(crl->crl->version); 641 return ASN1_INTEGER_get(crl->crl->version);
622} 642}
643LCRYPTO_ALIAS(X509_CRL_get_version);
623 644
624const ASN1_TIME * 645const ASN1_TIME *
625X509_CRL_get0_lastUpdate(const X509_CRL *crl) 646X509_CRL_get0_lastUpdate(const X509_CRL *crl)
626{ 647{
627 return crl->crl->lastUpdate; 648 return crl->crl->lastUpdate;
628} 649}
650LCRYPTO_ALIAS(X509_CRL_get0_lastUpdate);
629 651
630ASN1_TIME * 652ASN1_TIME *
631X509_CRL_get_lastUpdate(X509_CRL *crl) 653X509_CRL_get_lastUpdate(X509_CRL *crl)
632{ 654{
633 return crl->crl->lastUpdate; 655 return crl->crl->lastUpdate;
634} 656}
657LCRYPTO_ALIAS(X509_CRL_get_lastUpdate);
635 658
636const ASN1_TIME * 659const ASN1_TIME *
637X509_CRL_get0_nextUpdate(const X509_CRL *crl) 660X509_CRL_get0_nextUpdate(const X509_CRL *crl)
638{ 661{
639 return crl->crl->nextUpdate; 662 return crl->crl->nextUpdate;
640} 663}
664LCRYPTO_ALIAS(X509_CRL_get0_nextUpdate);
641 665
642ASN1_TIME * 666ASN1_TIME *
643X509_CRL_get_nextUpdate(X509_CRL *crl) 667X509_CRL_get_nextUpdate(X509_CRL *crl)
644{ 668{
645 return crl->crl->nextUpdate; 669 return crl->crl->nextUpdate;
646} 670}
671LCRYPTO_ALIAS(X509_CRL_get_nextUpdate);
647 672
648X509_NAME * 673X509_NAME *
649X509_CRL_get_issuer(const X509_CRL *crl) 674X509_CRL_get_issuer(const X509_CRL *crl)
650{ 675{
651 return crl->crl->issuer; 676 return crl->crl->issuer;
652} 677}
678LCRYPTO_ALIAS(X509_CRL_get_issuer);
653 679
654STACK_OF(X509_REVOKED) * 680STACK_OF(X509_REVOKED) *
655X509_CRL_get_REVOKED(X509_CRL *crl) 681X509_CRL_get_REVOKED(X509_CRL *crl)
656{ 682{
657 return crl->crl->revoked; 683 return crl->crl->revoked;
658} 684}
685LCRYPTO_ALIAS(X509_CRL_get_REVOKED);
659 686
660void 687void
661X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, 688X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
@@ -666,9 +693,11 @@ X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
666 if (palg != NULL) 693 if (palg != NULL)
667 *palg = crl->sig_alg; 694 *palg = crl->sig_alg;
668} 695}
696LCRYPTO_ALIAS(X509_CRL_get0_signature);
669 697
670const X509_ALGOR * 698const X509_ALGOR *
671X509_CRL_get0_tbs_sigalg(const X509_CRL *crl) 699X509_CRL_get0_tbs_sigalg(const X509_CRL *crl)
672{ 700{
673 return crl->crl->sig_alg; 701 return crl->crl->sig_alg;
674} 702}
703LCRYPTO_ALIAS(X509_CRL_get0_tbs_sigalg);
diff --git a/src/lib/libcrypto/asn1/x_exten.c b/src/lib/libcrypto/asn1/x_exten.c
index 6ff33d5865..323b539490 100644
--- a/src/lib/libcrypto/asn1/x_exten.c
+++ b/src/lib/libcrypto/asn1/x_exten.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_exten.c,v 1.20 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: x_exten.c,v 1.21 2024/04/09 13:55:02 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 */
@@ -116,24 +116,28 @@ d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len)
116 return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 116 return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
117 &X509_EXTENSION_it); 117 &X509_EXTENSION_it);
118} 118}
119LCRYPTO_ALIAS(d2i_X509_EXTENSION);
119 120
120int 121int
121i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out) 122i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out)
122{ 123{
123 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it); 124 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it);
124} 125}
126LCRYPTO_ALIAS(i2d_X509_EXTENSION);
125 127
126X509_EXTENSION * 128X509_EXTENSION *
127X509_EXTENSION_new(void) 129X509_EXTENSION_new(void)
128{ 130{
129 return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it); 131 return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it);
130} 132}
133LCRYPTO_ALIAS(X509_EXTENSION_new);
131 134
132void 135void
133X509_EXTENSION_free(X509_EXTENSION *a) 136X509_EXTENSION_free(X509_EXTENSION *a)
134{ 137{
135 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); 138 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
136} 139}
140LCRYPTO_ALIAS(X509_EXTENSION_free);
137 141
138X509_EXTENSIONS * 142X509_EXTENSIONS *
139d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len) 143d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
@@ -141,15 +145,18 @@ d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
141 return (X509_EXTENSIONS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 145 return (X509_EXTENSIONS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
142 &X509_EXTENSIONS_it); 146 &X509_EXTENSIONS_it);
143} 147}
148LCRYPTO_ALIAS(d2i_X509_EXTENSIONS);
144 149
145int 150int
146i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out) 151i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out)
147{ 152{
148 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it); 153 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it);
149} 154}
155LCRYPTO_ALIAS(i2d_X509_EXTENSIONS);
150 156
151X509_EXTENSION * 157X509_EXTENSION *
152X509_EXTENSION_dup(X509_EXTENSION *x) 158X509_EXTENSION_dup(X509_EXTENSION *x)
153{ 159{
154 return ASN1_item_dup(&X509_EXTENSION_it, x); 160 return ASN1_item_dup(&X509_EXTENSION_it, x);
155} 161}
162LCRYPTO_ALIAS(X509_EXTENSION_dup);
diff --git a/src/lib/libcrypto/asn1/x_info.c b/src/lib/libcrypto/asn1/x_info.c
index 3d2d5bad64..cb8c466085 100644
--- a/src/lib/libcrypto/asn1/x_info.c
+++ b/src/lib/libcrypto/asn1/x_info.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_info.c,v 1.20 2023/07/07 19:37:52 beck Exp $ */ 1/* $OpenBSD: x_info.c,v 1.21 2024/04/09 13:55:02 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 *
@@ -75,6 +75,7 @@ X509_INFO_new(void)
75 75
76 return ret; 76 return ret;
77} 77}
78LCRYPTO_ALIAS(X509_INFO_new);
78 79
79void 80void
80X509_INFO_free(X509_INFO *x) 81X509_INFO_free(X509_INFO *x)
@@ -92,3 +93,4 @@ X509_INFO_free(X509_INFO *x)
92 93
93 free(x); 94 free(x);
94} 95}
96LCRYPTO_ALIAS(X509_INFO_free);
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c
index dc9f217892..5124ad3b25 100644
--- a/src/lib/libcrypto/asn1/x_name.c
+++ b/src/lib/libcrypto/asn1/x_name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_name.c,v 1.41 2023/07/24 06:56:54 tb Exp $ */ 1/* $OpenBSD: x_name.c,v 1.42 2024/04/09 13:55:02 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 *
@@ -117,30 +117,35 @@ d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len)
117 return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 117 return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
118 &X509_NAME_ENTRY_it); 118 &X509_NAME_ENTRY_it);
119} 119}
120LCRYPTO_ALIAS(d2i_X509_NAME_ENTRY);
120 121
121int 122int
122i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out) 123i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out)
123{ 124{
124 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it); 125 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it);
125} 126}
127LCRYPTO_ALIAS(i2d_X509_NAME_ENTRY);
126 128
127X509_NAME_ENTRY * 129X509_NAME_ENTRY *
128X509_NAME_ENTRY_new(void) 130X509_NAME_ENTRY_new(void)
129{ 131{
130 return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it); 132 return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it);
131} 133}
134LCRYPTO_ALIAS(X509_NAME_ENTRY_new);
132 135
133void 136void
134X509_NAME_ENTRY_free(X509_NAME_ENTRY *a) 137X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
135{ 138{
136 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); 139 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
137} 140}
141LCRYPTO_ALIAS(X509_NAME_ENTRY_free);
138 142
139X509_NAME_ENTRY * 143X509_NAME_ENTRY *
140X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x) 144X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
141{ 145{
142 return ASN1_item_dup(&X509_NAME_ENTRY_it, x); 146 return ASN1_item_dup(&X509_NAME_ENTRY_it, x);
143} 147}
148LCRYPTO_ALIAS(X509_NAME_ENTRY_dup);
144 149
145/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } 150/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
146 * so declare two template wrappers for this 151 * so declare two template wrappers for this
@@ -214,30 +219,35 @@ d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len)
214 return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 219 return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
215 &X509_NAME_it); 220 &X509_NAME_it);
216} 221}
222LCRYPTO_ALIAS(d2i_X509_NAME);
217 223
218int 224int
219i2d_X509_NAME(X509_NAME *a, unsigned char **out) 225i2d_X509_NAME(X509_NAME *a, unsigned char **out)
220{ 226{
221 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it); 227 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it);
222} 228}
229LCRYPTO_ALIAS(i2d_X509_NAME);
223 230
224X509_NAME * 231X509_NAME *
225X509_NAME_new(void) 232X509_NAME_new(void)
226{ 233{
227 return (X509_NAME *)ASN1_item_new(&X509_NAME_it); 234 return (X509_NAME *)ASN1_item_new(&X509_NAME_it);
228} 235}
236LCRYPTO_ALIAS(X509_NAME_new);
229 237
230void 238void
231X509_NAME_free(X509_NAME *a) 239X509_NAME_free(X509_NAME *a)
232{ 240{
233 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); 241 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
234} 242}
243LCRYPTO_ALIAS(X509_NAME_free);
235 244
236X509_NAME * 245X509_NAME *
237X509_NAME_dup(X509_NAME *x) 246X509_NAME_dup(X509_NAME *x)
238{ 247{
239 return ASN1_item_dup(&X509_NAME_it, x); 248 return ASN1_item_dup(&X509_NAME_it, x);
240} 249}
250LCRYPTO_ALIAS(X509_NAME_dup);
241 251
242static int 252static int
243x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it) 253x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
@@ -635,6 +645,7 @@ X509_NAME_set(X509_NAME **xn, X509_NAME *name)
635 *xn = name; 645 *xn = name;
636 return 1; 646 return 1;
637} 647}
648LCRYPTO_ALIAS(X509_NAME_set);
638 649
639int 650int
640X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen) 651X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
@@ -648,3 +659,4 @@ X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
648 *pderlen = nm->bytes->length; 659 *pderlen = nm->bytes->length;
649 return 1; 660 return 1;
650} 661}
662LCRYPTO_ALIAS(X509_NAME_get0_der);
diff --git a/src/lib/libcrypto/asn1/x_pkey.c b/src/lib/libcrypto/asn1/x_pkey.c
index c4964fcd64..5c96c13ab9 100644
--- a/src/lib/libcrypto/asn1/x_pkey.c
+++ b/src/lib/libcrypto/asn1/x_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pkey.c,v 1.23 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_pkey.c,v 1.24 2024/04/09 13:55:02 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 *
@@ -98,6 +98,7 @@ X509_PKEY_new(void)
98 } 98 }
99 return NULL; 99 return NULL;
100} 100}
101LCRYPTO_ALIAS(X509_PKEY_new);
101 102
102void 103void
103X509_PKEY_free(X509_PKEY *x) 104X509_PKEY_free(X509_PKEY *x)
@@ -119,3 +120,4 @@ X509_PKEY_free(X509_PKEY *x)
119 free(x->key_data); 120 free(x->key_data);
120 free(x); 121 free(x);
121} 122}
123LCRYPTO_ALIAS(X509_PKEY_free);
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c
index 0534edcad0..783e2630d3 100644
--- a/src/lib/libcrypto/asn1/x_pubkey.c
+++ b/src/lib/libcrypto/asn1/x_pubkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pubkey.c,v 1.35 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_pubkey.c,v 1.36 2024/04/09 13:55:02 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 *
@@ -118,24 +118,28 @@ d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len)
118 return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 118 return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
119 &X509_PUBKEY_it); 119 &X509_PUBKEY_it);
120} 120}
121LCRYPTO_ALIAS(d2i_X509_PUBKEY);
121 122
122int 123int
123i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) 124i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out)
124{ 125{
125 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); 126 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it);
126} 127}
128LCRYPTO_ALIAS(i2d_X509_PUBKEY);
127 129
128X509_PUBKEY * 130X509_PUBKEY *
129X509_PUBKEY_new(void) 131X509_PUBKEY_new(void)
130{ 132{
131 return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); 133 return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it);
132} 134}
135LCRYPTO_ALIAS(X509_PUBKEY_new);
133 136
134void 137void
135X509_PUBKEY_free(X509_PUBKEY *a) 138X509_PUBKEY_free(X509_PUBKEY *a)
136{ 139{
137 ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); 140 ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it);
138} 141}
142LCRYPTO_ALIAS(X509_PUBKEY_free);
139 143
140int 144int
141X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) 145X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
@@ -174,6 +178,7 @@ X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
174 X509_PUBKEY_free(pk); 178 X509_PUBKEY_free(pk);
175 return 0; 179 return 0;
176} 180}
181LCRYPTO_ALIAS(X509_PUBKEY_set);
177 182
178EVP_PKEY * 183EVP_PKEY *
179X509_PUBKEY_get0(X509_PUBKEY *key) 184X509_PUBKEY_get0(X509_PUBKEY *key)
@@ -226,6 +231,7 @@ X509_PUBKEY_get0(X509_PUBKEY *key)
226 EVP_PKEY_free(ret); 231 EVP_PKEY_free(ret);
227 return (NULL); 232 return (NULL);
228} 233}
234LCRYPTO_ALIAS(X509_PUBKEY_get0);
229 235
230EVP_PKEY * 236EVP_PKEY *
231X509_PUBKEY_get(X509_PUBKEY *key) 237X509_PUBKEY_get(X509_PUBKEY *key)
@@ -239,6 +245,7 @@ X509_PUBKEY_get(X509_PUBKEY *key)
239 245
240 return pkey; 246 return pkey;
241} 247}
248LCRYPTO_ALIAS(X509_PUBKEY_get);
242 249
243/* 250/*
244 * Decode an X509_PUBKEY into the specified key type. 251 * Decode an X509_PUBKEY into the specified key type.
@@ -403,12 +410,14 @@ d2i_PUBKEY(EVP_PKEY **pkey, const unsigned char **in, long len)
403 return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len, 410 return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len,
404 &EVP_PKEY_PUBKEY_it); 411 &EVP_PKEY_PUBKEY_it);
405} 412}
413LCRYPTO_ALIAS(d2i_PUBKEY);
406 414
407int 415int
408i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out) 416i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out)
409{ 417{
410 return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it); 418 return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it);
411} 419}
420LCRYPTO_ALIAS(i2d_PUBKEY);
412 421
413EVP_PKEY * 422EVP_PKEY *
414d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey) 423d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
@@ -416,12 +425,14 @@ d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
416 return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp, 425 return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp,
417 (ASN1_VALUE **)pkey); 426 (ASN1_VALUE **)pkey);
418} 427}
428LCRYPTO_ALIAS(d2i_PUBKEY_bio);
419 429
420int 430int
421i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) 431i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
422{ 432{
423 return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey); 433 return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey);
424} 434}
435LCRYPTO_ALIAS(i2d_PUBKEY_bio);
425 436
426EVP_PKEY * 437EVP_PKEY *
427d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey) 438d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
@@ -429,12 +440,14 @@ d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
429 return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp, 440 return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp,
430 (ASN1_VALUE **)pkey); 441 (ASN1_VALUE **)pkey);
431} 442}
443LCRYPTO_ALIAS(d2i_PUBKEY_fp);
432 444
433int 445int
434i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) 446i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
435{ 447{
436 return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey); 448 return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey);
437} 449}
450LCRYPTO_ALIAS(i2d_PUBKEY_fp);
438 451
439/* 452/*
440 * The following are equivalents but which return RSA and DSA keys. 453 * The following are equivalents but which return RSA and DSA keys.
@@ -497,36 +510,42 @@ d2i_RSA_PUBKEY(RSA **rsa, const unsigned char **in, long len)
497 return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len, 510 return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len,
498 &RSA_PUBKEY_it); 511 &RSA_PUBKEY_it);
499} 512}
513LCRYPTO_ALIAS(d2i_RSA_PUBKEY);
500 514
501int 515int
502i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out) 516i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out)
503{ 517{
504 return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it); 518 return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it);
505} 519}
520LCRYPTO_ALIAS(i2d_RSA_PUBKEY);
506 521
507RSA * 522RSA *
508d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) 523d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
509{ 524{
510 return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa); 525 return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa);
511} 526}
527LCRYPTO_ALIAS(d2i_RSA_PUBKEY_bio);
512 528
513int 529int
514i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) 530i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
515{ 531{
516 return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa); 532 return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa);
517} 533}
534LCRYPTO_ALIAS(i2d_RSA_PUBKEY_bio);
518 535
519RSA * 536RSA *
520d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) 537d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
521{ 538{
522 return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa); 539 return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa);
523} 540}
541LCRYPTO_ALIAS(d2i_RSA_PUBKEY_fp);
524 542
525int 543int
526i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) 544i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
527{ 545{
528 return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa); 546 return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa);
529} 547}
548LCRYPTO_ALIAS(i2d_RSA_PUBKEY_fp);
530#endif 549#endif
531 550
532#ifndef OPENSSL_NO_DSA 551#ifndef OPENSSL_NO_DSA
@@ -587,36 +606,42 @@ d2i_DSA_PUBKEY(DSA **dsa, const unsigned char **in, long len)
587 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len, 606 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len,
588 &DSA_PUBKEY_it); 607 &DSA_PUBKEY_it);
589} 608}
609LCRYPTO_ALIAS(d2i_DSA_PUBKEY);
590 610
591int 611int
592i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out) 612i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out)
593{ 613{
594 return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it); 614 return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it);
595} 615}
616LCRYPTO_ALIAS(i2d_DSA_PUBKEY);
596 617
597DSA * 618DSA *
598d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) 619d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
599{ 620{
600 return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa); 621 return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa);
601} 622}
623LCRYPTO_ALIAS(d2i_DSA_PUBKEY_bio);
602 624
603int 625int
604i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) 626i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
605{ 627{
606 return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa); 628 return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa);
607} 629}
630LCRYPTO_ALIAS(i2d_DSA_PUBKEY_bio);
608 631
609DSA * 632DSA *
610d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) 633d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
611{ 634{
612 return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa); 635 return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa);
613} 636}
637LCRYPTO_ALIAS(d2i_DSA_PUBKEY_fp);
614 638
615int 639int
616i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) 640i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
617{ 641{
618 return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa); 642 return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa);
619} 643}
644LCRYPTO_ALIAS(i2d_DSA_PUBKEY_fp);
620 645
621#endif 646#endif
622 647
@@ -678,36 +703,42 @@ d2i_EC_PUBKEY(EC_KEY **ec, const unsigned char **in, long len)
678 return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len, 703 return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len,
679 &EC_PUBKEY_it); 704 &EC_PUBKEY_it);
680} 705}
706LCRYPTO_ALIAS(d2i_EC_PUBKEY);
681 707
682int 708int
683i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out) 709i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out)
684{ 710{
685 return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it); 711 return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it);
686} 712}
713LCRYPTO_ALIAS(i2d_EC_PUBKEY);
687 714
688EC_KEY * 715EC_KEY *
689d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec) 716d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec)
690{ 717{
691 return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec); 718 return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec);
692} 719}
720LCRYPTO_ALIAS(d2i_EC_PUBKEY_bio);
693 721
694int 722int
695i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec) 723i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec)
696{ 724{
697 return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec); 725 return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec);
698} 726}
727LCRYPTO_ALIAS(i2d_EC_PUBKEY_bio);
699 728
700EC_KEY * 729EC_KEY *
701d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec) 730d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec)
702{ 731{
703 return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec); 732 return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec);
704} 733}
734LCRYPTO_ALIAS(d2i_EC_PUBKEY_fp);
705 735
706int 736int
707i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec) 737i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec)
708{ 738{
709 return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec); 739 return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec);
710} 740}
741LCRYPTO_ALIAS(i2d_EC_PUBKEY_fp);
711#endif 742#endif
712 743
713int 744int
@@ -724,6 +755,7 @@ X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype,
724 755
725 return asn1_abs_set_unused_bits(pub->public_key, 0); 756 return asn1_abs_set_unused_bits(pub->public_key, 0);
726} 757}
758LCRYPTO_ALIAS(X509_PUBKEY_set0_param);
727 759
728int 760int
729X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk, 761X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
@@ -739,3 +771,4 @@ X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
739 *pa = pub->algor; 771 *pa = pub->algor;
740 return 1; 772 return 1;
741} 773}
774LCRYPTO_ALIAS(X509_PUBKEY_get0_param);
diff --git a/src/lib/libcrypto/asn1/x_req.c b/src/lib/libcrypto/asn1/x_req.c
index 9a6f0c7b08..7dd2dd7c3e 100644
--- a/src/lib/libcrypto/asn1/x_req.c
+++ b/src/lib/libcrypto/asn1/x_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_req.c,v 1.21 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_req.c,v 1.22 2024/04/09 13:55:02 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 *
@@ -143,24 +143,28 @@ d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len)
143 return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 143 return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
144 &X509_REQ_INFO_it); 144 &X509_REQ_INFO_it);
145} 145}
146LCRYPTO_ALIAS(d2i_X509_REQ_INFO);
146 147
147int 148int
148i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out) 149i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out)
149{ 150{
150 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it); 151 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it);
151} 152}
153LCRYPTO_ALIAS(i2d_X509_REQ_INFO);
152 154
153X509_REQ_INFO * 155X509_REQ_INFO *
154X509_REQ_INFO_new(void) 156X509_REQ_INFO_new(void)
155{ 157{
156 return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it); 158 return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it);
157} 159}
160LCRYPTO_ALIAS(X509_REQ_INFO_new);
158 161
159void 162void
160X509_REQ_INFO_free(X509_REQ_INFO *a) 163X509_REQ_INFO_free(X509_REQ_INFO *a)
161{ 164{
162 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it); 165 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it);
163} 166}
167LCRYPTO_ALIAS(X509_REQ_INFO_free);
164 168
165static const ASN1_AUX X509_REQ_aux = { 169static const ASN1_AUX X509_REQ_aux = {
166 .app_data = NULL, 170 .app_data = NULL,
@@ -203,36 +207,42 @@ d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len)
203 return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 207 return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
204 &X509_REQ_it); 208 &X509_REQ_it);
205} 209}
210LCRYPTO_ALIAS(d2i_X509_REQ);
206 211
207int 212int
208i2d_X509_REQ(X509_REQ *a, unsigned char **out) 213i2d_X509_REQ(X509_REQ *a, unsigned char **out)
209{ 214{
210 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it); 215 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it);
211} 216}
217LCRYPTO_ALIAS(i2d_X509_REQ);
212 218
213X509_REQ * 219X509_REQ *
214X509_REQ_new(void) 220X509_REQ_new(void)
215{ 221{
216 return (X509_REQ *)ASN1_item_new(&X509_REQ_it); 222 return (X509_REQ *)ASN1_item_new(&X509_REQ_it);
217} 223}
224LCRYPTO_ALIAS(X509_REQ_new);
218 225
219void 226void
220X509_REQ_free(X509_REQ *a) 227X509_REQ_free(X509_REQ *a)
221{ 228{
222 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); 229 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
223} 230}
231LCRYPTO_ALIAS(X509_REQ_free);
224 232
225X509_REQ * 233X509_REQ *
226X509_REQ_dup(X509_REQ *x) 234X509_REQ_dup(X509_REQ *x)
227{ 235{
228 return ASN1_item_dup(&X509_REQ_it, x); 236 return ASN1_item_dup(&X509_REQ_it, x);
229} 237}
238LCRYPTO_ALIAS(X509_REQ_dup);
230 239
231int 240int
232X509_REQ_get_signature_nid(const X509_REQ *req) 241X509_REQ_get_signature_nid(const X509_REQ *req)
233{ 242{
234 return OBJ_obj2nid(req->sig_alg->algorithm); 243 return OBJ_obj2nid(req->sig_alg->algorithm);
235} 244}
245LCRYPTO_ALIAS(X509_REQ_get_signature_nid);
236 246
237void 247void
238X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, 248X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
@@ -243,3 +253,4 @@ X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
243 if (palg != NULL) 253 if (palg != NULL)
244 *palg = req->sig_alg; 254 *palg = req->sig_alg;
245} 255}
256LCRYPTO_ALIAS(X509_REQ_get0_signature);
diff --git a/src/lib/libcrypto/asn1/x_sig.c b/src/lib/libcrypto/asn1/x_sig.c
index c55de71416..5148b5a222 100644
--- a/src/lib/libcrypto/asn1/x_sig.c
+++ b/src/lib/libcrypto/asn1/x_sig.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_sig.c,v 1.16 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_sig.c,v 1.17 2024/04/09 13:55:02 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 *
@@ -92,24 +92,28 @@ d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len)
92 return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 92 return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
93 &X509_SIG_it); 93 &X509_SIG_it);
94} 94}
95LCRYPTO_ALIAS(d2i_X509_SIG);
95 96
96int 97int
97i2d_X509_SIG(X509_SIG *a, unsigned char **out) 98i2d_X509_SIG(X509_SIG *a, unsigned char **out)
98{ 99{
99 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it); 100 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it);
100} 101}
102LCRYPTO_ALIAS(i2d_X509_SIG);
101 103
102X509_SIG * 104X509_SIG *
103X509_SIG_new(void) 105X509_SIG_new(void)
104{ 106{
105 return (X509_SIG *)ASN1_item_new(&X509_SIG_it); 107 return (X509_SIG *)ASN1_item_new(&X509_SIG_it);
106} 108}
109LCRYPTO_ALIAS(X509_SIG_new);
107 110
108void 111void
109X509_SIG_free(X509_SIG *a) 112X509_SIG_free(X509_SIG *a)
110{ 113{
111 ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it); 114 ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it);
112} 115}
116LCRYPTO_ALIAS(X509_SIG_free);
113 117
114void 118void
115X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, 119X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
@@ -120,6 +124,7 @@ X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
120 if (pdigest != NULL) 124 if (pdigest != NULL)
121 *pdigest = sig->digest; 125 *pdigest = sig->digest;
122} 126}
127LCRYPTO_ALIAS(X509_SIG_get0);
123 128
124void 129void
125X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest) 130X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
@@ -129,3 +134,4 @@ X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
129 if (pdigest != NULL) 134 if (pdigest != NULL)
130 *pdigest = sig->digest; 135 *pdigest = sig->digest;
131} 136}
137LCRYPTO_ALIAS(X509_SIG_getm);
diff --git a/src/lib/libcrypto/asn1/x_spki.c b/src/lib/libcrypto/asn1/x_spki.c
index ef6053339b..545799e2ae 100644
--- a/src/lib/libcrypto/asn1/x_spki.c
+++ b/src/lib/libcrypto/asn1/x_spki.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_spki.c,v 1.13 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_spki.c,v 1.14 2024/04/09 13:55:02 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 *
@@ -94,24 +94,28 @@ d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len)
94 return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 94 return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
95 &NETSCAPE_SPKAC_it); 95 &NETSCAPE_SPKAC_it);
96} 96}
97LCRYPTO_ALIAS(d2i_NETSCAPE_SPKAC);
97 98
98int 99int
99i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out) 100i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out)
100{ 101{
101 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it); 102 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it);
102} 103}
104LCRYPTO_ALIAS(i2d_NETSCAPE_SPKAC);
103 105
104NETSCAPE_SPKAC * 106NETSCAPE_SPKAC *
105NETSCAPE_SPKAC_new(void) 107NETSCAPE_SPKAC_new(void)
106{ 108{
107 return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it); 109 return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it);
108} 110}
111LCRYPTO_ALIAS(NETSCAPE_SPKAC_new);
109 112
110void 113void
111NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a) 114NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a)
112{ 115{
113 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); 116 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it);
114} 117}
118LCRYPTO_ALIAS(NETSCAPE_SPKAC_free);
115 119
116static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = { 120static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = {
117 { 121 {
@@ -154,21 +158,25 @@ d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len)
154 return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 158 return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
155 &NETSCAPE_SPKI_it); 159 &NETSCAPE_SPKI_it);
156} 160}
161LCRYPTO_ALIAS(d2i_NETSCAPE_SPKI);
157 162
158int 163int
159i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out) 164i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out)
160{ 165{
161 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it); 166 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it);
162} 167}
168LCRYPTO_ALIAS(i2d_NETSCAPE_SPKI);
163 169
164NETSCAPE_SPKI * 170NETSCAPE_SPKI *
165NETSCAPE_SPKI_new(void) 171NETSCAPE_SPKI_new(void)
166{ 172{
167 return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it); 173 return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it);
168} 174}
175LCRYPTO_ALIAS(NETSCAPE_SPKI_new);
169 176
170void 177void
171NETSCAPE_SPKI_free(NETSCAPE_SPKI *a) 178NETSCAPE_SPKI_free(NETSCAPE_SPKI *a)
172{ 179{
173 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it); 180 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it);
174} 181}
182LCRYPTO_ALIAS(NETSCAPE_SPKI_free);
diff --git a/src/lib/libcrypto/asn1/x_val.c b/src/lib/libcrypto/asn1/x_val.c
index a9c9c481e0..47e1755151 100644
--- a/src/lib/libcrypto/asn1/x_val.c
+++ b/src/lib/libcrypto/asn1/x_val.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_val.c,v 1.13 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_val.c,v 1.14 2024/04/09 13:55:02 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 *
@@ -90,21 +90,25 @@ d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len)
90 return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 90 return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
91 &X509_VAL_it); 91 &X509_VAL_it);
92} 92}
93LCRYPTO_ALIAS(d2i_X509_VAL);
93 94
94int 95int
95i2d_X509_VAL(X509_VAL *a, unsigned char **out) 96i2d_X509_VAL(X509_VAL *a, unsigned char **out)
96{ 97{
97 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it); 98 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it);
98} 99}
100LCRYPTO_ALIAS(i2d_X509_VAL);
99 101
100X509_VAL * 102X509_VAL *
101X509_VAL_new(void) 103X509_VAL_new(void)
102{ 104{
103 return (X509_VAL *)ASN1_item_new(&X509_VAL_it); 105 return (X509_VAL *)ASN1_item_new(&X509_VAL_it);
104} 106}
107LCRYPTO_ALIAS(X509_VAL_new);
105 108
106void 109void
107X509_VAL_free(X509_VAL *a) 110X509_VAL_free(X509_VAL *a)
108{ 111{
109 ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it); 112 ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it);
110} 113}
114LCRYPTO_ALIAS(X509_VAL_free);
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c
index 08e4dba9e8..e3499f620f 100644
--- a/src/lib/libcrypto/asn1/x_x509.c
+++ b/src/lib/libcrypto/asn1/x_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509.c,v 1.37 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_x509.c,v 1.38 2024/04/09 13:55:02 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 *
@@ -149,24 +149,28 @@ d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len)
149 return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 149 return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
150 &X509_CINF_it); 150 &X509_CINF_it);
151} 151}
152LCRYPTO_ALIAS(d2i_X509_CINF);
152 153
153int 154int
154i2d_X509_CINF(X509_CINF *a, unsigned char **out) 155i2d_X509_CINF(X509_CINF *a, unsigned char **out)
155{ 156{
156 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it); 157 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it);
157} 158}
159LCRYPTO_ALIAS(i2d_X509_CINF);
158 160
159X509_CINF * 161X509_CINF *
160X509_CINF_new(void) 162X509_CINF_new(void)
161{ 163{
162 return (X509_CINF *)ASN1_item_new(&X509_CINF_it); 164 return (X509_CINF *)ASN1_item_new(&X509_CINF_it);
163} 165}
166LCRYPTO_ALIAS(X509_CINF_new);
164 167
165void 168void
166X509_CINF_free(X509_CINF *a) 169X509_CINF_free(X509_CINF *a)
167{ 170{
168 ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it); 171 ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it);
169} 172}
173LCRYPTO_ALIAS(X509_CINF_free);
170/* X509 top level structure needs a bit of customisation */ 174/* X509 top level structure needs a bit of customisation */
171 175
172static int 176static int
@@ -216,6 +220,7 @@ x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg)
216 220
217 return 1; 221 return 1;
218} 222}
223LCRYPTO_ALIAS(d2i_X509_CINF);
219 224
220static const ASN1_AUX X509_aux = { 225static const ASN1_AUX X509_aux = {
221 .app_data = NULL, 226 .app_data = NULL,
@@ -259,30 +264,35 @@ d2i_X509(X509 **a, const unsigned char **in, long len)
259 return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 264 return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
260 &X509_it); 265 &X509_it);
261} 266}
267LCRYPTO_ALIAS(d2i_X509);
262 268
263int 269int
264i2d_X509(X509 *a, unsigned char **out) 270i2d_X509(X509 *a, unsigned char **out)
265{ 271{
266 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it); 272 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it);
267} 273}
274LCRYPTO_ALIAS(i2d_X509);
268 275
269X509 * 276X509 *
270X509_new(void) 277X509_new(void)
271{ 278{
272 return (X509 *)ASN1_item_new(&X509_it); 279 return (X509 *)ASN1_item_new(&X509_it);
273} 280}
281LCRYPTO_ALIAS(X509_new);
274 282
275void 283void
276X509_free(X509 *a) 284X509_free(X509 *a)
277{ 285{
278 ASN1_item_free((ASN1_VALUE *)a, &X509_it); 286 ASN1_item_free((ASN1_VALUE *)a, &X509_it);
279} 287}
288LCRYPTO_ALIAS(X509_free);
280 289
281X509 * 290X509 *
282X509_dup(X509 *x) 291X509_dup(X509 *x)
283{ 292{
284 return ASN1_item_dup(&X509_it, x); 293 return ASN1_item_dup(&X509_it, x);
285} 294}
295LCRYPTO_ALIAS(X509_dup);
286 296
287int 297int
288X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 298X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
@@ -291,18 +301,21 @@ X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
291 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, argl, argp, 301 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, argl, argp,
292 new_func, dup_func, free_func); 302 new_func, dup_func, free_func);
293} 303}
304LCRYPTO_ALIAS(X509_get_ex_new_index);
294 305
295int 306int
296X509_set_ex_data(X509 *r, int idx, void *arg) 307X509_set_ex_data(X509 *r, int idx, void *arg)
297{ 308{
298 return (CRYPTO_set_ex_data(&r->ex_data, idx, arg)); 309 return (CRYPTO_set_ex_data(&r->ex_data, idx, arg));
299} 310}
311LCRYPTO_ALIAS(X509_set_ex_data);
300 312
301void * 313void *
302X509_get_ex_data(X509 *r, int idx) 314X509_get_ex_data(X509 *r, int idx)
303{ 315{
304 return (CRYPTO_get_ex_data(&r->ex_data, idx)); 316 return (CRYPTO_get_ex_data(&r->ex_data, idx));
305} 317}
318LCRYPTO_ALIAS(X509_get_ex_data);
306 319
307/* X509_AUX ASN1 routines. X509_AUX is the name given to 320/* X509_AUX ASN1 routines. X509_AUX is the name given to
308 * a certificate with extra info tagged on the end. Since these 321 * a certificate with extra info tagged on the end. Since these
@@ -340,6 +353,7 @@ d2i_X509_AUX(X509 **a, const unsigned char **pp, long length)
340 X509_free(ret); 353 X509_free(ret);
341 return NULL; 354 return NULL;
342} 355}
356LCRYPTO_ALIAS(d2i_X509_AUX);
343 357
344int 358int
345i2d_X509_AUX(X509 *a, unsigned char **pp) 359i2d_X509_AUX(X509 *a, unsigned char **pp)
@@ -351,6 +365,7 @@ i2d_X509_AUX(X509 *a, unsigned char **pp)
351 length += i2d_X509_CERT_AUX(a->aux, pp); 365 length += i2d_X509_CERT_AUX(a->aux, pp);
352 return length; 366 return length;
353} 367}
368LCRYPTO_ALIAS(i2d_X509_AUX);
354 369
355int 370int
356i2d_re_X509_tbs(X509 *x, unsigned char **pp) 371i2d_re_X509_tbs(X509 *x, unsigned char **pp)
@@ -358,6 +373,7 @@ i2d_re_X509_tbs(X509 *x, unsigned char **pp)
358 x->cert_info->enc.modified = 1; 373 x->cert_info->enc.modified = 1;
359 return i2d_X509_CINF(x->cert_info, pp); 374 return i2d_X509_CINF(x->cert_info, pp);
360} 375}
376LCRYPTO_ALIAS(i2d_re_X509_tbs);
361 377
362void 378void
363X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, 379X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
@@ -368,9 +384,11 @@ X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
368 if (palg != NULL) 384 if (palg != NULL)
369 *palg = x->sig_alg; 385 *palg = x->sig_alg;
370} 386}
387LCRYPTO_ALIAS(X509_get0_signature);
371 388
372int 389int
373X509_get_signature_nid(const X509 *x) 390X509_get_signature_nid(const X509 *x)
374{ 391{
375 return OBJ_obj2nid(x->sig_alg->algorithm); 392 return OBJ_obj2nid(x->sig_alg->algorithm);
376} 393}
394LCRYPTO_ALIAS(X509_get_signature_nid);
diff --git a/src/lib/libcrypto/asn1/x_x509a.c b/src/lib/libcrypto/asn1/x_x509a.c
index 2b6fe7fcec..aaa22d1351 100644
--- a/src/lib/libcrypto/asn1/x_x509a.c
+++ b/src/lib/libcrypto/asn1/x_x509a.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509a.c,v 1.21 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: x_x509a.c,v 1.22 2024/04/09 13:55:02 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 */
@@ -172,6 +172,7 @@ X509_alias_set1(X509 *x, const unsigned char *name, int len)
172 return 0; 172 return 0;
173 return ASN1_STRING_set(aux->alias, name, len); 173 return ASN1_STRING_set(aux->alias, name, len);
174} 174}
175LCRYPTO_ALIAS(X509_alias_set1);
175 176
176int 177int
177X509_keyid_set1(X509 *x, const unsigned char *id, int len) 178X509_keyid_set1(X509 *x, const unsigned char *id, int len)
@@ -190,6 +191,7 @@ X509_keyid_set1(X509 *x, const unsigned char *id, int len)
190 return 0; 191 return 0;
191 return ASN1_STRING_set(aux->keyid, id, len); 192 return ASN1_STRING_set(aux->keyid, id, len);
192} 193}
194LCRYPTO_ALIAS(X509_keyid_set1);
193 195
194unsigned char * 196unsigned char *
195X509_alias_get0(X509 *x, int *len) 197X509_alias_get0(X509 *x, int *len)
@@ -200,6 +202,7 @@ X509_alias_get0(X509 *x, int *len)
200 *len = x->aux->alias->length; 202 *len = x->aux->alias->length;
201 return x->aux->alias->data; 203 return x->aux->alias->data;
202} 204}
205LCRYPTO_ALIAS(X509_alias_get0);
203 206
204unsigned char * 207unsigned char *
205X509_keyid_get0(X509 *x, int *len) 208X509_keyid_get0(X509 *x, int *len)
@@ -210,6 +213,7 @@ X509_keyid_get0(X509 *x, int *len)
210 *len = x->aux->keyid->length; 213 *len = x->aux->keyid->length;
211 return x->aux->keyid->data; 214 return x->aux->keyid->data;
212} 215}
216LCRYPTO_ALIAS(X509_keyid_get0);
213 217
214int 218int
215X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj) 219X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
@@ -232,6 +236,7 @@ X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
232 ASN1_OBJECT_free(objtmp); 236 ASN1_OBJECT_free(objtmp);
233 return 0; 237 return 0;
234} 238}
239LCRYPTO_ALIAS(X509_add1_trust_object);
235 240
236int 241int
237X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj) 242X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
@@ -254,6 +259,7 @@ X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
254 ASN1_OBJECT_free(objtmp); 259 ASN1_OBJECT_free(objtmp);
255 return 0; 260 return 0;
256} 261}
262LCRYPTO_ALIAS(X509_add1_reject_object);
257 263
258void 264void
259X509_trust_clear(X509 *x) 265X509_trust_clear(X509 *x)
@@ -263,6 +269,7 @@ X509_trust_clear(X509 *x)
263 x->aux->trust = NULL; 269 x->aux->trust = NULL;
264 } 270 }
265} 271}
272LCRYPTO_ALIAS(X509_trust_clear);
266 273
267void 274void
268X509_reject_clear(X509 *x) 275X509_reject_clear(X509 *x)
@@ -272,3 +279,4 @@ X509_reject_clear(X509 *x)
272 x->aux->reject = NULL; 279 x->aux->reject = NULL;
273 } 280 }
274} 281}
282LCRYPTO_ALIAS(X509_reject_clear);
diff --git a/src/lib/libcrypto/evp/evp_pkey.c b/src/lib/libcrypto/evp/evp_pkey.c
index 9e29a1ae69..591d066f4f 100644
--- a/src/lib/libcrypto/evp/evp_pkey.c
+++ b/src/lib/libcrypto/evp/evp_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_pkey.c,v 1.27 2023/07/07 19:37:53 beck Exp $ */ 1/* $OpenBSD: evp_pkey.c,v 1.28 2024/04/09 13:55:02 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 */
@@ -105,6 +105,7 @@ error:
105 EVP_PKEY_free(pkey); 105 EVP_PKEY_free(pkey);
106 return NULL; 106 return NULL;
107} 107}
108LCRYPTO_ALIAS(EVP_PKCS82PKEY);
108 109
109/* Turn a private key into a PKCS8 structure */ 110/* Turn a private key into a PKCS8 structure */
110 111
@@ -138,6 +139,7 @@ error:
138 PKCS8_PRIV_KEY_INFO_free(p8); 139 PKCS8_PRIV_KEY_INFO_free(p8);
139 return NULL; 140 return NULL;
140} 141}
142LCRYPTO_ALIAS(EVP_PKEY2PKCS8);
141 143
142/* EVP_PKEY attribute functions */ 144/* EVP_PKEY attribute functions */
143 145
@@ -146,12 +148,14 @@ EVP_PKEY_get_attr_count(const EVP_PKEY *key)
146{ 148{
147 return X509at_get_attr_count(key->attributes); 149 return X509at_get_attr_count(key->attributes);
148} 150}
151LCRYPTO_ALIAS(EVP_PKEY_get_attr_count);
149 152
150int 153int
151EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos) 154EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos)
152{ 155{
153 return X509at_get_attr_by_NID(key->attributes, nid, lastpos); 156 return X509at_get_attr_by_NID(key->attributes, nid, lastpos);
154} 157}
158LCRYPTO_ALIAS(EVP_PKEY_get_attr_by_NID);
155 159
156int 160int
157EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj, 161EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj,
@@ -159,18 +163,21 @@ EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj,
159{ 163{
160 return X509at_get_attr_by_OBJ(key->attributes, obj, lastpos); 164 return X509at_get_attr_by_OBJ(key->attributes, obj, lastpos);
161} 165}
166LCRYPTO_ALIAS(EVP_PKEY_get_attr_by_OBJ);
162 167
163X509_ATTRIBUTE * 168X509_ATTRIBUTE *
164EVP_PKEY_get_attr(const EVP_PKEY *key, int loc) 169EVP_PKEY_get_attr(const EVP_PKEY *key, int loc)
165{ 170{
166 return X509at_get_attr(key->attributes, loc); 171 return X509at_get_attr(key->attributes, loc);
167} 172}
173LCRYPTO_ALIAS(EVP_PKEY_get_attr);
168 174
169X509_ATTRIBUTE * 175X509_ATTRIBUTE *
170EVP_PKEY_delete_attr(EVP_PKEY *key, int loc) 176EVP_PKEY_delete_attr(EVP_PKEY *key, int loc)
171{ 177{
172 return X509at_delete_attr(key->attributes, loc); 178 return X509at_delete_attr(key->attributes, loc);
173} 179}
180LCRYPTO_ALIAS(EVP_PKEY_delete_attr);
174 181
175int 182int
176EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr) 183EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr)
@@ -179,6 +186,7 @@ EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr)
179 return 1; 186 return 1;
180 return 0; 187 return 0;
181} 188}
189LCRYPTO_ALIAS(EVP_PKEY_add1_attr);
182 190
183int 191int
184EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, const ASN1_OBJECT *obj, int type, 192EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, const ASN1_OBJECT *obj, int type,
@@ -188,6 +196,7 @@ EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, const ASN1_OBJECT *obj, int type,
188 return 1; 196 return 1;
189 return 0; 197 return 0;
190} 198}
199LCRYPTO_ALIAS(EVP_PKEY_add1_attr_by_OBJ);
191 200
192int 201int
193EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, int nid, int type, 202EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, int nid, int type,
@@ -197,6 +206,7 @@ EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, int nid, int type,
197 return 1; 206 return 1;
198 return 0; 207 return 0;
199} 208}
209LCRYPTO_ALIAS(EVP_PKEY_add1_attr_by_NID);
200 210
201int 211int
202EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, const char *attrname, int type, 212EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, const char *attrname, int type,
@@ -207,3 +217,4 @@ EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, const char *attrname, int type,
207 return 1; 217 return 1;
208 return 0; 218 return 0;
209} 219}
220LCRYPTO_ALIAS(EVP_PKEY_add1_attr_by_txt);
diff --git a/src/lib/libcrypto/hidden/openssl/x509.h b/src/lib/libcrypto/hidden/openssl/x509.h
index 35a4a67e08..6cf6ca5f6d 100644
--- a/src/lib/libcrypto/hidden/openssl/x509.h
+++ b/src/lib/libcrypto/hidden/openssl/x509.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509.h,v 1.4 2024/03/02 10:48:17 tb Exp $ */ 1/* $OpenBSD: x509.h,v 1.5 2024/04/09 13:55:02 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2022 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2022 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -269,5 +269,199 @@ LCRYPTO_USED(X509_check_trust);
269LCRYPTO_USED(X509_up_ref); 269LCRYPTO_USED(X509_up_ref);
270LCRYPTO_USED(X509_chain_up_ref); 270LCRYPTO_USED(X509_chain_up_ref);
271LCRYPTO_USED(ERR_load_X509_strings); 271LCRYPTO_USED(ERR_load_X509_strings);
272LCRYPTO_USED(X509_CRL_get_signature_nid);
273LCRYPTO_USED(X509_CRL_get0_extensions);
274LCRYPTO_USED(X509_CRL_get_version);
275LCRYPTO_USED(X509_CRL_get0_lastUpdate);
276LCRYPTO_USED(X509_CRL_get0_nextUpdate);
277LCRYPTO_USED(X509_CRL_get_lastUpdate);
278LCRYPTO_USED(X509_CRL_get_nextUpdate);
279LCRYPTO_USED(X509_CRL_get_issuer);
280LCRYPTO_USED(X509_CRL_get_REVOKED);
281LCRYPTO_USED(X509_CRL_get0_signature);
282LCRYPTO_USED(X509_CRL_get0_tbs_sigalg);
283LCRYPTO_USED(X509_REQ_get_signature_nid);
284LCRYPTO_USED(X509_REQ_get0_signature);
285LCRYPTO_USED(X509_CRL_verify);
286LCRYPTO_USED(NETSCAPE_SPKI_print);
287LCRYPTO_USED(X509_signature_dump);
288LCRYPTO_USED(X509_signature_print);
289LCRYPTO_USED(d2i_RSA_PUBKEY_fp);
290LCRYPTO_USED(i2d_RSA_PUBKEY_fp);
291LCRYPTO_USED(d2i_DSA_PUBKEY_fp);
292LCRYPTO_USED(i2d_DSA_PUBKEY_fp);
293LCRYPTO_USED(d2i_EC_PUBKEY_fp);
294LCRYPTO_USED(i2d_EC_PUBKEY_fp);
295LCRYPTO_USED(i2d_PUBKEY_fp);
296LCRYPTO_USED(d2i_PUBKEY_fp);
297LCRYPTO_USED(d2i_RSA_PUBKEY_bio);
298LCRYPTO_USED(i2d_RSA_PUBKEY_bio);
299LCRYPTO_USED(d2i_DSA_PUBKEY_bio);
300LCRYPTO_USED(i2d_DSA_PUBKEY_bio);
301LCRYPTO_USED(d2i_EC_PUBKEY_bio);
302LCRYPTO_USED(i2d_EC_PUBKEY_bio);
303LCRYPTO_USED(i2d_PUBKEY_bio);
304LCRYPTO_USED(d2i_PUBKEY_bio);
305LCRYPTO_USED(X509_dup);
306LCRYPTO_USED(X509_ATTRIBUTE_dup);
307LCRYPTO_USED(X509_EXTENSION_dup);
308LCRYPTO_USED(X509_CRL_dup);
309LCRYPTO_USED(X509_REQ_dup);
310LCRYPTO_USED(X509_ALGOR_dup);
311LCRYPTO_USED(X509_ALGOR_set0);
312LCRYPTO_USED(X509_ALGOR_get0);
313LCRYPTO_USED(X509_ALGOR_cmp);
314LCRYPTO_USED(X509_NAME_dup);
315LCRYPTO_USED(X509_NAME_get0_der);
316LCRYPTO_USED(X509_NAME_ENTRY_dup);
317LCRYPTO_USED(X509_ALGOR_new);
318LCRYPTO_USED(X509_ALGOR_free);
319LCRYPTO_USED(d2i_X509_ALGOR);
320LCRYPTO_USED(i2d_X509_ALGOR);
321LCRYPTO_USED(d2i_X509_ALGORS);
322LCRYPTO_USED(i2d_X509_ALGORS);
323LCRYPTO_USED(X509_VAL_new);
324LCRYPTO_USED(X509_VAL_free);
325LCRYPTO_USED(d2i_X509_VAL);
326LCRYPTO_USED(i2d_X509_VAL);
327LCRYPTO_USED(X509_PUBKEY_new);
328LCRYPTO_USED(X509_PUBKEY_free);
329LCRYPTO_USED(d2i_X509_PUBKEY);
330LCRYPTO_USED(i2d_X509_PUBKEY);
331LCRYPTO_USED(X509_PUBKEY_set);
332LCRYPTO_USED(X509_PUBKEY_get);
333LCRYPTO_USED(X509_PUBKEY_get0);
334LCRYPTO_USED(i2d_PUBKEY);
335LCRYPTO_USED(d2i_PUBKEY);
336LCRYPTO_USED(i2d_RSA_PUBKEY);
337LCRYPTO_USED(d2i_RSA_PUBKEY);
338LCRYPTO_USED(i2d_DSA_PUBKEY);
339LCRYPTO_USED(d2i_DSA_PUBKEY);
340LCRYPTO_USED(i2d_EC_PUBKEY);
341LCRYPTO_USED(d2i_EC_PUBKEY);
342LCRYPTO_USED(X509_SIG_new);
343LCRYPTO_USED(X509_SIG_free);
344LCRYPTO_USED(d2i_X509_SIG);
345LCRYPTO_USED(i2d_X509_SIG);
346LCRYPTO_USED(X509_SIG_get0);
347LCRYPTO_USED(X509_SIG_getm);
348LCRYPTO_USED(X509_REQ_INFO_new);
349LCRYPTO_USED(X509_REQ_INFO_free);
350LCRYPTO_USED(d2i_X509_REQ_INFO);
351LCRYPTO_USED(i2d_X509_REQ_INFO);
352LCRYPTO_USED(X509_REQ_new);
353LCRYPTO_USED(X509_REQ_free);
354LCRYPTO_USED(d2i_X509_REQ);
355LCRYPTO_USED(i2d_X509_REQ);
356LCRYPTO_USED(X509_ATTRIBUTE_new);
357LCRYPTO_USED(X509_ATTRIBUTE_free);
358LCRYPTO_USED(d2i_X509_ATTRIBUTE);
359LCRYPTO_USED(i2d_X509_ATTRIBUTE);
360LCRYPTO_USED(X509_ATTRIBUTE_create);
361LCRYPTO_USED(X509_EXTENSION_new);
362LCRYPTO_USED(X509_EXTENSION_free);
363LCRYPTO_USED(d2i_X509_EXTENSION);
364LCRYPTO_USED(i2d_X509_EXTENSION);
365LCRYPTO_USED(d2i_X509_EXTENSIONS);
366LCRYPTO_USED(i2d_X509_EXTENSIONS);
367LCRYPTO_USED(X509_NAME_ENTRY_new);
368LCRYPTO_USED(X509_NAME_ENTRY_free);
369LCRYPTO_USED(d2i_X509_NAME_ENTRY);
370LCRYPTO_USED(i2d_X509_NAME_ENTRY);
371LCRYPTO_USED(X509_NAME_new);
372LCRYPTO_USED(X509_NAME_free);
373LCRYPTO_USED(d2i_X509_NAME);
374LCRYPTO_USED(i2d_X509_NAME);
375LCRYPTO_USED(X509_NAME_set);
376LCRYPTO_USED(X509_CINF_new);
377LCRYPTO_USED(X509_CINF_free);
378LCRYPTO_USED(d2i_X509_CINF);
379LCRYPTO_USED(i2d_X509_CINF);
380LCRYPTO_USED(X509_new);
381LCRYPTO_USED(X509_free);
382LCRYPTO_USED(d2i_X509);
383LCRYPTO_USED(i2d_X509);
384LCRYPTO_USED(X509_get_ex_new_index);
385LCRYPTO_USED(X509_set_ex_data);
386LCRYPTO_USED(X509_get_ex_data);
387LCRYPTO_USED(i2d_X509_AUX);
388LCRYPTO_USED(d2i_X509_AUX);
389LCRYPTO_USED(i2d_re_X509_tbs);
390LCRYPTO_USED(X509_get0_signature);
391LCRYPTO_USED(X509_get_signature_nid);
392LCRYPTO_USED(X509_alias_set1);
393LCRYPTO_USED(X509_keyid_set1);
394LCRYPTO_USED(X509_alias_get0);
395LCRYPTO_USED(X509_keyid_get0);
396LCRYPTO_USED(X509_add1_trust_object);
397LCRYPTO_USED(X509_add1_reject_object);
398LCRYPTO_USED(X509_trust_clear);
399LCRYPTO_USED(X509_reject_clear);
400LCRYPTO_USED(X509_REVOKED_new);
401LCRYPTO_USED(X509_REVOKED_free);
402LCRYPTO_USED(X509_REVOKED_dup);
403LCRYPTO_USED(d2i_X509_REVOKED);
404LCRYPTO_USED(i2d_X509_REVOKED);
405LCRYPTO_USED(X509_CRL_INFO_new);
406LCRYPTO_USED(X509_CRL_INFO_free);
407LCRYPTO_USED(d2i_X509_CRL_INFO);
408LCRYPTO_USED(i2d_X509_CRL_INFO);
409LCRYPTO_USED(X509_CRL_new);
410LCRYPTO_USED(X509_CRL_free);
411LCRYPTO_USED(d2i_X509_CRL);
412LCRYPTO_USED(i2d_X509_CRL);
413LCRYPTO_USED(X509_CRL_add0_revoked);
414LCRYPTO_USED(X509_CRL_get0_by_serial);
415LCRYPTO_USED(X509_CRL_get0_by_cert);
416LCRYPTO_USED(X509_PKEY_new);
417LCRYPTO_USED(X509_PKEY_free);
418LCRYPTO_USED(NETSCAPE_SPKI_new);
419LCRYPTO_USED(NETSCAPE_SPKI_free);
420LCRYPTO_USED(d2i_NETSCAPE_SPKI);
421LCRYPTO_USED(i2d_NETSCAPE_SPKI);
422LCRYPTO_USED(NETSCAPE_SPKAC_new);
423LCRYPTO_USED(NETSCAPE_SPKAC_free);
424LCRYPTO_USED(d2i_NETSCAPE_SPKAC);
425LCRYPTO_USED(i2d_NETSCAPE_SPKAC);
426LCRYPTO_USED(X509_INFO_new);
427LCRYPTO_USED(X509_INFO_free);
428LCRYPTO_USED(ASN1_item_digest);
429LCRYPTO_USED(ASN1_item_verify);
430LCRYPTO_USED(ASN1_item_sign);
431LCRYPTO_USED(ASN1_item_sign_ctx);
432LCRYPTO_USED(X509_print_ex_fp);
433LCRYPTO_USED(X509_print_fp);
434LCRYPTO_USED(X509_CRL_print_fp);
435LCRYPTO_USED(X509_REQ_print_fp);
436LCRYPTO_USED(X509_NAME_print_ex_fp);
437LCRYPTO_USED(X509_NAME_print);
438LCRYPTO_USED(X509_NAME_print_ex);
439LCRYPTO_USED(X509_print_ex);
440LCRYPTO_USED(X509_print);
441LCRYPTO_USED(X509_ocspid_print);
442LCRYPTO_USED(X509_CRL_print);
443LCRYPTO_USED(X509_REQ_print_ex);
444LCRYPTO_USED(X509_REQ_print);
445LCRYPTO_USED(EVP_PKEY_get_attr_count);
446LCRYPTO_USED(EVP_PKEY_get_attr_by_NID);
447LCRYPTO_USED(EVP_PKEY_get_attr_by_OBJ);
448LCRYPTO_USED(EVP_PKEY_get_attr);
449LCRYPTO_USED(EVP_PKEY_delete_attr);
450LCRYPTO_USED(EVP_PKEY_add1_attr);
451LCRYPTO_USED(EVP_PKEY_add1_attr_by_OBJ);
452LCRYPTO_USED(EVP_PKEY_add1_attr_by_NID);
453LCRYPTO_USED(EVP_PKEY_add1_attr_by_txt);
454LCRYPTO_USED(PKCS8_PRIV_KEY_INFO_new);
455LCRYPTO_USED(PKCS8_PRIV_KEY_INFO_free);
456LCRYPTO_USED(d2i_PKCS8_PRIV_KEY_INFO);
457LCRYPTO_USED(i2d_PKCS8_PRIV_KEY_INFO);
458LCRYPTO_USED(EVP_PKCS82PKEY);
459LCRYPTO_USED(EVP_PKEY2PKCS8);
460LCRYPTO_USED(PKCS8_pkey_set0);
461LCRYPTO_USED(PKCS8_pkey_get0);
462LCRYPTO_USED(PKCS8_pkey_get0_attrs);
463LCRYPTO_USED(PKCS8_pkey_add1_attr_by_NID);
464LCRYPTO_USED(X509_PUBKEY_set0_param);
465LCRYPTO_USED(X509_PUBKEY_get0_param);
272 466
273#endif /* _LIBCRYPTO_X509_H */ 467#endif /* _LIBCRYPTO_X509_H */