]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_keychain/lib/SecImportExportAgg.h
ac38dcc1c99a44a85505f8f7b7313b62fdab7d5f
[apple/security.git] / OSX / libsecurity_keychain / lib / SecImportExportAgg.h
1 /*
2 * Copyright (c) 2004,2011,2014 Apple Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 *
23 * SecImportExportAgg.h - private routines used by SecImportExport.h for
24 * aggregate (PKCS12 and PKCS7) conversion.
25 */
26
27 #ifndef _SECURITY_SEC_IMPORT_EXPORT_AGG_H_
28 #define _SECURITY_SEC_IMPORT_EXPORT_AGG_H_
29
30 #include "SecImportExport.h"
31 #include "SecExternalRep.h"
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36
37 OSStatus impExpPkcs12Export(
38 CFArrayRef exportReps, // SecExportReps
39 SecItemImportExportFlags flags,
40 const SecKeyImportExportParameters *keyParams, // optional
41 CFMutableDataRef outData); // output appended here
42
43 OSStatus impExpPkcs7Export(
44 CFArrayRef exportReps, // SecExportReps
45 SecItemImportExportFlags flags, // kSecItemPemArmour, etc.
46 const SecKeyImportExportParameters *keyParams, // optional
47 CFMutableDataRef outData); // output appended here
48
49 OSStatus impExpPkcs12Import(
50 CFDataRef inData,
51 SecItemImportExportFlags flags,
52 const SecKeyImportExportParameters *keyParams, // optional
53 ImpPrivKeyImportState &keyImportState,// IN/OUT
54 /* caller must supply one of these */
55 SecKeychainRef importKeychain, // optional
56 CSSM_CSP_HANDLE cspHand, // optional
57 CFMutableArrayRef outArray); // optional, append here
58
59 OSStatus impExpPkcs7Import(
60 CFDataRef inData,
61 SecItemImportExportFlags flags,
62 const SecKeyImportExportParameters *keyParams, // optional
63 SecKeychainRef importKeychain, // optional
64 CFMutableArrayRef outArray); // optional, append here
65
66 OSStatus impExpNetscapeCertImport(
67 CFDataRef inData,
68 SecItemImportExportFlags flags,
69 const SecKeyImportExportParameters *keyParams, // optional
70 SecKeychainRef importKeychain, // optional
71 CFMutableArrayRef outArray); // optional, append here
72
73 OSStatus impExpImportCertCommon(
74 const CSSM_DATA *cdata,
75 SecKeychainRef importKeychain, // optional
76 CFMutableArrayRef outArray); // optional, append here
77
78 #ifdef __cplusplus
79 }
80 #endif
81
82 #endif /* _SECURITY_SEC_IMPORT_EXPORT_AGG_H_ */