Loading CHANGES +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 2000] *) Add command line password options to the remaining applications. [Steve Henson] *) Bug fix for BN_div_recp() for numerators with an even number of bits. [Ulf Möller] Loading apps/dsa.c +2 −2 Original line number Diff line number Diff line Loading @@ -195,8 +195,8 @@ bad: BIO_printf(bio_err," -passin arg input file pass phrase\n"); BIO_printf(bio_err," -envpassin arg environment variable containing input file pass phrase\n"); BIO_printf(bio_err," -out arg output file\n"); BIO_printf(bio_err," -passout arg input file pass phrase\n"); BIO_printf(bio_err," -envpassout arg environment variable containing input file pass phrase\n"); BIO_printf(bio_err," -passout arg output file pass phrase\n"); BIO_printf(bio_err," -envpassout arg environment variable containing output file pass phrase\n"); BIO_printf(bio_err," -des encrypt PEM output with cbc des\n"); BIO_printf(bio_err," -des3 encrypt PEM output with ede cbc des using 168 bit key\n"); #ifndef NO_IDEA Loading apps/gendsa.c +18 −1 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ int MAIN(int argc, char **argv) int ret=1; char *outfile=NULL; char *inrand=NULL,*dsaparams=NULL; char *passout = NULL; BIO *out=NULL,*in=NULL; EVP_CIPHER *enc=NULL; Loading @@ -98,6 +99,22 @@ int MAIN(int argc, char **argv) if (--argc < 1) goto bad; outfile= *(++argv); } else if (strcmp(*argv,"-envpassout") == 0) { if (--argc < 1) goto bad; if(!(passout= getenv(*(++argv)))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); goto bad; } } else if (strcmp(*argv,"-passout") == 0) { if (--argc < 1) goto bad; passout= *(++argv); } else if (strcmp(*argv,"-rand") == 0) { if (--argc < 1) goto bad; Loading Loading @@ -188,7 +205,7 @@ bad: app_RAND_write_file(NULL, bio_err); if (!PEM_write_bio_DSAPrivateKey(out,dsa,enc,NULL,0,NULL,NULL)) if (!PEM_write_bio_DSAPrivateKey(out,dsa,enc,NULL,0,PEM_cb, passout)) goto end; ret=0; end: Loading apps/genrsa.c +28 −9 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ int MAIN(int argc, char **argv) EVP_CIPHER *enc=NULL; unsigned long f4=RSA_F4; char *outfile=NULL; char *passout = NULL; char *inrand=NULL; BIO *out=NULL; Loading Loading @@ -127,6 +128,22 @@ int MAIN(int argc, char **argv) else if (strcmp(*argv,"-idea") == 0) enc=EVP_idea_cbc(); #endif else if (strcmp(*argv,"-envpassout") == 0) { if (--argc < 1) goto bad; if(!(passout= getenv(*(++argv)))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); goto bad; } } else if (strcmp(*argv,"-passout") == 0) { if (--argc < 1) goto bad; passout= *(++argv); } else break; argv++; Loading @@ -136,16 +153,18 @@ int MAIN(int argc, char **argv) { bad: BIO_printf(bio_err,"usage: genrsa [args] [numbits]\n"); BIO_printf(bio_err," -des - encrypt the generated key with DES in cbc mode\n"); BIO_printf(bio_err," -des3 - encrypt the generated key with DES in ede cbc mode (168 bit key)\n"); BIO_printf(bio_err," -des encrypt the generated key with DES in cbc mode\n"); BIO_printf(bio_err," -des3 encrypt the generated key with DES in ede cbc mode (168 bit key)\n"); #ifndef NO_IDEA BIO_printf(bio_err," -idea - encrypt the generated key with IDEA in cbc mode\n"); BIO_printf(bio_err," -idea encrypt the generated key with IDEA in cbc mode\n"); #endif BIO_printf(bio_err," -out file - output the key to 'file\n"); BIO_printf(bio_err," -f4 - use F4 (0x10001) for the E value\n"); BIO_printf(bio_err," -3 - use 3 for the E value\n"); BIO_printf(bio_err," -out file output the key to 'file\n"); BIO_printf(bio_err," -passout arg output file pass phrase\n"); BIO_printf(bio_err," -envpassout arg environment variable containing output file pass phrase\n"); BIO_printf(bio_err," -f4 use F4 (0x10001) for the E value\n"); BIO_printf(bio_err," -3 use 3 for the E value\n"); BIO_printf(bio_err," -rand file:file:...\n"); BIO_printf(bio_err," - load the file (or the files in the directory) into\n"); BIO_printf(bio_err," load the file (or the files in the directory) into\n"); BIO_printf(bio_err," the random number generator\n"); goto err; } Loading Loading @@ -190,7 +209,7 @@ bad: l+=rsa->e->d[i]; } BIO_printf(bio_err,"e is %ld (0x%lX)\n",l,l); if (!PEM_write_bio_RSAPrivateKey(out,rsa,enc,NULL,0,NULL,NULL)) if (!PEM_write_bio_RSAPrivateKey(out,rsa,enc,NULL,0,PEM_cb, passout)) goto err; ret=0; Loading apps/pkcs12.c +59 −19 Original line number Diff line number Diff line Loading @@ -61,13 +61,12 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "apps.h" #include <openssl/crypto.h> #include <openssl/des.h> #include <openssl/pem.h> #include <openssl/err.h> #include <openssl/pem.h> #include <openssl/pkcs12.h> #include "apps.h" #define PROG pkcs12_main EVP_CIPHER *enc; Loading @@ -80,9 +79,9 @@ EVP_CIPHER *enc; #define CACERTS 0x10 int get_cert_chain(X509 *cert, STACK_OF(X509) **chain); int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass, int passlen, int options); int dump_certs_pkeys_bags(BIO *out, STACK *bags, char *pass, int passlen, int options); int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bags, char *pass, int passlen, int options); int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass, int passlen, int options, char *pempass); int dump_certs_pkeys_bags(BIO *out, STACK *bags, char *pass, int passlen, int options, char *pempass); int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bags, char *pass, int passlen, int options, char *pempass); int print_attribs(BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst, char *name); void hex_prin(BIO *out, unsigned char *buf, int len); int alg_print(BIO *x, X509_ALGOR *alg); Loading Loading @@ -111,6 +110,7 @@ int MAIN(int argc, char **argv) int noprompt = 0; STACK *canames = NULL; char *cpass = NULL, *mpass = NULL; char *passin = NULL, *passout = NULL; apps_startup(); Loading Loading @@ -198,6 +198,36 @@ int MAIN(int argc, char **argv) args++; outfile = *args; } else badarg = 1; } else if (!strcmp(*args,"-passin")) { if (args[1]) { args++; passin = *args; } else badarg = 1; } else if (!strcmp(*args,"-envpassin")) { if (args[1]) { args++; if(!(passin= getenv(*args))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); badarg = 1; } } else badarg = 1; } else if (!strcmp(*args,"-envpassout")) { if (args[1]) { args++; if(!(passout= getenv(*args))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); badarg = 1; } } else badarg = 1; } else if (!strcmp(*args,"-passout")) { if (args[1]) { args++; passout = *args; } else badarg = 1; } else if (!strcmp (*args, "-envpass")) { if (args[1]) { args++; Loading @@ -206,7 +236,6 @@ int MAIN(int argc, char **argv) "Can't read environment variable %s\n", *args); goto end; } noprompt = 1; } else badarg = 1; } else if (!strcmp (*args, "-password")) { if (args[1]) { Loading Loading @@ -254,11 +283,22 @@ int MAIN(int argc, char **argv) BIO_printf (bio_err, "-keysig set MS key signature type\n"); BIO_printf (bio_err, "-password p set import/export password (NOT RECOMMENDED)\n"); BIO_printf (bio_err, "-envpass p set import/export password from environment\n"); BIO_printf (bio_err, "-passin p input file pass phrase\n"); BIO_printf (bio_err, "-envpassin p environment variable containing input file pass phrase\n"); BIO_printf (bio_err, "-passout p output file pass phrase\n"); BIO_printf (bio_err, "-envpassout p environment variable containing output file pass phrase\n"); goto end; } if(cpass) mpass = cpass; else { if(!cpass) { if(export_cert) cpass = passout; else cpass = passin; } if(cpass) { mpass = cpass; noprompt = 1; } else { cpass = pass; mpass = macpass; } Loading Loading @@ -337,7 +377,7 @@ int MAIN(int argc, char **argv) #ifdef CRYPTO_MDEBUG CRYPTO_push_info("process -export_cert"); #endif key = PEM_read_bio_PrivateKey(inkey ? inkey : in, NULL, NULL, NULL); key = PEM_read_bio_PrivateKey(inkey ? inkey : in, NULL, PEM_cb, passin); if (!inkey) (void) BIO_reset(in); else BIO_free(inkey); if (!key) { Loading Loading @@ -504,7 +544,7 @@ int MAIN(int argc, char **argv) #ifdef CRYPTO_MDEBUG CRYPTO_push_info("output keys and certificates"); #endif if (!dump_certs_keys_p12 (out, p12, cpass, -1, options)) { if (!dump_certs_keys_p12 (out, p12, cpass, -1, options, passout)) { BIO_printf(bio_err, "Error outputting keys and certificates\n"); ERR_print_errors (bio_err); goto end; Loading @@ -524,7 +564,7 @@ int MAIN(int argc, char **argv) } int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, int passlen, int options) int passlen, int options, char *pempass) { STACK *asafes, *bags; int i, bagnid; Loading @@ -546,7 +586,7 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, } else continue; if (!bags) return 0; if (!dump_certs_pkeys_bags (out, bags, pass, passlen, options)) { options, pempass)) { sk_pop_free (bags, PKCS12_SAFEBAG_free); return 0; } Loading @@ -557,19 +597,19 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, } int dump_certs_pkeys_bags (BIO *out, STACK *bags, char *pass, int passlen, int options) int passlen, int options, char *pempass) { int i; for (i = 0; i < sk_num (bags); i++) { if (!dump_certs_pkeys_bag (out, (PKCS12_SAFEBAG *)sk_value (bags, i), pass, passlen, options)) return 0; options, pempass)) return 0; } return 1; } int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, int passlen, int options) int passlen, int options, char *pempass) { EVP_PKEY *pkey; PKCS8_PRIV_KEY_INFO *p8; Loading @@ -584,7 +624,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, p8 = bag->value.keybag; if (!(pkey = EVP_PKCS82PKEY (p8))) return 0; print_attribs (out, p8->attributes, "Key Attributes"); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, NULL, NULL); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, PEM_cb, pempass); EVP_PKEY_free(pkey); break; Loading @@ -600,7 +640,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, if (!(pkey = EVP_PKCS82PKEY (p8))) return 0; print_attribs (out, p8->attributes, "Key Attributes"); PKCS8_PRIV_KEY_INFO_free(p8); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, NULL, NULL); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, PEM_cb, pempass); EVP_PKEY_free(pkey); break; Loading @@ -623,7 +663,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, if (options & INFO) BIO_printf (bio_err, "Safe Contents bag\n"); print_attribs (out, bag->attrib, "Bag Attributes"); return dump_certs_pkeys_bags (out, bag->value.safes, pass, passlen, options); passlen, options, pempass); default: BIO_printf (bio_err, "Warning unsupported bag type: "); Loading Loading
CHANGES +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 2000] *) Add command line password options to the remaining applications. [Steve Henson] *) Bug fix for BN_div_recp() for numerators with an even number of bits. [Ulf Möller] Loading
apps/dsa.c +2 −2 Original line number Diff line number Diff line Loading @@ -195,8 +195,8 @@ bad: BIO_printf(bio_err," -passin arg input file pass phrase\n"); BIO_printf(bio_err," -envpassin arg environment variable containing input file pass phrase\n"); BIO_printf(bio_err," -out arg output file\n"); BIO_printf(bio_err," -passout arg input file pass phrase\n"); BIO_printf(bio_err," -envpassout arg environment variable containing input file pass phrase\n"); BIO_printf(bio_err," -passout arg output file pass phrase\n"); BIO_printf(bio_err," -envpassout arg environment variable containing output file pass phrase\n"); BIO_printf(bio_err," -des encrypt PEM output with cbc des\n"); BIO_printf(bio_err," -des3 encrypt PEM output with ede cbc des using 168 bit key\n"); #ifndef NO_IDEA Loading
apps/gendsa.c +18 −1 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ int MAIN(int argc, char **argv) int ret=1; char *outfile=NULL; char *inrand=NULL,*dsaparams=NULL; char *passout = NULL; BIO *out=NULL,*in=NULL; EVP_CIPHER *enc=NULL; Loading @@ -98,6 +99,22 @@ int MAIN(int argc, char **argv) if (--argc < 1) goto bad; outfile= *(++argv); } else if (strcmp(*argv,"-envpassout") == 0) { if (--argc < 1) goto bad; if(!(passout= getenv(*(++argv)))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); goto bad; } } else if (strcmp(*argv,"-passout") == 0) { if (--argc < 1) goto bad; passout= *(++argv); } else if (strcmp(*argv,"-rand") == 0) { if (--argc < 1) goto bad; Loading Loading @@ -188,7 +205,7 @@ bad: app_RAND_write_file(NULL, bio_err); if (!PEM_write_bio_DSAPrivateKey(out,dsa,enc,NULL,0,NULL,NULL)) if (!PEM_write_bio_DSAPrivateKey(out,dsa,enc,NULL,0,PEM_cb, passout)) goto end; ret=0; end: Loading
apps/genrsa.c +28 −9 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ int MAIN(int argc, char **argv) EVP_CIPHER *enc=NULL; unsigned long f4=RSA_F4; char *outfile=NULL; char *passout = NULL; char *inrand=NULL; BIO *out=NULL; Loading Loading @@ -127,6 +128,22 @@ int MAIN(int argc, char **argv) else if (strcmp(*argv,"-idea") == 0) enc=EVP_idea_cbc(); #endif else if (strcmp(*argv,"-envpassout") == 0) { if (--argc < 1) goto bad; if(!(passout= getenv(*(++argv)))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); goto bad; } } else if (strcmp(*argv,"-passout") == 0) { if (--argc < 1) goto bad; passout= *(++argv); } else break; argv++; Loading @@ -136,16 +153,18 @@ int MAIN(int argc, char **argv) { bad: BIO_printf(bio_err,"usage: genrsa [args] [numbits]\n"); BIO_printf(bio_err," -des - encrypt the generated key with DES in cbc mode\n"); BIO_printf(bio_err," -des3 - encrypt the generated key with DES in ede cbc mode (168 bit key)\n"); BIO_printf(bio_err," -des encrypt the generated key with DES in cbc mode\n"); BIO_printf(bio_err," -des3 encrypt the generated key with DES in ede cbc mode (168 bit key)\n"); #ifndef NO_IDEA BIO_printf(bio_err," -idea - encrypt the generated key with IDEA in cbc mode\n"); BIO_printf(bio_err," -idea encrypt the generated key with IDEA in cbc mode\n"); #endif BIO_printf(bio_err," -out file - output the key to 'file\n"); BIO_printf(bio_err," -f4 - use F4 (0x10001) for the E value\n"); BIO_printf(bio_err," -3 - use 3 for the E value\n"); BIO_printf(bio_err," -out file output the key to 'file\n"); BIO_printf(bio_err," -passout arg output file pass phrase\n"); BIO_printf(bio_err," -envpassout arg environment variable containing output file pass phrase\n"); BIO_printf(bio_err," -f4 use F4 (0x10001) for the E value\n"); BIO_printf(bio_err," -3 use 3 for the E value\n"); BIO_printf(bio_err," -rand file:file:...\n"); BIO_printf(bio_err," - load the file (or the files in the directory) into\n"); BIO_printf(bio_err," load the file (or the files in the directory) into\n"); BIO_printf(bio_err," the random number generator\n"); goto err; } Loading Loading @@ -190,7 +209,7 @@ bad: l+=rsa->e->d[i]; } BIO_printf(bio_err,"e is %ld (0x%lX)\n",l,l); if (!PEM_write_bio_RSAPrivateKey(out,rsa,enc,NULL,0,NULL,NULL)) if (!PEM_write_bio_RSAPrivateKey(out,rsa,enc,NULL,0,PEM_cb, passout)) goto err; ret=0; Loading
apps/pkcs12.c +59 −19 Original line number Diff line number Diff line Loading @@ -61,13 +61,12 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "apps.h" #include <openssl/crypto.h> #include <openssl/des.h> #include <openssl/pem.h> #include <openssl/err.h> #include <openssl/pem.h> #include <openssl/pkcs12.h> #include "apps.h" #define PROG pkcs12_main EVP_CIPHER *enc; Loading @@ -80,9 +79,9 @@ EVP_CIPHER *enc; #define CACERTS 0x10 int get_cert_chain(X509 *cert, STACK_OF(X509) **chain); int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass, int passlen, int options); int dump_certs_pkeys_bags(BIO *out, STACK *bags, char *pass, int passlen, int options); int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bags, char *pass, int passlen, int options); int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass, int passlen, int options, char *pempass); int dump_certs_pkeys_bags(BIO *out, STACK *bags, char *pass, int passlen, int options, char *pempass); int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bags, char *pass, int passlen, int options, char *pempass); int print_attribs(BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst, char *name); void hex_prin(BIO *out, unsigned char *buf, int len); int alg_print(BIO *x, X509_ALGOR *alg); Loading Loading @@ -111,6 +110,7 @@ int MAIN(int argc, char **argv) int noprompt = 0; STACK *canames = NULL; char *cpass = NULL, *mpass = NULL; char *passin = NULL, *passout = NULL; apps_startup(); Loading Loading @@ -198,6 +198,36 @@ int MAIN(int argc, char **argv) args++; outfile = *args; } else badarg = 1; } else if (!strcmp(*args,"-passin")) { if (args[1]) { args++; passin = *args; } else badarg = 1; } else if (!strcmp(*args,"-envpassin")) { if (args[1]) { args++; if(!(passin= getenv(*args))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); badarg = 1; } } else badarg = 1; } else if (!strcmp(*args,"-envpassout")) { if (args[1]) { args++; if(!(passout= getenv(*args))) { BIO_printf(bio_err, "Can't read environment variable %s\n", *argv); badarg = 1; } } else badarg = 1; } else if (!strcmp(*args,"-passout")) { if (args[1]) { args++; passout = *args; } else badarg = 1; } else if (!strcmp (*args, "-envpass")) { if (args[1]) { args++; Loading @@ -206,7 +236,6 @@ int MAIN(int argc, char **argv) "Can't read environment variable %s\n", *args); goto end; } noprompt = 1; } else badarg = 1; } else if (!strcmp (*args, "-password")) { if (args[1]) { Loading Loading @@ -254,11 +283,22 @@ int MAIN(int argc, char **argv) BIO_printf (bio_err, "-keysig set MS key signature type\n"); BIO_printf (bio_err, "-password p set import/export password (NOT RECOMMENDED)\n"); BIO_printf (bio_err, "-envpass p set import/export password from environment\n"); BIO_printf (bio_err, "-passin p input file pass phrase\n"); BIO_printf (bio_err, "-envpassin p environment variable containing input file pass phrase\n"); BIO_printf (bio_err, "-passout p output file pass phrase\n"); BIO_printf (bio_err, "-envpassout p environment variable containing output file pass phrase\n"); goto end; } if(cpass) mpass = cpass; else { if(!cpass) { if(export_cert) cpass = passout; else cpass = passin; } if(cpass) { mpass = cpass; noprompt = 1; } else { cpass = pass; mpass = macpass; } Loading Loading @@ -337,7 +377,7 @@ int MAIN(int argc, char **argv) #ifdef CRYPTO_MDEBUG CRYPTO_push_info("process -export_cert"); #endif key = PEM_read_bio_PrivateKey(inkey ? inkey : in, NULL, NULL, NULL); key = PEM_read_bio_PrivateKey(inkey ? inkey : in, NULL, PEM_cb, passin); if (!inkey) (void) BIO_reset(in); else BIO_free(inkey); if (!key) { Loading Loading @@ -504,7 +544,7 @@ int MAIN(int argc, char **argv) #ifdef CRYPTO_MDEBUG CRYPTO_push_info("output keys and certificates"); #endif if (!dump_certs_keys_p12 (out, p12, cpass, -1, options)) { if (!dump_certs_keys_p12 (out, p12, cpass, -1, options, passout)) { BIO_printf(bio_err, "Error outputting keys and certificates\n"); ERR_print_errors (bio_err); goto end; Loading @@ -524,7 +564,7 @@ int MAIN(int argc, char **argv) } int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, int passlen, int options) int passlen, int options, char *pempass) { STACK *asafes, *bags; int i, bagnid; Loading @@ -546,7 +586,7 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, } else continue; if (!bags) return 0; if (!dump_certs_pkeys_bags (out, bags, pass, passlen, options)) { options, pempass)) { sk_pop_free (bags, PKCS12_SAFEBAG_free); return 0; } Loading @@ -557,19 +597,19 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass, } int dump_certs_pkeys_bags (BIO *out, STACK *bags, char *pass, int passlen, int options) int passlen, int options, char *pempass) { int i; for (i = 0; i < sk_num (bags); i++) { if (!dump_certs_pkeys_bag (out, (PKCS12_SAFEBAG *)sk_value (bags, i), pass, passlen, options)) return 0; options, pempass)) return 0; } return 1; } int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, int passlen, int options) int passlen, int options, char *pempass) { EVP_PKEY *pkey; PKCS8_PRIV_KEY_INFO *p8; Loading @@ -584,7 +624,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, p8 = bag->value.keybag; if (!(pkey = EVP_PKCS82PKEY (p8))) return 0; print_attribs (out, p8->attributes, "Key Attributes"); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, NULL, NULL); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, PEM_cb, pempass); EVP_PKEY_free(pkey); break; Loading @@ -600,7 +640,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, if (!(pkey = EVP_PKCS82PKEY (p8))) return 0; print_attribs (out, p8->attributes, "Key Attributes"); PKCS8_PRIV_KEY_INFO_free(p8); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, NULL, NULL); PEM_write_bio_PrivateKey (out, pkey, enc, NULL, 0, PEM_cb, pempass); EVP_PKEY_free(pkey); break; Loading @@ -623,7 +663,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass, if (options & INFO) BIO_printf (bio_err, "Safe Contents bag\n"); print_attribs (out, bag->attrib, "Bag Attributes"); return dump_certs_pkeys_bags (out, bag->value.safes, pass, passlen, options); passlen, options, pempass); default: BIO_printf (bio_err, "Warning unsupported bag type: "); Loading