- /* Turn certbags into encrypted authsafe */
- authsafe = PKCS12_pack_p7encdata(cert_pbe, cpass, -1, NULL, 0,
- iter, bags);
- sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
- bags = NULL;
-
- if (!authsafe) {
- ERR_print_errors (bio_err);
- goto export_end;
- }
-
- safes = sk_PKCS7_new (NULL);
- sk_PKCS7_push (safes, authsafe);
-
-#ifdef CRYPTO_MDEBUG
- CRYPTO_pop_info();
- CRYPTO_push_info("building shrouded key bag");
-#endif
-
- /* Make a shrouded key bag */
- p8 = EVP_PKEY2PKCS8 (key);
- if(keytype) PKCS8_add_keyusage(p8, keytype);
- bag = PKCS12_MAKE_SHKEYBAG(key_pbe, cpass, -1, NULL, 0, iter, p8);
- PKCS8_PRIV_KEY_INFO_free(p8);
- p8 = NULL;
- if (name) PKCS12_add_friendlyname (bag, name, -1);
- PKCS12_add_localkeyid (bag, keyid, keyidlen);
- bags = sk_PKCS12_SAFEBAG_new(NULL);
- sk_PKCS12_SAFEBAG_push (bags, bag);