diff options
author | beck <> | 2002-05-15 02:29:21 +0000 |
---|---|---|
committer | beck <> | 2002-05-15 02:29:21 +0000 |
commit | b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9 (patch) | |
tree | fa27cf82a1250b64ed3bf5f4a18c7354d470bbcc /src/lib/libcrypto/pkcs12/pkcs12.h | |
parent | e471e1ea98d673597b182ea85f29e30c97cd08b5 (diff) | |
download | openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.tar.gz openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.tar.bz2 openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.zip |
OpenSSL 0.9.7 stable 2002 05 08 merge
Diffstat (limited to 'src/lib/libcrypto/pkcs12/pkcs12.h')
-rw-r--r-- | src/lib/libcrypto/pkcs12/pkcs12.h | 125 |
1 files changed, 50 insertions, 75 deletions
diff --git a/src/lib/libcrypto/pkcs12/pkcs12.h b/src/lib/libcrypto/pkcs12/pkcs12.h index e529154f26..1786b6d4f3 100644 --- a/src/lib/libcrypto/pkcs12/pkcs12.h +++ b/src/lib/libcrypto/pkcs12/pkcs12.h | |||
@@ -120,7 +120,6 @@ union { | |||
120 | ASN1_TYPE *other; | 120 | ASN1_TYPE *other; |
121 | }value; | 121 | }value; |
122 | STACK_OF(X509_ATTRIBUTE) *attrib; | 122 | STACK_OF(X509_ATTRIBUTE) *attrib; |
123 | ASN1_TYPE *rest; | ||
124 | } PKCS12_SAFEBAG; | 123 | } PKCS12_SAFEBAG; |
125 | 124 | ||
126 | DECLARE_STACK_OF(PKCS12_SAFEBAG) | 125 | DECLARE_STACK_OF(PKCS12_SAFEBAG) |
@@ -141,55 +140,25 @@ union { | |||
141 | #define PKCS12_ERROR 0 | 140 | #define PKCS12_ERROR 0 |
142 | #define PKCS12_OK 1 | 141 | #define PKCS12_OK 1 |
143 | 142 | ||
144 | #define M_PKCS12_bag_type(bag) OBJ_obj2nid(bag->type) | 143 | /* Compatibility macros */ |
145 | #define M_PKCS12_cert_bag_type(bag) OBJ_obj2nid(bag->value.bag->type) | ||
146 | #define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type | ||
147 | |||
148 | #define M_PKCS12_x5092certbag(x509) \ | ||
149 | PKCS12_pack_safebag((char *)(x509), i2d_X509, NID_x509Certificate, NID_certBag) | ||
150 | |||
151 | #define M_PKCS12_x509crl2certbag(crl) \ | ||
152 | PKCS12_pack_safebag((char *)(crl), i2d_X509CRL, NID_x509Crl, NID_crlBag) | ||
153 | |||
154 | #define M_PKCS12_certbag2x509(bg) \ | ||
155 | (X509 *) ASN1_unpack_string((bg)->value.bag->value.octet, \ | ||
156 | (char *(*)())d2i_X509) | ||
157 | 144 | ||
158 | #define M_PKCS12_certbag2x509crl(bg) \ | 145 | #define M_PKCS12_x5092certbag PKCS12_x5092certbag |
159 | (X509CRL *) ASN1_unpack_string((bg)->value.bag->value.octet, \ | 146 | #define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag |
160 | (char *(*)())d2i_X509CRL) | ||
161 | 147 | ||
162 | /*#define M_PKCS12_pkcs82rsa(p8) \ | 148 | #define M_PKCS12_certbag2x509 PKCS12_certbag2x509 |
163 | (RSA *) ASN1_unpack_string((p8)->pkey, (char *(*)())d2i_RSAPrivateKey)*/ | 149 | #define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl |
164 | 150 | ||
165 | #define M_PKCS12_unpack_p7data(p7) \ | 151 | #define M_PKCS12_unpack_p7data PKCS12_unpack_p7data |
166 | ASN1_seq_unpack_PKCS12_SAFEBAG((p7)->d.data->data, p7->d.data->length, \ | 152 | #define M_PKCS12_pack_authsafes PKCS12_pack_authsafes |
167 | d2i_PKCS12_SAFEBAG, PKCS12_SAFEBAG_free) | 153 | #define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes |
154 | #define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata | ||
168 | 155 | ||
169 | #define M_PKCS12_pack_authsafes(p12, safes) \ | 156 | #define M_PKCS12_decrypt_skey PKCS12_decrypt_skey |
170 | ASN1_seq_pack_PKCS7((safes), i2d_PKCS7,\ | 157 | #define M_PKCS8_decrypt PKCS8_decrypt |
171 | &(p12)->authsafes->d.data->data, &(p12)->authsafes->d.data->length) | ||
172 | 158 | ||
173 | #define M_PKCS12_unpack_authsafes(p12) \ | 159 | #define M_PKCS12_bag_type(bag) OBJ_obj2nid(bag->type) |
174 | ASN1_seq_unpack_PKCS7((p12)->authsafes->d.data->data, \ | 160 | #define M_PKCS12_cert_bag_type(bag) OBJ_obj2nid(bag->value.bag->type) |
175 | (p12)->authsafes->d.data->length, d2i_PKCS7, PKCS7_free) | 161 | #define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type |
176 | |||
177 | #define M_PKCS12_unpack_p7encdata(p7, pass, passlen) \ | ||
178 | PKCS12_decrypt_d2i_PKCS12_SAFEBAG((p7)->d.encrypted->enc_data->algorithm,\ | ||
179 | d2i_PKCS12_SAFEBAG, PKCS12_SAFEBAG_free, \ | ||
180 | (pass), (passlen), \ | ||
181 | (p7)->d.encrypted->enc_data->enc_data, 3) | ||
182 | |||
183 | #define M_PKCS12_decrypt_skey(bag, pass, passlen) \ | ||
184 | (PKCS8_PRIV_KEY_INFO *) PKCS12_decrypt_d2i((bag)->value.shkeybag->algor, \ | ||
185 | (char *(*)())d2i_PKCS8_PRIV_KEY_INFO, (void (*)(void *))PKCS8_PRIV_KEY_INFO_free, \ | ||
186 | (pass), (passlen), \ | ||
187 | (bag)->value.shkeybag->digest, 2) | ||
188 | |||
189 | #define M_PKCS8_decrypt(p8, pass, passlen) \ | ||
190 | (PKCS8_PRIV_KEY_INFO *) PKCS12_decrypt_d2i((p8)->algor, \ | ||
191 | (char *(*)())d2i_PKCS8_PRIV_KEY_INFO, (void (*)(void *))PKCS8_PRIV_KEY_INFO_free,\ | ||
192 | (pass), (passlen), (p8)->digest, 2) | ||
193 | 162 | ||
194 | #define PKCS12_get_attr(bag, attr_nid) \ | 163 | #define PKCS12_get_attr(bag, attr_nid) \ |
195 | PKCS12_get_attr_gen(bag->attrib, attr_nid) | 164 | PKCS12_get_attr_gen(bag->attrib, attr_nid) |
@@ -200,8 +169,17 @@ PKCS12_decrypt_d2i_PKCS12_SAFEBAG((p7)->d.encrypted->enc_data->algorithm,\ | |||
200 | #define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) | 169 | #define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) |
201 | 170 | ||
202 | 171 | ||
203 | PKCS12_SAFEBAG *PKCS12_pack_safebag(char *obj, int (*i2d)(), int nid1, int nid2); | 172 | PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509); |
173 | PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl); | ||
174 | X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag); | ||
175 | X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag); | ||
176 | |||
177 | PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1, | ||
178 | int nid2); | ||
204 | PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); | 179 | PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); |
180 | PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, int passlen); | ||
181 | PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, const char *pass, | ||
182 | int passlen); | ||
205 | X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, | 183 | X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, |
206 | const char *pass, int passlen, | 184 | const char *pass, int passlen, |
207 | unsigned char *salt, int saltlen, int iter, | 185 | unsigned char *salt, int saltlen, int iter, |
@@ -211,12 +189,20 @@ PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, | |||
211 | int saltlen, int iter, | 189 | int saltlen, int iter, |
212 | PKCS8_PRIV_KEY_INFO *p8); | 190 | PKCS8_PRIV_KEY_INFO *p8); |
213 | PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); | 191 | PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); |
192 | STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); | ||
214 | PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, | 193 | PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, |
215 | unsigned char *salt, int saltlen, int iter, | 194 | unsigned char *salt, int saltlen, int iter, |
216 | STACK_OF(PKCS12_SAFEBAG) *bags); | 195 | STACK_OF(PKCS12_SAFEBAG) *bags); |
196 | STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen); | ||
197 | |||
198 | int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); | ||
199 | STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12); | ||
200 | |||
217 | int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, int namelen); | 201 | int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, int namelen); |
218 | int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, | 202 | int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, |
219 | int namelen); | 203 | int namelen); |
204 | int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, | ||
205 | int namelen); | ||
220 | int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned char *name, | 206 | int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned char *name, |
221 | int namelen); | 207 | int namelen); |
222 | int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); | 208 | int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); |
@@ -225,49 +211,38 @@ char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); | |||
225 | unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, | 211 | unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, |
226 | int passlen, unsigned char *in, int inlen, | 212 | int passlen, unsigned char *in, int inlen, |
227 | unsigned char **data, int *datalen, int en_de); | 213 | unsigned char **data, int *datalen, int en_de); |
228 | char *PKCS12_decrypt_d2i(X509_ALGOR *algor, char *(*d2i)(), | 214 | void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, |
229 | void (*free_func)(void *), const char *pass, int passlen, | 215 | const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf); |
230 | ASN1_STRING *oct, int seq); | 216 | ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, const ASN1_ITEM *it, |
231 | ASN1_STRING *PKCS12_i2d_encrypt(X509_ALGOR *algor, int (*i2d)(), | 217 | const char *pass, int passlen, |
232 | const char *pass, int passlen, char *obj, | 218 | void *obj, int zbuf); |
233 | int seq); | ||
234 | PKCS12 *PKCS12_init(int mode); | 219 | PKCS12 *PKCS12_init(int mode); |
235 | int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, | 220 | int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, |
236 | int saltlen, int id, int iter, int n, | 221 | int saltlen, int id, int iter, int n, |
237 | unsigned char *out, const EVP_MD *md_type); | 222 | unsigned char *out, const EVP_MD *md_type); |
238 | int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, int saltlen, int id, int iter, int n, unsigned char *out, const EVP_MD *md_type); | 223 | int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, int saltlen, int id, int iter, int n, unsigned char *out, const EVP_MD *md_type); |
239 | int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, | 224 | int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, |
240 | ASN1_TYPE *param, EVP_CIPHER *cipher, EVP_MD *md_type, | 225 | ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md_type, |
241 | int en_de); | 226 | int en_de); |
242 | int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, | 227 | int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, |
243 | unsigned char *mac, unsigned int *maclen); | 228 | unsigned char *mac, unsigned int *maclen); |
244 | int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); | 229 | int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); |
245 | int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, | 230 | int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, |
246 | unsigned char *salt, int saltlen, int iter, | 231 | unsigned char *salt, int saltlen, int iter, |
247 | EVP_MD *md_type); | 232 | const EVP_MD *md_type); |
248 | int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, | 233 | int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, |
249 | int saltlen, EVP_MD *md_type); | 234 | int saltlen, const EVP_MD *md_type); |
250 | unsigned char *asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen); | 235 | unsigned char *asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen); |
251 | char *uni2asc(unsigned char *uni, int unilen); | 236 | char *uni2asc(unsigned char *uni, int unilen); |
252 | int i2d_PKCS12_BAGS(PKCS12_BAGS *a, unsigned char **pp); | 237 | |
253 | PKCS12_BAGS *PKCS12_BAGS_new(void); | 238 | DECLARE_ASN1_FUNCTIONS(PKCS12) |
254 | PKCS12_BAGS *d2i_PKCS12_BAGS(PKCS12_BAGS **a, unsigned char **pp, long length); | 239 | DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) |
255 | void PKCS12_BAGS_free(PKCS12_BAGS *a); | 240 | DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) |
256 | int i2d_PKCS12(PKCS12 *a, unsigned char **pp); | 241 | DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) |
257 | PKCS12 *d2i_PKCS12(PKCS12 **a, unsigned char **pp, long length); | 242 | |
258 | PKCS12 *PKCS12_new(void); | 243 | DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) |
259 | void PKCS12_free(PKCS12 *a); | 244 | DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) |
260 | int i2d_PKCS12_MAC_DATA(PKCS12_MAC_DATA *a, unsigned char **pp); | 245 | |
261 | PKCS12_MAC_DATA *PKCS12_MAC_DATA_new(void); | ||
262 | PKCS12_MAC_DATA *d2i_PKCS12_MAC_DATA(PKCS12_MAC_DATA **a, unsigned char **pp, | ||
263 | long length); | ||
264 | void PKCS12_MAC_DATA_free(PKCS12_MAC_DATA *a); | ||
265 | int i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **pp); | ||
266 | PKCS12_SAFEBAG *PKCS12_SAFEBAG_new(void); | ||
267 | PKCS12_SAFEBAG *d2i_PKCS12_SAFEBAG(PKCS12_SAFEBAG **a, unsigned char **pp, | ||
268 | long length); | ||
269 | void PKCS12_SAFEBAG_free(PKCS12_SAFEBAG *a); | ||
270 | void ERR_load_PKCS12_strings(void); | ||
271 | void PKCS12_PBE_add(void); | 246 | void PKCS12_PBE_add(void); |
272 | int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, | 247 | int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, |
273 | STACK_OF(X509) **ca); | 248 | STACK_OF(X509) **ca); |
@@ -284,6 +259,7 @@ int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass); | |||
284 | /* The following lines are auto generated by the script mkerr.pl. Any changes | 259 | /* The following lines are auto generated by the script mkerr.pl. Any changes |
285 | * made after this point may be overwritten when the script is next run. | 260 | * made after this point may be overwritten when the script is next run. |
286 | */ | 261 | */ |
262 | void ERR_load_PKCS12_strings(void); | ||
287 | 263 | ||
288 | /* Error codes for the PKCS12 functions. */ | 264 | /* Error codes for the PKCS12 functions. */ |
289 | 265 | ||
@@ -342,4 +318,3 @@ int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass); | |||
342 | } | 318 | } |
343 | #endif | 319 | #endif |
344 | #endif | 320 | #endif |
345 | |||