summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/pkcs12/p12_add.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_add.c')
-rw-r--r--src/lib/libcrypto/pkcs12/p12_add.c54
1 files changed, 1 insertions, 53 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_add.c b/src/lib/libcrypto/pkcs12/p12_add.c
index d9de395c5b..a7b8c1eaf8 100644
--- a/src/lib/libcrypto/pkcs12/p12_add.c
+++ b/src/lib/libcrypto/pkcs12/p12_add.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_add.c,v 1.19 2022/08/20 09:16:18 tb Exp $ */ 1/* $OpenBSD: p12_add.c,v 1.20 2022/09/11 17:30:13 tb 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 1999. 3 * project 1999.
4 */ 4 */
@@ -91,58 +91,6 @@ PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1, int nid2)
91 return safebag; 91 return safebag;
92} 92}
93 93
94#if !defined(LIBRESSL_NEXT_API)
95#undef PKCS12_MAKE_KEYBAG
96#undef PKCS12_MAKE_SHKEYBAG
97/* Turn PKCS8 object into a keybag */
98
99PKCS12_SAFEBAG *
100PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8)
101{
102 PKCS12_SAFEBAG *bag;
103
104 if (!(bag = PKCS12_SAFEBAG_new())) {
105 PKCS12error(ERR_R_MALLOC_FAILURE);
106 return NULL;
107 }
108 bag->type = OBJ_nid2obj(NID_keyBag);
109 bag->value.keybag = p8;
110 return bag;
111}
112
113/* Turn PKCS8 object into a shrouded keybag */
114
115PKCS12_SAFEBAG *
116PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, int passlen,
117 unsigned char *salt, int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8)
118{
119 PKCS12_SAFEBAG *bag;
120 const EVP_CIPHER *pbe_ciph;
121
122 /* Set up the safe bag */
123 if (!(bag = PKCS12_SAFEBAG_new())) {
124 PKCS12error(ERR_R_MALLOC_FAILURE);
125 return NULL;
126 }
127
128 bag->type = OBJ_nid2obj(NID_pkcs8ShroudedKeyBag);
129
130 pbe_ciph = EVP_get_cipherbynid(pbe_nid);
131
132 if (pbe_ciph)
133 pbe_nid = -1;
134
135 if (!(bag->value.shkeybag = PKCS8_encrypt(pbe_nid, pbe_ciph, pass,
136 passlen, salt, saltlen, iter, p8))) {
137 PKCS12error(ERR_R_MALLOC_FAILURE);
138 PKCS12_SAFEBAG_free(bag);
139 return NULL;
140 }
141
142 return bag;
143}
144#endif
145
146/* Turn a stack of SAFEBAGS into a PKCS#7 data Contentinfo */ 94/* Turn a stack of SAFEBAGS into a PKCS#7 data Contentinfo */
147PKCS7 * 95PKCS7 *
148PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk) 96PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk)