diff options
author | jsing <> | 2016-09-04 16:12:33 +0000 |
---|---|---|
committer | jsing <> | 2016-09-04 16:12:33 +0000 |
commit | c29e0e7bf4ee4f4a903f455070be2bcaec93ff48 (patch) | |
tree | 591ddd28ce7f4122267861faeff1465838eed4f3 /src | |
parent | 255f36cd6161a4a0acf9be1147be1341488d11f2 (diff) | |
download | openbsd-c29e0e7bf4ee4f4a903f455070be2bcaec93ff48.tar.gz openbsd-c29e0e7bf4ee4f4a903f455070be2bcaec93ff48.tar.bz2 openbsd-c29e0e7bf4ee4f4a903f455070be2bcaec93ff48.zip |
Sort and group functions.
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/pem/pem_all.c | 343 | ||||
-rw-r--r-- | src/lib/libcrypto/pem/pem_pk8.c | 44 | ||||
-rw-r--r-- | src/lib/libcrypto/pem/pem_x509.c | 24 | ||||
-rw-r--r-- | src/lib/libcrypto/pem/pem_xaux.c | 42 | ||||
-rw-r--r-- | src/lib/libssl/ssl_sess.c | 23 |
5 files changed, 226 insertions, 250 deletions
diff --git a/src/lib/libcrypto/pem/pem_all.c b/src/lib/libcrypto/pem/pem_all.c index befa37c654..f5211f29a6 100644 --- a/src/lib/libcrypto/pem/pem_all.c +++ b/src/lib/libcrypto/pem/pem_all.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: pem_all.c,v 1.16 2016/09/04 15:53:03 jsing Exp $ */ | 1 | /* $OpenBSD: pem_all.c,v 1.17 2016/09/04 16:10:38 jsing 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 | * |
@@ -142,16 +142,23 @@ static EC_KEY *pkey_get_eckey(EVP_PKEY *key, EC_KEY **eckey); | |||
142 | 142 | ||
143 | 143 | ||
144 | X509_REQ * | 144 | X509_REQ * |
145 | PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, pem_password_cb *cb, void *u) | 145 | PEM_read_X509_REQ(FILE *fp, X509_REQ **x, pem_password_cb *cb, void *u) |
146 | { | 146 | { |
147 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_REQ, PEM_STRING_X509_REQ, bp, | 147 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_REQ, PEM_STRING_X509_REQ, fp, |
148 | (void **)x, cb, u); | 148 | (void **)x, cb, u); |
149 | } | 149 | } |
150 | 150 | ||
151 | int | ||
152 | PEM_write_X509_REQ(FILE *fp, X509_REQ *x) | ||
153 | { | ||
154 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_REQ, PEM_STRING_X509_REQ, fp, | ||
155 | x, NULL, NULL, 0, NULL, NULL); | ||
156 | } | ||
157 | |||
151 | X509_REQ * | 158 | X509_REQ * |
152 | PEM_read_X509_REQ(FILE *fp, X509_REQ **x, pem_password_cb *cb, void *u) | 159 | PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, pem_password_cb *cb, void *u) |
153 | { | 160 | { |
154 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_REQ, PEM_STRING_X509_REQ, fp, | 161 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_REQ, PEM_STRING_X509_REQ, bp, |
155 | (void **)x, cb, u); | 162 | (void **)x, cb, u); |
156 | } | 163 | } |
157 | 164 | ||
@@ -163,13 +170,12 @@ PEM_write_bio_X509_REQ(BIO *bp, X509_REQ *x) | |||
163 | } | 170 | } |
164 | 171 | ||
165 | int | 172 | int |
166 | PEM_write_X509_REQ(FILE *fp, X509_REQ *x) | 173 | PEM_write_X509_REQ_NEW(FILE *fp, X509_REQ *x) |
167 | { | 174 | { |
168 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_REQ, PEM_STRING_X509_REQ, fp, | 175 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_REQ, PEM_STRING_X509_REQ_OLD, fp, |
169 | x, NULL, NULL, 0, NULL, NULL); | 176 | x, NULL, NULL, 0, NULL, NULL); |
170 | } | 177 | } |
171 | 178 | ||
172 | |||
173 | int | 179 | int |
174 | PEM_write_bio_X509_REQ_NEW(BIO *bp, X509_REQ *x) | 180 | PEM_write_bio_X509_REQ_NEW(BIO *bp, X509_REQ *x) |
175 | { | 181 | { |
@@ -177,14 +183,20 @@ PEM_write_bio_X509_REQ_NEW(BIO *bp, X509_REQ *x) | |||
177 | x, NULL, NULL, 0, NULL, NULL); | 183 | x, NULL, NULL, 0, NULL, NULL); |
178 | } | 184 | } |
179 | 185 | ||
186 | X509_CRL * | ||
187 | PEM_read_X509_CRL(FILE *fp, X509_CRL **x, pem_password_cb *cb, void *u) | ||
188 | { | ||
189 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_CRL, PEM_STRING_X509_CRL, fp, | ||
190 | (void **)x, cb, u); | ||
191 | } | ||
192 | |||
180 | int | 193 | int |
181 | PEM_write_X509_REQ_NEW(FILE *fp, X509_REQ *x) | 194 | PEM_write_X509_CRL(FILE *fp, X509_CRL *x) |
182 | { | 195 | { |
183 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_REQ, PEM_STRING_X509_REQ_OLD, fp, | 196 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_CRL, PEM_STRING_X509_CRL, fp, |
184 | x, NULL, NULL, 0, NULL, NULL); | 197 | x, NULL, NULL, 0, NULL, NULL); |
185 | } | 198 | } |
186 | 199 | ||
187 | |||
188 | X509_CRL * | 200 | X509_CRL * |
189 | PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb *cb, void *u) | 201 | PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb *cb, void *u) |
190 | { | 202 | { |
@@ -192,13 +204,6 @@ PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb *cb, void *u) | |||
192 | (void **)x, cb, u); | 204 | (void **)x, cb, u); |
193 | } | 205 | } |
194 | 206 | ||
195 | X509_CRL * | ||
196 | PEM_read_X509_CRL(FILE *fp, X509_CRL **x, pem_password_cb *cb, void *u) | ||
197 | { | ||
198 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_CRL, PEM_STRING_X509_CRL, fp, | ||
199 | (void **)x, cb, u); | ||
200 | } | ||
201 | |||
202 | int | 207 | int |
203 | PEM_write_bio_X509_CRL(BIO *bp, X509_CRL *x) | 208 | PEM_write_bio_X509_CRL(BIO *bp, X509_CRL *x) |
204 | { | 209 | { |
@@ -206,14 +211,20 @@ PEM_write_bio_X509_CRL(BIO *bp, X509_CRL *x) | |||
206 | x, NULL, NULL, 0, NULL, NULL); | 211 | x, NULL, NULL, 0, NULL, NULL); |
207 | } | 212 | } |
208 | 213 | ||
214 | PKCS7 * | ||
215 | PEM_read_PKCS7(FILE *fp, PKCS7 **x, pem_password_cb *cb, void *u) | ||
216 | { | ||
217 | return PEM_ASN1_read((d2i_of_void *)d2i_PKCS7, PEM_STRING_PKCS7, fp, | ||
218 | (void **)x, cb, u); | ||
219 | } | ||
220 | |||
209 | int | 221 | int |
210 | PEM_write_X509_CRL(FILE *fp, X509_CRL *x) | 222 | PEM_write_PKCS7(FILE *fp, PKCS7 *x) |
211 | { | 223 | { |
212 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_CRL, PEM_STRING_X509_CRL, fp, | 224 | return PEM_ASN1_write((i2d_of_void *)i2d_PKCS7, PEM_STRING_PKCS7, fp, |
213 | x, NULL, NULL, 0, NULL, NULL); | 225 | x, NULL, NULL, 0, NULL, NULL); |
214 | } | 226 | } |
215 | 227 | ||
216 | |||
217 | PKCS7 * | 228 | PKCS7 * |
218 | PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void *u) | 229 | PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void *u) |
219 | { | 230 | { |
@@ -221,13 +232,6 @@ PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void *u) | |||
221 | (void **)x, cb, u); | 232 | (void **)x, cb, u); |
222 | } | 233 | } |
223 | 234 | ||
224 | PKCS7 * | ||
225 | PEM_read_PKCS7(FILE *fp, PKCS7 **x, pem_password_cb *cb, void *u) | ||
226 | { | ||
227 | return PEM_ASN1_read((d2i_of_void *)d2i_PKCS7, PEM_STRING_PKCS7, fp, | ||
228 | (void **)x, cb, u); | ||
229 | } | ||
230 | |||
231 | int | 235 | int |
232 | PEM_write_bio_PKCS7(BIO *bp, PKCS7 *x) | 236 | PEM_write_bio_PKCS7(BIO *bp, PKCS7 *x) |
233 | { | 237 | { |
@@ -236,24 +240,23 @@ PEM_write_bio_PKCS7(BIO *bp, PKCS7 *x) | |||
236 | } | 240 | } |
237 | 241 | ||
238 | int | 242 | int |
239 | PEM_write_PKCS7(FILE *fp, PKCS7 *x) | 243 | PEM_write_NETSCAPE_CERT_SEQUENCE(FILE *fp, NETSCAPE_CERT_SEQUENCE *x) |
240 | { | 244 | { |
241 | return PEM_ASN1_write((i2d_of_void *)i2d_PKCS7, PEM_STRING_PKCS7, fp, | 245 | return PEM_ASN1_write((i2d_of_void *)i2d_NETSCAPE_CERT_SEQUENCE, PEM_STRING_X509, fp, |
242 | x, NULL, NULL, 0, NULL, NULL); | 246 | x, NULL, NULL, 0, NULL, NULL); |
243 | } | 247 | } |
244 | 248 | ||
245 | |||
246 | NETSCAPE_CERT_SEQUENCE * | 249 | NETSCAPE_CERT_SEQUENCE * |
247 | PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb, void *u) | 250 | PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp, NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb, void *u) |
248 | { | 251 | { |
249 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_NETSCAPE_CERT_SEQUENCE, PEM_STRING_X509, bp, | 252 | return PEM_ASN1_read((d2i_of_void *)d2i_NETSCAPE_CERT_SEQUENCE, PEM_STRING_X509, fp, |
250 | (void **)x, cb, u); | 253 | (void **)x, cb, u); |
251 | } | 254 | } |
252 | 255 | ||
253 | NETSCAPE_CERT_SEQUENCE * | 256 | NETSCAPE_CERT_SEQUENCE * |
254 | PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp, NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb, void *u) | 257 | PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb, void *u) |
255 | { | 258 | { |
256 | return PEM_ASN1_read((d2i_of_void *)d2i_NETSCAPE_CERT_SEQUENCE, PEM_STRING_X509, fp, | 259 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_NETSCAPE_CERT_SEQUENCE, PEM_STRING_X509, bp, |
257 | (void **)x, cb, u); | 260 | (void **)x, cb, u); |
258 | } | 261 | } |
259 | 262 | ||
@@ -264,14 +267,6 @@ PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE *x) | |||
264 | x, NULL, NULL, 0, NULL, NULL); | 267 | x, NULL, NULL, 0, NULL, NULL); |
265 | } | 268 | } |
266 | 269 | ||
267 | int | ||
268 | PEM_write_NETSCAPE_CERT_SEQUENCE(FILE *fp, NETSCAPE_CERT_SEQUENCE *x) | ||
269 | { | ||
270 | return PEM_ASN1_write((i2d_of_void *)i2d_NETSCAPE_CERT_SEQUENCE, PEM_STRING_X509, fp, | ||
271 | x, NULL, NULL, 0, NULL, NULL); | ||
272 | } | ||
273 | |||
274 | |||
275 | #ifndef OPENSSL_NO_RSA | 270 | #ifndef OPENSSL_NO_RSA |
276 | 271 | ||
277 | /* We treat RSA or DSA private keys as a special case. | 272 | /* We treat RSA or DSA private keys as a special case. |
@@ -301,26 +296,31 @@ pkey_get_rsa(EVP_PKEY *key, RSA **rsa) | |||
301 | } | 296 | } |
302 | 297 | ||
303 | RSA * | 298 | RSA * |
304 | PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **rsa, pem_password_cb *cb, void *u) | 299 | PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u) |
305 | { | 300 | { |
306 | EVP_PKEY *pktmp; | 301 | EVP_PKEY *pktmp; |
307 | 302 | ||
308 | pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); | 303 | pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); |
309 | return pkey_get_rsa(pktmp, rsa); | 304 | return pkey_get_rsa(pktmp, rsa); |
310 | } | 305 | } |
311 | 306 | ||
307 | int | ||
308 | PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc, | ||
309 | unsigned char *kstr, int klen, pem_password_cb *cb, void *u) | ||
310 | { | ||
311 | return PEM_ASN1_write((i2d_of_void *)i2d_RSAPrivateKey, PEM_STRING_RSA, fp, | ||
312 | x, enc, kstr, klen, cb, u); | ||
313 | } | ||
312 | 314 | ||
313 | RSA * | 315 | RSA * |
314 | PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u) | 316 | PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **rsa, pem_password_cb *cb, void *u) |
315 | { | 317 | { |
316 | EVP_PKEY *pktmp; | 318 | EVP_PKEY *pktmp; |
317 | 319 | ||
318 | pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); | 320 | pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); |
319 | return pkey_get_rsa(pktmp, rsa); | 321 | return pkey_get_rsa(pktmp, rsa); |
320 | } | 322 | } |
321 | 323 | ||
322 | |||
323 | |||
324 | int | 324 | int |
325 | PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, | 325 | PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, |
326 | const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, | 326 | const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, |
@@ -330,22 +330,6 @@ PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, | |||
330 | x, enc, kstr, klen, cb, u); | 330 | x, enc, kstr, klen, cb, u); |
331 | } | 331 | } |
332 | 332 | ||
333 | int | ||
334 | PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc, | ||
335 | unsigned char *kstr, int klen, pem_password_cb *cb, void *u) | ||
336 | { | ||
337 | return PEM_ASN1_write((i2d_of_void *)i2d_RSAPrivateKey, PEM_STRING_RSA, fp, | ||
338 | x, enc, kstr, klen, cb, u); | ||
339 | } | ||
340 | |||
341 | |||
342 | RSA * | ||
343 | PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u) | ||
344 | { | ||
345 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_RSAPublicKey, PEM_STRING_RSA_PUBLIC, bp, | ||
346 | (void **)x, cb, u); | ||
347 | } | ||
348 | |||
349 | RSA * | 333 | RSA * |
350 | PEM_read_RSAPublicKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u) | 334 | PEM_read_RSAPublicKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u) |
351 | { | 335 | { |
@@ -354,13 +338,6 @@ PEM_read_RSAPublicKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u) | |||
354 | } | 338 | } |
355 | 339 | ||
356 | int | 340 | int |
357 | PEM_write_bio_RSAPublicKey(BIO *bp, const RSA *x) | ||
358 | { | ||
359 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_RSAPublicKey, PEM_STRING_RSA_PUBLIC, bp, | ||
360 | (void *)x, NULL, NULL, 0, NULL, NULL); | ||
361 | } | ||
362 | |||
363 | int | ||
364 | PEM_write_RSAPublicKey(FILE *fp, const RSA *x) | 341 | PEM_write_RSAPublicKey(FILE *fp, const RSA *x) |
365 | { | 342 | { |
366 | return PEM_ASN1_write((i2d_of_void *)i2d_RSAPublicKey, PEM_STRING_RSA_PUBLIC, fp, | 343 | return PEM_ASN1_write((i2d_of_void *)i2d_RSAPublicKey, PEM_STRING_RSA_PUBLIC, fp, |
@@ -368,12 +345,19 @@ PEM_write_RSAPublicKey(FILE *fp, const RSA *x) | |||
368 | } | 345 | } |
369 | 346 | ||
370 | RSA * | 347 | RSA * |
371 | PEM_read_bio_RSA_PUBKEY(BIO *bp, RSA **x, pem_password_cb *cb, void *u) | 348 | PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u) |
372 | { | 349 | { |
373 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_RSA_PUBKEY, PEM_STRING_PUBLIC, bp, | 350 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_RSAPublicKey, PEM_STRING_RSA_PUBLIC, bp, |
374 | (void **)x, cb, u); | 351 | (void **)x, cb, u); |
375 | } | 352 | } |
376 | 353 | ||
354 | int | ||
355 | PEM_write_bio_RSAPublicKey(BIO *bp, const RSA *x) | ||
356 | { | ||
357 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_RSAPublicKey, PEM_STRING_RSA_PUBLIC, bp, | ||
358 | (void *)x, NULL, NULL, 0, NULL, NULL); | ||
359 | } | ||
360 | |||
377 | RSA * | 361 | RSA * |
378 | PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u) | 362 | PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u) |
379 | { | 363 | { |
@@ -382,16 +366,23 @@ PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u) | |||
382 | } | 366 | } |
383 | 367 | ||
384 | int | 368 | int |
385 | PEM_write_bio_RSA_PUBKEY(BIO *bp, RSA *x) | 369 | PEM_write_RSA_PUBKEY(FILE *fp, RSA *x) |
386 | { | 370 | { |
387 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_RSA_PUBKEY, PEM_STRING_PUBLIC, bp, | 371 | return PEM_ASN1_write((i2d_of_void *)i2d_RSA_PUBKEY, PEM_STRING_PUBLIC, fp, |
388 | x, NULL, NULL, 0, NULL, NULL); | 372 | x, NULL, NULL, 0, NULL, NULL); |
389 | } | 373 | } |
390 | 374 | ||
375 | RSA * | ||
376 | PEM_read_bio_RSA_PUBKEY(BIO *bp, RSA **x, pem_password_cb *cb, void *u) | ||
377 | { | ||
378 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_RSA_PUBKEY, PEM_STRING_PUBLIC, bp, | ||
379 | (void **)x, cb, u); | ||
380 | } | ||
381 | |||
391 | int | 382 | int |
392 | PEM_write_RSA_PUBKEY(FILE *fp, RSA *x) | 383 | PEM_write_bio_RSA_PUBKEY(BIO *bp, RSA *x) |
393 | { | 384 | { |
394 | return PEM_ASN1_write((i2d_of_void *)i2d_RSA_PUBKEY, PEM_STRING_PUBLIC, fp, | 385 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_RSA_PUBKEY, PEM_STRING_PUBLIC, bp, |
395 | x, NULL, NULL, 0, NULL, NULL); | 386 | x, NULL, NULL, 0, NULL, NULL); |
396 | } | 387 | } |
397 | 388 | ||
@@ -418,24 +409,14 @@ pkey_get_dsa(EVP_PKEY *key, DSA **dsa) | |||
418 | } | 409 | } |
419 | 410 | ||
420 | DSA * | 411 | DSA * |
421 | PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **dsa, pem_password_cb *cb, void *u) | 412 | PEM_read_DSAPrivateKey(FILE *fp, DSA **dsa, pem_password_cb *cb, void *u) |
422 | { | 413 | { |
423 | EVP_PKEY *pktmp; | 414 | EVP_PKEY *pktmp; |
424 | 415 | ||
425 | pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); | 416 | pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); |
426 | return pkey_get_dsa(pktmp, dsa); /* will free pktmp */ | 417 | return pkey_get_dsa(pktmp, dsa); /* will free pktmp */ |
427 | } | 418 | } |
428 | 419 | ||
429 | |||
430 | int | ||
431 | PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, | ||
432 | const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, | ||
433 | void *u) | ||
434 | { | ||
435 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSAPrivateKey, PEM_STRING_DSA, bp, | ||
436 | x, enc, kstr, klen, cb, u); | ||
437 | } | ||
438 | |||
439 | int | 420 | int |
440 | PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc, | 421 | PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc, |
441 | unsigned char *kstr, int klen, pem_password_cb *cb, void *u) | 422 | unsigned char *kstr, int klen, pem_password_cb *cb, void *u) |
@@ -444,12 +425,22 @@ PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc, | |||
444 | x, enc, kstr, klen, cb, u); | 425 | x, enc, kstr, klen, cb, u); |
445 | } | 426 | } |
446 | 427 | ||
447 | |||
448 | DSA * | 428 | DSA * |
449 | PEM_read_bio_DSA_PUBKEY(BIO *bp, DSA **x, pem_password_cb *cb, void *u) | 429 | PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **dsa, pem_password_cb *cb, void *u) |
450 | { | 430 | { |
451 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_DSA_PUBKEY, PEM_STRING_PUBLIC, bp, | 431 | EVP_PKEY *pktmp; |
452 | (void **)x, cb, u); | 432 | |
433 | pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); | ||
434 | return pkey_get_dsa(pktmp, dsa); /* will free pktmp */ | ||
435 | } | ||
436 | |||
437 | int | ||
438 | PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, | ||
439 | const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, | ||
440 | void *u) | ||
441 | { | ||
442 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSAPrivateKey, PEM_STRING_DSA, bp, | ||
443 | x, enc, kstr, klen, cb, u); | ||
453 | } | 444 | } |
454 | 445 | ||
455 | DSA * | 446 | DSA * |
@@ -460,35 +451,23 @@ PEM_read_DSA_PUBKEY(FILE *fp, DSA **x, pem_password_cb *cb, void *u) | |||
460 | } | 451 | } |
461 | 452 | ||
462 | int | 453 | int |
463 | PEM_write_bio_DSA_PUBKEY(BIO *bp, DSA *x) | ||
464 | { | ||
465 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSA_PUBKEY, PEM_STRING_PUBLIC, bp, | ||
466 | x, NULL, NULL, 0, NULL, NULL); | ||
467 | } | ||
468 | |||
469 | int | ||
470 | PEM_write_DSA_PUBKEY(FILE *fp, DSA *x) | 454 | PEM_write_DSA_PUBKEY(FILE *fp, DSA *x) |
471 | { | 455 | { |
472 | return PEM_ASN1_write((i2d_of_void *)i2d_DSA_PUBKEY, PEM_STRING_PUBLIC, fp, | 456 | return PEM_ASN1_write((i2d_of_void *)i2d_DSA_PUBKEY, PEM_STRING_PUBLIC, fp, |
473 | x, NULL, NULL, 0, NULL, NULL); | 457 | x, NULL, NULL, 0, NULL, NULL); |
474 | } | 458 | } |
475 | 459 | ||
476 | 460 | int | |
477 | DSA * | 461 | PEM_write_bio_DSA_PUBKEY(BIO *bp, DSA *x) |
478 | PEM_read_DSAPrivateKey(FILE *fp, DSA **dsa, pem_password_cb *cb, void *u) | ||
479 | { | 462 | { |
480 | EVP_PKEY *pktmp; | 463 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSA_PUBKEY, PEM_STRING_PUBLIC, bp, |
481 | 464 | x, NULL, NULL, 0, NULL, NULL); | |
482 | pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); | ||
483 | return pkey_get_dsa(pktmp, dsa); /* will free pktmp */ | ||
484 | } | 465 | } |
485 | 466 | ||
486 | |||
487 | |||
488 | DSA * | 467 | DSA * |
489 | PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u) | 468 | PEM_read_bio_DSA_PUBKEY(BIO *bp, DSA **x, pem_password_cb *cb, void *u) |
490 | { | 469 | { |
491 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_DSAparams, PEM_STRING_DSAPARAMS, bp, | 470 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_DSA_PUBKEY, PEM_STRING_PUBLIC, bp, |
492 | (void **)x, cb, u); | 471 | (void **)x, cb, u); |
493 | } | 472 | } |
494 | 473 | ||
@@ -500,16 +479,23 @@ PEM_read_DSAparams(FILE *fp, DSA **x, pem_password_cb *cb, void *u) | |||
500 | } | 479 | } |
501 | 480 | ||
502 | int | 481 | int |
503 | PEM_write_bio_DSAparams(BIO *bp, const DSA *x) | 482 | PEM_write_DSAparams(FILE *fp, const DSA *x) |
504 | { | 483 | { |
505 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSAparams, PEM_STRING_DSAPARAMS, bp, | 484 | return PEM_ASN1_write((i2d_of_void *)i2d_DSAparams, PEM_STRING_DSAPARAMS, fp, |
506 | (void *)x, NULL, NULL, 0, NULL, NULL); | 485 | (void *)x, NULL, NULL, 0, NULL, NULL); |
507 | } | 486 | } |
508 | 487 | ||
488 | DSA * | ||
489 | PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u) | ||
490 | { | ||
491 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_DSAparams, PEM_STRING_DSAPARAMS, bp, | ||
492 | (void **)x, cb, u); | ||
493 | } | ||
494 | |||
509 | int | 495 | int |
510 | PEM_write_DSAparams(FILE *fp, const DSA *x) | 496 | PEM_write_bio_DSAparams(BIO *bp, const DSA *x) |
511 | { | 497 | { |
512 | return PEM_ASN1_write((i2d_of_void *)i2d_DSAparams, PEM_STRING_DSAPARAMS, fp, | 498 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSAparams, PEM_STRING_DSAPARAMS, bp, |
513 | (void *)x, NULL, NULL, 0, NULL, NULL); | 499 | (void *)x, NULL, NULL, 0, NULL, NULL); |
514 | } | 500 | } |
515 | 501 | ||
@@ -535,26 +521,24 @@ pkey_get_eckey(EVP_PKEY *key, EC_KEY **eckey) | |||
535 | return dtmp; | 521 | return dtmp; |
536 | } | 522 | } |
537 | 523 | ||
538 | EC_KEY * | 524 | EC_GROUP * |
539 | PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb *cb, void *u) | 525 | PEM_read_ECPKParameters(FILE *fp, EC_GROUP **x, pem_password_cb *cb, void *u) |
540 | { | 526 | { |
541 | EVP_PKEY *pktmp; | 527 | return PEM_ASN1_read((d2i_of_void *)d2i_ECPKParameters, PEM_STRING_ECPARAMETERS, fp, |
542 | pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); | 528 | (void **)x, cb, u); |
543 | return pkey_get_eckey(pktmp, key); /* will free pktmp */ | ||
544 | } | 529 | } |
545 | 530 | ||
546 | 531 | int | |
547 | EC_GROUP * | 532 | PEM_write_ECPKParameters(FILE *fp, const EC_GROUP *x) |
548 | PEM_read_bio_ECPKParameters(BIO *bp, EC_GROUP **x, pem_password_cb *cb, void *u) | ||
549 | { | 533 | { |
550 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_ECPKParameters, PEM_STRING_ECPARAMETERS, bp, | 534 | return PEM_ASN1_write((i2d_of_void *)i2d_ECPKParameters, PEM_STRING_ECPARAMETERS, fp, |
551 | (void **)x, cb, u); | 535 | (void *)x, NULL, NULL, 0, NULL, NULL); |
552 | } | 536 | } |
553 | 537 | ||
554 | EC_GROUP * | 538 | EC_GROUP * |
555 | PEM_read_ECPKParameters(FILE *fp, EC_GROUP **x, pem_password_cb *cb, void *u) | 539 | PEM_read_bio_ECPKParameters(BIO *bp, EC_GROUP **x, pem_password_cb *cb, void *u) |
556 | { | 540 | { |
557 | return PEM_ASN1_read((d2i_of_void *)d2i_ECPKParameters, PEM_STRING_ECPARAMETERS, fp, | 541 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_ECPKParameters, PEM_STRING_ECPARAMETERS, bp, |
558 | (void **)x, cb, u); | 542 | (void **)x, cb, u); |
559 | } | 543 | } |
560 | 544 | ||
@@ -565,21 +549,13 @@ PEM_write_bio_ECPKParameters(BIO *bp, const EC_GROUP *x) | |||
565 | (void *)x, NULL, NULL, 0, NULL, NULL); | 549 | (void *)x, NULL, NULL, 0, NULL, NULL); |
566 | } | 550 | } |
567 | 551 | ||
568 | int | 552 | EC_KEY * |
569 | PEM_write_ECPKParameters(FILE *fp, const EC_GROUP *x) | 553 | PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb, void *u) |
570 | { | 554 | { |
571 | return PEM_ASN1_write((i2d_of_void *)i2d_ECPKParameters, PEM_STRING_ECPARAMETERS, fp, | 555 | EVP_PKEY *pktmp; |
572 | (void *)x, NULL, NULL, 0, NULL, NULL); | ||
573 | } | ||
574 | |||
575 | 556 | ||
576 | int | 557 | pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); |
577 | PEM_write_bio_ECPrivateKey(BIO *bp, EC_KEY *x, | 558 | return pkey_get_eckey(pktmp, eckey); /* will free pktmp */ |
578 | const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, | ||
579 | void *u) | ||
580 | { | ||
581 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_ECPrivateKey, PEM_STRING_ECPRIVATEKEY, bp, | ||
582 | x, enc, kstr, klen, cb, u); | ||
583 | } | 559 | } |
584 | 560 | ||
585 | int | 561 | int |
@@ -590,12 +566,21 @@ PEM_write_ECPrivateKey(FILE *fp, EC_KEY *x, const EVP_CIPHER *enc, | |||
590 | x, enc, kstr, klen, cb, u); | 566 | x, enc, kstr, klen, cb, u); |
591 | } | 567 | } |
592 | 568 | ||
593 | |||
594 | EC_KEY * | 569 | EC_KEY * |
595 | PEM_read_bio_EC_PUBKEY(BIO *bp, EC_KEY **x, pem_password_cb *cb, void *u) | 570 | PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb *cb, void *u) |
596 | { | 571 | { |
597 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_EC_PUBKEY, PEM_STRING_PUBLIC, bp, | 572 | EVP_PKEY *pktmp; |
598 | (void **)x, cb, u); | 573 | pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); |
574 | return pkey_get_eckey(pktmp, key); /* will free pktmp */ | ||
575 | } | ||
576 | |||
577 | int | ||
578 | PEM_write_bio_ECPrivateKey(BIO *bp, EC_KEY *x, | ||
579 | const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, | ||
580 | void *u) | ||
581 | { | ||
582 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_ECPrivateKey, PEM_STRING_ECPRIVATEKEY, bp, | ||
583 | x, enc, kstr, klen, cb, u); | ||
599 | } | 584 | } |
600 | 585 | ||
601 | EC_KEY * | 586 | EC_KEY * |
@@ -606,42 +591,30 @@ PEM_read_EC_PUBKEY(FILE *fp, EC_KEY **x, pem_password_cb *cb, void *u) | |||
606 | } | 591 | } |
607 | 592 | ||
608 | int | 593 | int |
609 | PEM_write_bio_EC_PUBKEY(BIO *bp, EC_KEY *x) | ||
610 | { | ||
611 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_EC_PUBKEY, PEM_STRING_PUBLIC, bp, | ||
612 | x, NULL, NULL, 0, NULL, NULL); | ||
613 | } | ||
614 | |||
615 | int | ||
616 | PEM_write_EC_PUBKEY(FILE *fp, EC_KEY *x) | 594 | PEM_write_EC_PUBKEY(FILE *fp, EC_KEY *x) |
617 | { | 595 | { |
618 | return PEM_ASN1_write((i2d_of_void *)i2d_EC_PUBKEY, PEM_STRING_PUBLIC, fp, | 596 | return PEM_ASN1_write((i2d_of_void *)i2d_EC_PUBKEY, PEM_STRING_PUBLIC, fp, |
619 | x, NULL, NULL, 0, NULL, NULL); | 597 | x, NULL, NULL, 0, NULL, NULL); |
620 | } | 598 | } |
621 | 599 | ||
622 | |||
623 | EC_KEY * | 600 | EC_KEY * |
624 | PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb, void *u) | 601 | PEM_read_bio_EC_PUBKEY(BIO *bp, EC_KEY **x, pem_password_cb *cb, void *u) |
625 | { | 602 | { |
626 | EVP_PKEY *pktmp; | 603 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_EC_PUBKEY, PEM_STRING_PUBLIC, bp, |
627 | 604 | (void **)x, cb, u); | |
628 | pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); | ||
629 | return pkey_get_eckey(pktmp, eckey); /* will free pktmp */ | ||
630 | } | 605 | } |
631 | 606 | ||
607 | int | ||
608 | PEM_write_bio_EC_PUBKEY(BIO *bp, EC_KEY *x) | ||
609 | { | ||
610 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_EC_PUBKEY, PEM_STRING_PUBLIC, bp, | ||
611 | x, NULL, NULL, 0, NULL, NULL); | ||
612 | } | ||
632 | 613 | ||
633 | #endif | 614 | #endif |
634 | 615 | ||
635 | #ifndef OPENSSL_NO_DH | 616 | #ifndef OPENSSL_NO_DH |
636 | 617 | ||
637 | |||
638 | DH * | ||
639 | PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u) | ||
640 | { | ||
641 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_DHparams, PEM_STRING_DHPARAMS, bp, | ||
642 | (void **)x, cb, u); | ||
643 | } | ||
644 | |||
645 | DH * | 618 | DH * |
646 | PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u) | 619 | PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u) |
647 | { | 620 | { |
@@ -650,29 +623,28 @@ PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u) | |||
650 | } | 623 | } |
651 | 624 | ||
652 | int | 625 | int |
653 | PEM_write_bio_DHparams(BIO *bp, const DH *x) | 626 | PEM_write_DHparams(FILE *fp, const DH *x) |
654 | { | 627 | { |
655 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DHparams, PEM_STRING_DHPARAMS, bp, | 628 | return PEM_ASN1_write((i2d_of_void *)i2d_DHparams, PEM_STRING_DHPARAMS, fp, |
656 | (void *)x, NULL, NULL, 0, NULL, NULL); | 629 | (void *)x, NULL, NULL, 0, NULL, NULL); |
657 | } | 630 | } |
658 | 631 | ||
632 | DH * | ||
633 | PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u) | ||
634 | { | ||
635 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_DHparams, PEM_STRING_DHPARAMS, bp, | ||
636 | (void **)x, cb, u); | ||
637 | } | ||
638 | |||
659 | int | 639 | int |
660 | PEM_write_DHparams(FILE *fp, const DH *x) | 640 | PEM_write_bio_DHparams(BIO *bp, const DH *x) |
661 | { | 641 | { |
662 | return PEM_ASN1_write((i2d_of_void *)i2d_DHparams, PEM_STRING_DHPARAMS, fp, | 642 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_DHparams, PEM_STRING_DHPARAMS, bp, |
663 | (void *)x, NULL, NULL, 0, NULL, NULL); | 643 | (void *)x, NULL, NULL, 0, NULL, NULL); |
664 | } | 644 | } |
665 | 645 | ||
666 | #endif | 646 | #endif |
667 | 647 | ||
668 | |||
669 | EVP_PKEY * | ||
670 | PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u) | ||
671 | { | ||
672 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_PUBKEY, PEM_STRING_PUBLIC, bp, | ||
673 | (void **)x, cb, u); | ||
674 | } | ||
675 | |||
676 | EVP_PKEY * | 648 | EVP_PKEY * |
677 | PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u) | 649 | PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u) |
678 | { | 650 | { |
@@ -681,15 +653,22 @@ PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u) | |||
681 | } | 653 | } |
682 | 654 | ||
683 | int | 655 | int |
684 | PEM_write_bio_PUBKEY(BIO *bp, EVP_PKEY *x) | 656 | PEM_write_PUBKEY(FILE *fp, EVP_PKEY *x) |
685 | { | 657 | { |
686 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_PUBKEY, PEM_STRING_PUBLIC, bp, | 658 | return PEM_ASN1_write((i2d_of_void *)i2d_PUBKEY, PEM_STRING_PUBLIC, fp, |
687 | x, NULL, NULL, 0, NULL, NULL); | 659 | x, NULL, NULL, 0, NULL, NULL); |
688 | } | 660 | } |
689 | 661 | ||
662 | EVP_PKEY * | ||
663 | PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u) | ||
664 | { | ||
665 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_PUBKEY, PEM_STRING_PUBLIC, bp, | ||
666 | (void **)x, cb, u); | ||
667 | } | ||
668 | |||
690 | int | 669 | int |
691 | PEM_write_PUBKEY(FILE *fp, EVP_PKEY *x) | 670 | PEM_write_bio_PUBKEY(BIO *bp, EVP_PKEY *x) |
692 | { | 671 | { |
693 | return PEM_ASN1_write((i2d_of_void *)i2d_PUBKEY, PEM_STRING_PUBLIC, fp, | 672 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_PUBKEY, PEM_STRING_PUBLIC, bp, |
694 | x, NULL, NULL, 0, NULL, NULL); | 673 | x, NULL, NULL, 0, NULL, NULL); |
695 | } | 674 | } |
diff --git a/src/lib/libcrypto/pem/pem_pk8.c b/src/lib/libcrypto/pem/pem_pk8.c index 50aafb7655..4b3578f971 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.11 2016/09/04 15:53:03 jsing Exp $ */ | 1 | /* $OpenBSD: pem_pk8.c,v 1.12 2016/09/04 16:10:38 jsing 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 | * |
@@ -250,19 +250,24 @@ d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u) | |||
250 | return ret; | 250 | return ret; |
251 | } | 251 | } |
252 | 252 | ||
253 | |||
254 | |||
255 | X509_SIG * | 253 | X509_SIG * |
256 | PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u) | 254 | PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u) |
257 | { | 255 | { |
258 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, bp, | 256 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, fp, |
259 | (void **)x, cb, u); | 257 | (void **)x, cb, u); |
260 | } | 258 | } |
261 | 259 | ||
260 | int | ||
261 | PEM_write_PKCS8(FILE *fp, X509_SIG *x) | ||
262 | { | ||
263 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_SIG, PEM_STRING_PKCS8, fp, | ||
264 | x, NULL, NULL, 0, NULL, NULL); | ||
265 | } | ||
266 | |||
262 | X509_SIG * | 267 | X509_SIG * |
263 | PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u) | 268 | PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u) |
264 | { | 269 | { |
265 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, fp, | 270 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_SIG, PEM_STRING_PKCS8, bp, |
266 | (void **)x, cb, u); | 271 | (void **)x, cb, u); |
267 | } | 272 | } |
268 | 273 | ||
@@ -273,10 +278,17 @@ PEM_write_bio_PKCS8(BIO *bp, X509_SIG *x) | |||
273 | x, NULL, NULL, 0, NULL, NULL); | 278 | x, NULL, NULL, 0, NULL, NULL); |
274 | } | 279 | } |
275 | 280 | ||
281 | PKCS8_PRIV_KEY_INFO * | ||
282 | PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u) | ||
283 | { | ||
284 | return PEM_ASN1_read((d2i_of_void *)d2i_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp, | ||
285 | (void **)x, cb, u); | ||
286 | } | ||
287 | |||
276 | int | 288 | int |
277 | PEM_write_PKCS8(FILE *fp, X509_SIG *x) | 289 | PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x) |
278 | { | 290 | { |
279 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_SIG, PEM_STRING_PKCS8, fp, | 291 | return PEM_ASN1_write((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp, |
280 | x, NULL, NULL, 0, NULL, NULL); | 292 | x, NULL, NULL, 0, NULL, NULL); |
281 | } | 293 | } |
282 | 294 | ||
@@ -287,23 +299,9 @@ PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO **x, pem_password_ | |||
287 | (void **)x, cb, u); | 299 | (void **)x, cb, u); |
288 | } | 300 | } |
289 | 301 | ||
290 | PKCS8_PRIV_KEY_INFO * | ||
291 | PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u) | ||
292 | { | ||
293 | return PEM_ASN1_read((d2i_of_void *)d2i_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp, | ||
294 | (void **)x, cb, u); | ||
295 | } | ||
296 | |||
297 | int | 302 | int |
298 | PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x) | 303 | PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x) |
299 | { | 304 | { |
300 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, bp, | 305 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, bp, |
301 | x, NULL, NULL, 0, NULL, NULL); | 306 | x, NULL, NULL, 0, NULL, NULL); |
302 | } | 307 | } |
303 | |||
304 | int | ||
305 | PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x) | ||
306 | { | ||
307 | return PEM_ASN1_write((i2d_of_void *)i2d_PKCS8_PRIV_KEY_INFO, PEM_STRING_PKCS8INF, fp, | ||
308 | x, NULL, NULL, 0, NULL, NULL); | ||
309 | } | ||
diff --git a/src/lib/libcrypto/pem/pem_x509.c b/src/lib/libcrypto/pem/pem_x509.c index 350c48ba9a..f440a9f0aa 100644 --- a/src/lib/libcrypto/pem/pem_x509.c +++ b/src/lib/libcrypto/pem/pem_x509.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: pem_x509.c,v 1.7 2016/09/04 15:53:03 jsing Exp $ */ | 1 | /* $OpenBSD: pem_x509.c,v 1.8 2016/09/04 16:10:38 jsing Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2001. | 3 | * project 2001. |
4 | */ | 4 | */ |
@@ -66,13 +66,6 @@ | |||
66 | 66 | ||
67 | 67 | ||
68 | X509 * | 68 | X509 * |
69 | PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u) | ||
70 | { | ||
71 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509, PEM_STRING_X509, bp, | ||
72 | (void **)x, cb, u); | ||
73 | } | ||
74 | |||
75 | X509 * | ||
76 | PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u) | 69 | PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u) |
77 | { | 70 | { |
78 | return PEM_ASN1_read((d2i_of_void *)d2i_X509, PEM_STRING_X509, fp, | 71 | return PEM_ASN1_read((d2i_of_void *)d2i_X509, PEM_STRING_X509, fp, |
@@ -80,15 +73,22 @@ PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u) | |||
80 | } | 73 | } |
81 | 74 | ||
82 | int | 75 | int |
83 | PEM_write_bio_X509(BIO *bp, X509 *x) | 76 | PEM_write_X509(FILE *fp, X509 *x) |
84 | { | 77 | { |
85 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_X509, PEM_STRING_X509, bp, | 78 | return PEM_ASN1_write((i2d_of_void *)i2d_X509, PEM_STRING_X509, fp, |
86 | x, NULL, NULL, 0, NULL, NULL); | 79 | x, NULL, NULL, 0, NULL, NULL); |
87 | } | 80 | } |
88 | 81 | ||
82 | X509 * | ||
83 | PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u) | ||
84 | { | ||
85 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509, PEM_STRING_X509, bp, | ||
86 | (void **)x, cb, u); | ||
87 | } | ||
88 | |||
89 | int | 89 | int |
90 | PEM_write_X509(FILE *fp, X509 *x) | 90 | PEM_write_bio_X509(BIO *bp, X509 *x) |
91 | { | 91 | { |
92 | return PEM_ASN1_write((i2d_of_void *)i2d_X509, PEM_STRING_X509, fp, | 92 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_X509, PEM_STRING_X509, bp, |
93 | x, NULL, NULL, 0, NULL, NULL); | 93 | x, NULL, NULL, 0, NULL, NULL); |
94 | } | 94 | } |
diff --git a/src/lib/libcrypto/pem/pem_xaux.c b/src/lib/libcrypto/pem/pem_xaux.c index f5dfb8476c..0dd81523b5 100644 --- a/src/lib/libcrypto/pem/pem_xaux.c +++ b/src/lib/libcrypto/pem/pem_xaux.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: pem_xaux.c,v 1.8 2016/09/04 15:53:03 jsing Exp $ */ | 1 | /* $OpenBSD: pem_xaux.c,v 1.9 2016/09/04 16:10:38 jsing Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2001. | 3 | * project 2001. |
4 | */ | 4 | */ |
@@ -66,16 +66,23 @@ | |||
66 | 66 | ||
67 | 67 | ||
68 | X509 * | 68 | X509 * |
69 | PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void *u) | 69 | PEM_read_X509_AUX(FILE *fp, X509 **x, pem_password_cb *cb, void *u) |
70 | { | 70 | { |
71 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_AUX, PEM_STRING_X509_TRUSTED, bp, | 71 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_AUX, PEM_STRING_X509_TRUSTED, fp, |
72 | (void **)x, cb, u); | 72 | (void **)x, cb, u); |
73 | } | 73 | } |
74 | 74 | ||
75 | int | ||
76 | PEM_write_X509_AUX(FILE *fp, X509 *x) | ||
77 | { | ||
78 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_AUX, PEM_STRING_X509_TRUSTED, fp, | ||
79 | x, NULL, NULL, 0, NULL, NULL); | ||
80 | } | ||
81 | |||
75 | X509 * | 82 | X509 * |
76 | PEM_read_X509_AUX(FILE *fp, X509 **x, pem_password_cb *cb, void *u) | 83 | PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void *u) |
77 | { | 84 | { |
78 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_AUX, PEM_STRING_X509_TRUSTED, fp, | 85 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_X509_AUX, PEM_STRING_X509_TRUSTED, bp, |
79 | (void **)x, cb, u); | 86 | (void **)x, cb, u); |
80 | } | 87 | } |
81 | 88 | ||
@@ -86,10 +93,17 @@ PEM_write_bio_X509_AUX(BIO *bp, X509 *x) | |||
86 | x, NULL, NULL, 0, NULL, NULL); | 93 | x, NULL, NULL, 0, NULL, NULL); |
87 | } | 94 | } |
88 | 95 | ||
96 | X509_CERT_PAIR * | ||
97 | PEM_read_X509_CERT_PAIR(FILE *fp, X509_CERT_PAIR **x, pem_password_cb *cb, void *u) | ||
98 | { | ||
99 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_CERT_PAIR, PEM_STRING_X509_PAIR, fp, | ||
100 | (void **)x, cb, u); | ||
101 | } | ||
102 | |||
89 | int | 103 | int |
90 | PEM_write_X509_AUX(FILE *fp, X509 *x) | 104 | PEM_write_X509_CERT_PAIR(FILE *fp, X509_CERT_PAIR *x) |
91 | { | 105 | { |
92 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_AUX, PEM_STRING_X509_TRUSTED, fp, | 106 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_CERT_PAIR, PEM_STRING_X509_PAIR, fp, |
93 | x, NULL, NULL, 0, NULL, NULL); | 107 | x, NULL, NULL, 0, NULL, NULL); |
94 | } | 108 | } |
95 | 109 | ||
@@ -100,23 +114,9 @@ PEM_read_bio_X509_CERT_PAIR(BIO *bp, X509_CERT_PAIR **x, pem_password_cb *cb, vo | |||
100 | (void **)x, cb, u); | 114 | (void **)x, cb, u); |
101 | } | 115 | } |
102 | 116 | ||
103 | X509_CERT_PAIR * | ||
104 | PEM_read_X509_CERT_PAIR(FILE *fp, X509_CERT_PAIR **x, pem_password_cb *cb, void *u) | ||
105 | { | ||
106 | return PEM_ASN1_read((d2i_of_void *)d2i_X509_CERT_PAIR, PEM_STRING_X509_PAIR, fp, | ||
107 | (void **)x, cb, u); | ||
108 | } | ||
109 | |||
110 | int | 117 | int |
111 | PEM_write_bio_X509_CERT_PAIR(BIO *bp, X509_CERT_PAIR *x) | 118 | PEM_write_bio_X509_CERT_PAIR(BIO *bp, X509_CERT_PAIR *x) |
112 | { | 119 | { |
113 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_X509_CERT_PAIR, PEM_STRING_X509_PAIR, bp, | 120 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_X509_CERT_PAIR, PEM_STRING_X509_PAIR, bp, |
114 | x, NULL, NULL, 0, NULL, NULL); | 121 | x, NULL, NULL, 0, NULL, NULL); |
115 | } | 122 | } |
116 | |||
117 | int | ||
118 | PEM_write_X509_CERT_PAIR(FILE *fp, X509_CERT_PAIR *x) | ||
119 | { | ||
120 | return PEM_ASN1_write((i2d_of_void *)i2d_X509_CERT_PAIR, PEM_STRING_X509_PAIR, fp, | ||
121 | x, NULL, NULL, 0, NULL, NULL); | ||
122 | } | ||
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c index 3748eff2f7..c2f37b46f2 100644 --- a/src/lib/libssl/ssl_sess.c +++ b/src/lib/libssl/ssl_sess.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_sess.c,v 1.50 2016/09/04 16:11:47 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_sess.c,v 1.51 2016/09/04 16:12:33 jsing 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 | * |
@@ -1096,12 +1096,11 @@ SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, | |||
1096 | ctx->app_verify_cookie_cb = cb; | 1096 | ctx->app_verify_cookie_cb = cb; |
1097 | } | 1097 | } |
1098 | 1098 | ||
1099 | 1099 | int | |
1100 | SSL_SESSION * | 1100 | PEM_write_SSL_SESSION(FILE *fp, SSL_SESSION *x) |
1101 | PEM_read_bio_SSL_SESSION(BIO *bp, SSL_SESSION **x, pem_password_cb *cb, void *u) | ||
1102 | { | 1101 | { |
1103 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_SSL_SESSION, PEM_STRING_SSL_SESSION, bp, | 1102 | return PEM_ASN1_write((i2d_of_void *)i2d_SSL_SESSION, PEM_STRING_SSL_SESSION, fp, |
1104 | (void **)x, cb, u); | 1103 | x, NULL, NULL, 0, NULL, NULL); |
1105 | } | 1104 | } |
1106 | 1105 | ||
1107 | SSL_SESSION * | 1106 | SSL_SESSION * |
@@ -1111,16 +1110,16 @@ PEM_read_SSL_SESSION(FILE *fp, SSL_SESSION **x, pem_password_cb *cb, void *u) | |||
1111 | (void **)x, cb, u); | 1110 | (void **)x, cb, u); |
1112 | } | 1111 | } |
1113 | 1112 | ||
1114 | int | 1113 | SSL_SESSION * |
1115 | PEM_write_bio_SSL_SESSION(BIO *bp, SSL_SESSION *x) | 1114 | PEM_read_bio_SSL_SESSION(BIO *bp, SSL_SESSION **x, pem_password_cb *cb, void *u) |
1116 | { | 1115 | { |
1117 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_SSL_SESSION, PEM_STRING_SSL_SESSION, bp, | 1116 | return PEM_ASN1_read_bio((d2i_of_void *)d2i_SSL_SESSION, PEM_STRING_SSL_SESSION, bp, |
1118 | x, NULL, NULL, 0, NULL, NULL); | 1117 | (void **)x, cb, u); |
1119 | } | 1118 | } |
1120 | 1119 | ||
1121 | int | 1120 | int |
1122 | PEM_write_SSL_SESSION(FILE *fp, SSL_SESSION *x) | 1121 | PEM_write_bio_SSL_SESSION(BIO *bp, SSL_SESSION *x) |
1123 | { | 1122 | { |
1124 | return PEM_ASN1_write((i2d_of_void *)i2d_SSL_SESSION, PEM_STRING_SSL_SESSION, fp, | 1123 | return PEM_ASN1_write_bio((i2d_of_void *)i2d_SSL_SESSION, PEM_STRING_SSL_SESSION, bp, |
1125 | x, NULL, NULL, 0, NULL, NULL); | 1124 | x, NULL, NULL, 0, NULL, NULL); |
1126 | } | 1125 | } |