summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/pem/pem_pk8.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/pem/pem_pk8.c')
-rw-r--r--src/lib/libcrypto/pem/pem_pk8.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/libcrypto/pem/pem_pk8.c b/src/lib/libcrypto/pem/pem_pk8.c
index 43581905f0..6d0c0cbd57 100644
--- a/src/lib/libcrypto/pem/pem_pk8.c
+++ b/src/lib/libcrypto/pem/pem_pk8.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pem_pk8.c,v 1.13 2017/01/29 17:49:23 beck Exp $ */ 1/* $OpenBSD: pem_pk8.c,v 1.14 2023/07/07 13:40:44 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 *
@@ -84,6 +84,7 @@ PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, char *kstr,
84{ 84{
85 return do_pk8pkey(bp, x, 0, nid, NULL, kstr, klen, cb, u); 85 return do_pk8pkey(bp, x, 0, nid, NULL, kstr, klen, cb, u);
86} 86}
87LCRYPTO_ALIAS(PEM_write_bio_PKCS8PrivateKey_nid);
87 88
88int 89int
89PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, 90PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
@@ -91,6 +92,7 @@ PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
91{ 92{
92 return do_pk8pkey(bp, x, 0, -1, enc, kstr, klen, cb, u); 93 return do_pk8pkey(bp, x, 0, -1, enc, kstr, klen, cb, u);
93} 94}
95LCRYPTO_ALIAS(PEM_write_bio_PKCS8PrivateKey);
94 96
95int 97int
96i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, 98i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
@@ -98,6 +100,7 @@ i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
98{ 100{
99 return do_pk8pkey(bp, x, 1, -1, enc, kstr, klen, cb, u); 101 return do_pk8pkey(bp, x, 1, -1, enc, kstr, klen, cb, u);
100} 102}
103LCRYPTO_ALIAS(i2d_PKCS8PrivateKey_bio);
101 104
102int 105int
103i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, 106i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid,
@@ -105,6 +108,7 @@ i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid,
105{ 108{
106 return do_pk8pkey(bp, x, 1, nid, NULL, kstr, klen, cb, u); 109 return do_pk8pkey(bp, x, 1, nid, NULL, kstr, klen, cb, u);
107} 110}
111LCRYPTO_ALIAS(i2d_PKCS8PrivateKey_nid_bio);
108 112
109static int 113static int
110do_pk8pkey(BIO *bp, EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc, 114do_pk8pkey(BIO *bp, EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc,
@@ -188,6 +192,7 @@ d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u)
188 } 192 }
189 return ret; 193 return ret;
190} 194}
195LCRYPTO_ALIAS(d2i_PKCS8PrivateKey_bio);
191 196
192 197
193int 198int
@@ -196,6 +201,7 @@ i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
196{ 201{
197 return do_pk8pkey_fp(fp, x, 1, -1, enc, kstr, klen, cb, u); 202 return do_pk8pkey_fp(fp, x, 1, -1, enc, kstr, klen, cb, u);
198} 203}
204LCRYPTO_ALIAS(i2d_PKCS8PrivateKey_fp);
199 205
200int 206int
201i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, char *kstr, 207i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, char *kstr,
@@ -203,6 +209,7 @@ i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, char *kstr,
203{ 209{
204 return do_pk8pkey_fp(fp, x, 1, nid, NULL, kstr, klen, cb, u); 210 return do_pk8pkey_fp(fp, x, 1, nid, NULL, kstr, klen, cb, u);
205} 211}
212LCRYPTO_ALIAS(i2d_PKCS8PrivateKey_nid_fp);
206 213
207int 214int
208PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, char *kstr, 215PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, char *kstr,
@@ -210,6 +217,7 @@ PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, char *kstr,
210{ 217{
211 return do_pk8pkey_fp(fp, x, 0, nid, NULL, kstr, klen, cb, u); 218 return do_pk8pkey_fp(fp, x, 0, nid, NULL, kstr, klen, cb, u);
212} 219}
220LCRYPTO_ALIAS(PEM_write_PKCS8PrivateKey_nid);
213 221
214int 222int
215PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, 223PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
@@ -217,6 +225,7 @@ PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
217{ 225{
218 return do_pk8pkey_fp(fp, x, 0, -1, enc, kstr, klen, cb, u); 226 return do_pk8pkey_fp(fp, x, 0, -1, enc, kstr, klen, cb, u);
219} 227}
228LCRYPTO_ALIAS(PEM_write_PKCS8PrivateKey);
220 229
221static int 230static int
222do_pk8pkey_fp(FILE *fp, EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc, 231do_pk8pkey_fp(FILE *fp, EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc,
@@ -248,6 +257,7 @@ d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u)
248 BIO_free(bp); 257 BIO_free(bp);
249 return ret; 258 return ret;
250} 259}
260LCRYPTO_ALIAS(d2i_PKCS8PrivateKey_fp);
251 261
252X509_SIG * 262X509_SIG *
253PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u) 263PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u)
@@ -255,6 +265,7 @@ PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u)
255 return PEM_ASN1_read((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, fp, 265 return PEM_ASN1_read((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, fp,
256 (void **)x, cb, u); 266 (void **)x, cb, u);
257} 267}
268LCRYPTO_ALIAS(PEM_read_PKCS8);
258 269
259int 270int
260PEM_write_PKCS8(FILE *fp, X509_SIG *x) 271PEM_write_PKCS8(FILE *fp, X509_SIG *x)
@@ -262,6 +273,7 @@ PEM_write_PKCS8(FILE *fp, X509_SIG *x)
262 return PEM_ASN1_write((i2d_of_void *)i2d_X509_SIG, PEM_STRING_PKCS8, fp, 273 return PEM_ASN1_write((i2d_of_void *)i2d_X509_SIG, PEM_STRING_PKCS8, fp,
263 x, NULL, NULL, 0, NULL, NULL); 274 x, NULL, NULL, 0, NULL, NULL);
264} 275}
276LCRYPTO_ALIAS(PEM_write_PKCS8);
265 277
266X509_SIG * 278X509_SIG *
267PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u) 279PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u)
@@ -269,6 +281,7 @@ PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u)
269 return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, bp, 281 return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, bp,
270 (void **)x, cb, u); 282 (void **)x, cb, u);
271} 283}
284LCRYPTO_ALIAS(PEM_read_bio_PKCS8);
272 285
273int 286int
274PEM_write_bio_PKCS8(BIO *bp, X509_SIG *x) 287PEM_write_bio_PKCS8(BIO *bp, X509_SIG *x)
@@ -276,6 +289,7 @@ PEM_write_bio_PKCS8(BIO *bp, X509_SIG *x)
276 return PEM_ASN1_write_bio((i2d_of_void *)i2d_X509_SIG, PEM_STRING_PKCS8, bp, 289 return PEM_ASN1_write_bio((i2d_of_void *)i2d_X509_SIG, PEM_STRING_PKCS8, bp,
277 x, NULL, NULL, 0, NULL, NULL); 290 x, NULL, NULL, 0, NULL, NULL);
278} 291}
292LCRYPTO_ALIAS(PEM_write_bio_PKCS8);
279 293
280PKCS8_PRIV_KEY_INFO * 294PKCS8_PRIV_KEY_INFO *
281PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u) 295PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u)
@@ -283,6 +297,7 @@ PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb
283 return PEM_ASN1_read((d2i_of_void *)d2i_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp, 297 return PEM_ASN1_read((d2i_of_void *)d2i_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp,
284 (void **)x, cb, u); 298 (void **)x, cb, u);
285} 299}
300LCRYPTO_ALIAS(PEM_read_PKCS8_PRIV_KEY_INFO);
286 301
287int 302int
288PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x) 303PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x)
@@ -290,6 +305,7 @@ PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x)
290 return PEM_ASN1_write((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp, 305 return PEM_ASN1_write((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp,
291 x, NULL, NULL, 0, NULL, NULL); 306 x, NULL, NULL, 0, NULL, NULL);
292} 307}
308LCRYPTO_ALIAS(PEM_write_PKCS8_PRIV_KEY_INFO);
293 309
294PKCS8_PRIV_KEY_INFO * 310PKCS8_PRIV_KEY_INFO *
295PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u) 311PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u)
@@ -297,6 +313,7 @@ PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO **x, pem_password_
297 return PEM_ASN1_read_bio((d2i_of_void *)d2i_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, bp, 313 return PEM_ASN1_read_bio((d2i_of_void *)d2i_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, bp,
298 (void **)x, cb, u); 314 (void **)x, cb, u);
299} 315}
316LCRYPTO_ALIAS(PEM_read_bio_PKCS8_PRIV_KEY_INFO);
300 317
301int 318int
302PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x) 319PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x)
@@ -304,3 +321,4 @@ PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x)
304 return PEM_ASN1_write_bio((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, bp, 321 return PEM_ASN1_write_bio((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, bp,
305 x, NULL, NULL, 0, NULL, NULL); 322 x, NULL, NULL, 0, NULL, NULL);
306} 323}
324LCRYPTO_ALIAS(PEM_write_bio_PKCS8_PRIV_KEY_INFO);