diff options
Diffstat (limited to 'src/lib/libcrypto/x509/x_all.c')
-rw-r--r-- | src/lib/libcrypto/x509/x_all.c | 100 |
1 files changed, 97 insertions, 3 deletions
diff --git a/src/lib/libcrypto/x509/x_all.c b/src/lib/libcrypto/x509/x_all.c index f2af895df0..d2bf3c8e1c 100644 --- a/src/lib/libcrypto/x509/x_all.c +++ b/src/lib/libcrypto/x509/x_all.c | |||
@@ -285,10 +285,22 @@ RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa) | |||
285 | (unsigned char **)(rsa))); | 285 | (unsigned char **)(rsa))); |
286 | } | 286 | } |
287 | 287 | ||
288 | RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) | ||
289 | { | ||
290 | return((RSA *)ASN1_d2i_fp((char *(*)()) | ||
291 | RSA_new,(char *(*)())d2i_RSA_PUBKEY, (fp), | ||
292 | (unsigned char **)(rsa))); | ||
293 | } | ||
294 | |||
288 | int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) | 295 | int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) |
289 | { | 296 | { |
290 | return(ASN1_i2d_fp(i2d_RSAPublicKey,fp,(unsigned char *)rsa)); | 297 | return(ASN1_i2d_fp(i2d_RSAPublicKey,fp,(unsigned char *)rsa)); |
291 | } | 298 | } |
299 | |||
300 | int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) | ||
301 | { | ||
302 | return(ASN1_i2d_fp(i2d_RSA_PUBKEY,fp,(unsigned char *)rsa)); | ||
303 | } | ||
292 | #endif | 304 | #endif |
293 | 305 | ||
294 | RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) | 306 | RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) |
@@ -310,10 +322,22 @@ RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa) | |||
310 | (unsigned char **)(rsa))); | 322 | (unsigned char **)(rsa))); |
311 | } | 323 | } |
312 | 324 | ||
325 | RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) | ||
326 | { | ||
327 | return((RSA *)ASN1_d2i_bio((char *(*)()) | ||
328 | RSA_new,(char *(*)())d2i_RSA_PUBKEY, (bp), | ||
329 | (unsigned char **)(rsa))); | ||
330 | } | ||
331 | |||
313 | int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) | 332 | int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) |
314 | { | 333 | { |
315 | return(ASN1_i2d_bio(i2d_RSAPublicKey,bp,(unsigned char *)rsa)); | 334 | return(ASN1_i2d_bio(i2d_RSAPublicKey,bp,(unsigned char *)rsa)); |
316 | } | 335 | } |
336 | |||
337 | int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) | ||
338 | { | ||
339 | return(ASN1_i2d_bio(i2d_RSA_PUBKEY,bp,(unsigned char *)rsa)); | ||
340 | } | ||
317 | #endif | 341 | #endif |
318 | 342 | ||
319 | #ifndef NO_DSA | 343 | #ifndef NO_DSA |
@@ -329,6 +353,18 @@ int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa) | |||
329 | { | 353 | { |
330 | return(ASN1_i2d_fp(i2d_DSAPrivateKey,fp,(unsigned char *)dsa)); | 354 | return(ASN1_i2d_fp(i2d_DSAPrivateKey,fp,(unsigned char *)dsa)); |
331 | } | 355 | } |
356 | |||
357 | DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) | ||
358 | { | ||
359 | return((DSA *)ASN1_d2i_fp((char *(*)()) | ||
360 | DSA_new,(char *(*)())d2i_DSA_PUBKEY, (fp), | ||
361 | (unsigned char **)(dsa))); | ||
362 | } | ||
363 | |||
364 | int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) | ||
365 | { | ||
366 | return(ASN1_i2d_fp(i2d_DSA_PUBKEY,fp,(unsigned char *)dsa)); | ||
367 | } | ||
332 | #endif | 368 | #endif |
333 | 369 | ||
334 | DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) | 370 | DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) |
@@ -342,6 +378,19 @@ int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa) | |||
342 | { | 378 | { |
343 | return(ASN1_i2d_bio(i2d_DSAPrivateKey,bp,(unsigned char *)dsa)); | 379 | return(ASN1_i2d_bio(i2d_DSAPrivateKey,bp,(unsigned char *)dsa)); |
344 | } | 380 | } |
381 | |||
382 | DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) | ||
383 | { | ||
384 | return((DSA *)ASN1_d2i_bio((char *(*)()) | ||
385 | DSA_new,(char *(*)())d2i_DSA_PUBKEY, (bp), | ||
386 | (unsigned char **)(dsa))); | ||
387 | } | ||
388 | |||
389 | int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) | ||
390 | { | ||
391 | return(ASN1_i2d_bio(i2d_DSA_PUBKEY,bp,(unsigned char *)dsa)); | ||
392 | } | ||
393 | |||
345 | #endif | 394 | #endif |
346 | 395 | ||
347 | X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn) | 396 | X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn) |
@@ -362,19 +411,19 @@ X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne) | |||
362 | (char *(*)())d2i_X509_NAME_ENTRY,(char *)ne)); | 411 | (char *(*)())d2i_X509_NAME_ENTRY,(char *)ne)); |
363 | } | 412 | } |
364 | 413 | ||
365 | int X509_digest(X509 *data, EVP_MD *type, unsigned char *md, | 414 | int X509_digest(X509 *data, const EVP_MD *type, unsigned char *md, |
366 | unsigned int *len) | 415 | unsigned int *len) |
367 | { | 416 | { |
368 | return(ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len)); | 417 | return(ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len)); |
369 | } | 418 | } |
370 | 419 | ||
371 | int X509_NAME_digest(X509_NAME *data, EVP_MD *type, unsigned char *md, | 420 | int X509_NAME_digest(X509_NAME *data, const EVP_MD *type, unsigned char *md, |
372 | unsigned int *len) | 421 | unsigned int *len) |
373 | { | 422 | { |
374 | return(ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len)); | 423 | return(ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len)); |
375 | } | 424 | } |
376 | 425 | ||
377 | int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, EVP_MD *type, | 426 | int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, |
378 | unsigned char *md, unsigned int *len) | 427 | unsigned char *md, unsigned int *len) |
379 | { | 428 | { |
380 | return(ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type, | 429 | return(ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type, |
@@ -420,6 +469,29 @@ int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf) | |||
420 | { | 469 | { |
421 | return(ASN1_i2d_fp(i2d_PKCS8_PRIV_KEY_INFO,fp,(unsigned char *)p8inf)); | 470 | return(ASN1_i2d_fp(i2d_PKCS8_PRIV_KEY_INFO,fp,(unsigned char *)p8inf)); |
422 | } | 471 | } |
472 | |||
473 | int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) | ||
474 | { | ||
475 | PKCS8_PRIV_KEY_INFO *p8inf; | ||
476 | int ret; | ||
477 | p8inf = EVP_PKEY2PKCS8(key); | ||
478 | if(!p8inf) return 0; | ||
479 | ret = i2d_PKCS8_PRIV_KEY_INFO_fp(fp, p8inf); | ||
480 | PKCS8_PRIV_KEY_INFO_free(p8inf); | ||
481 | return ret; | ||
482 | } | ||
483 | |||
484 | int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey) | ||
485 | { | ||
486 | return(ASN1_i2d_fp(i2d_PrivateKey,fp,(unsigned char *)pkey)); | ||
487 | } | ||
488 | |||
489 | EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) | ||
490 | { | ||
491 | return((EVP_PKEY *)ASN1_d2i_fp((char *(*)())EVP_PKEY_new, | ||
492 | (char *(*)())d2i_AutoPrivateKey, (fp),(unsigned char **)(a))); | ||
493 | } | ||
494 | |||
423 | #endif | 495 | #endif |
424 | 496 | ||
425 | PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, | 497 | PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, |
@@ -435,3 +507,25 @@ int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf) | |||
435 | { | 507 | { |
436 | return(ASN1_i2d_bio(i2d_PKCS8_PRIV_KEY_INFO,bp,(unsigned char *)p8inf)); | 508 | return(ASN1_i2d_bio(i2d_PKCS8_PRIV_KEY_INFO,bp,(unsigned char *)p8inf)); |
437 | } | 509 | } |
510 | |||
511 | int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) | ||
512 | { | ||
513 | PKCS8_PRIV_KEY_INFO *p8inf; | ||
514 | int ret; | ||
515 | p8inf = EVP_PKEY2PKCS8(key); | ||
516 | if(!p8inf) return 0; | ||
517 | ret = i2d_PKCS8_PRIV_KEY_INFO_bio(bp, p8inf); | ||
518 | PKCS8_PRIV_KEY_INFO_free(p8inf); | ||
519 | return ret; | ||
520 | } | ||
521 | |||
522 | int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey) | ||
523 | { | ||
524 | return(ASN1_i2d_bio(i2d_PrivateKey,bp,(unsigned char *)pkey)); | ||
525 | } | ||
526 | |||
527 | EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) | ||
528 | { | ||
529 | return((EVP_PKEY *)ASN1_d2i_bio((char *(*)())EVP_PKEY_new, | ||
530 | (char *(*)())d2i_AutoPrivateKey, (bp),(unsigned char **)(a))); | ||
531 | } | ||