OLD | NEW |
| (Empty) |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
4 | |
5 | |
6 #ifndef _P12LOCAL_H_ | |
7 #define _P12LOCAL_H_ | |
8 | |
9 #include "plarena.h" | |
10 #include "secoidt.h" | |
11 #include "secasn1.h" | |
12 #include "secder.h" | |
13 #include "certt.h" | |
14 #include "secpkcs7.h" | |
15 #include "pkcs12.h" | |
16 #include "p12.h" | |
17 | |
18 /* helper functions */ | |
19 extern const SEC_ASN1Template * | |
20 sec_pkcs12_choose_bag_type(void *src_or_dest, PRBool encoding); | |
21 extern const SEC_ASN1Template * | |
22 sec_pkcs12_choose_cert_crl_type(void *src_or_dest, PRBool encoding); | |
23 extern const SEC_ASN1Template * | |
24 sec_pkcs12_choose_shroud_type(void *src_or_dest, PRBool encoding); | |
25 extern SECItem *sec_pkcs12_generate_salt(void); | |
26 extern SECItem *sec_pkcs12_generate_key_from_password(SECOidTag algorithm, | |
27 SECItem *salt, SECItem *password); | |
28 extern SECItem *sec_pkcs12_generate_mac(SECItem *key, SECItem *msg, | |
29 PRBool old_method); | |
30 extern SGNDigestInfo *sec_pkcs12_compute_thumbprint(SECItem *der_cert); | |
31 extern SECItem *sec_pkcs12_create_virtual_password(SECItem *password, | |
32 SECItem *salt, PRBool swapUnicodeBytes); | |
33 extern SECStatus sec_pkcs12_append_shrouded_key(SEC_PKCS12BaggageItem *bag, | |
34 SEC_PKCS12ESPVKItem *espvk); | |
35 extern void *sec_pkcs12_find_object(SEC_PKCS12SafeContents *safe, | |
36 SEC_PKCS12Baggage *baggage, SECOidTag objType, | |
37 SECItem *nickname, SGNDigestInfo *thumbprint); | |
38 extern PRBool sec_pkcs12_convert_item_to_unicode(PLArenaPool *arena, SECItem *de
st, | |
39 SECItem *src, PRBool zeroTerm, | |
40 PRBool asciiConvert, PRBool toU
nicode); | |
41 extern CK_MECHANISM_TYPE sec_pkcs12_algtag_to_mech(SECOidTag algtag); | |
42 | |
43 /* create functions */ | |
44 extern SEC_PKCS12PFXItem *sec_pkcs12_new_pfx(void); | |
45 extern SEC_PKCS12SafeContents *sec_pkcs12_create_safe_contents( | |
46 PLArenaPool *poolp); | |
47 extern SEC_PKCS12Baggage *sec_pkcs12_create_baggage(PLArenaPool *poolp); | |
48 extern SEC_PKCS12BaggageItem *sec_pkcs12_create_external_bag(SEC_PKCS12Baggage *
luggage); | |
49 extern void SEC_PKCS12DestroyPFX(SEC_PKCS12PFXItem *pfx); | |
50 extern SEC_PKCS12AuthenticatedSafe *sec_pkcs12_new_asafe(PLArenaPool *poolp); | |
51 | |
52 /* conversion from old to new */ | |
53 extern SEC_PKCS12DecoderContext * | |
54 sec_PKCS12ConvertOldSafeToNew(PLArenaPool *arena, PK11SlotInfo *slot, | |
55 PRBool swapUnicode, SECItem *pwitem, | |
56 void *wincx, SEC_PKCS12SafeContents *safe, | |
57 SEC_PKCS12Baggage *baggage); | |
58 | |
59 #endif | |
OLD | NEW |