| 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 |