]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_cssm/lib/cssmtpi.h
Security-58286.200.222.tar.gz
[apple/security.git] / OSX / libsecurity_cssm / lib / cssmtpi.h
1 /*
2 * Copyright (c) 1999-2001,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 * cssmtpi.h -- Service Provider Interface for Trust Policy Modules
24 */
25
26 #ifndef _CSSMTPI_H_
27 #define _CSSMTPI_H_ 1
28
29 #include <Security/cssmtype.h>
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #pragma clang diagnostic push
36 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
37
38 typedef struct DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER cssm_spi_tp_funcs {
39 CSSM_RETURN (CSSMTPI *SubmitCredRequest)
40 (CSSM_TP_HANDLE TPHandle,
41 const CSSM_TP_AUTHORITY_ID *PreferredAuthority,
42 CSSM_TP_AUTHORITY_REQUEST_TYPE RequestType,
43 const CSSM_TP_REQUEST_SET *RequestInput,
44 const CSSM_TP_CALLERAUTH_CONTEXT *CallerAuthContext,
45 sint32 *EstimatedTime,
46 CSSM_DATA_PTR ReferenceIdentifier);
47 CSSM_RETURN (CSSMTPI *RetrieveCredResult)
48 (CSSM_TP_HANDLE TPHandle,
49 const CSSM_DATA *ReferenceIdentifier,
50 const CSSM_TP_CALLERAUTH_CONTEXT *CallerAuthCredentials,
51 sint32 *EstimatedTime,
52 CSSM_BOOL *ConfirmationRequired,
53 CSSM_TP_RESULT_SET_PTR *RetrieveOutput);
54 CSSM_RETURN (CSSMTPI *ConfirmCredResult)
55 (CSSM_TP_HANDLE TPHandle,
56 const CSSM_DATA *ReferenceIdentifier,
57 const CSSM_TP_CALLERAUTH_CONTEXT *CallerAuthCredentials,
58 const CSSM_TP_CONFIRM_RESPONSE *Responses,
59 const CSSM_TP_AUTHORITY_ID *PreferredAuthority);
60 CSSM_RETURN (CSSMTPI *ReceiveConfirmation)
61 (CSSM_TP_HANDLE TPHandle,
62 const CSSM_DATA *ReferenceIdentifier,
63 CSSM_TP_CONFIRM_RESPONSE_PTR *Responses,
64 sint32 *ElapsedTime);
65 CSSM_RETURN (CSSMTPI *CertReclaimKey)
66 (CSSM_TP_HANDLE TPHandle,
67 const CSSM_CERTGROUP *CertGroup,
68 uint32 CertIndex,
69 CSSM_LONG_HANDLE KeyCacheHandle,
70 CSSM_CSP_HANDLE CSPHandle,
71 const CSSM_RESOURCE_CONTROL_CONTEXT *CredAndAclEntry);
72 CSSM_RETURN (CSSMTPI *CertReclaimAbort)
73 (CSSM_TP_HANDLE TPHandle,
74 CSSM_LONG_HANDLE KeyCacheHandle);
75 CSSM_RETURN (CSSMTPI *FormRequest)
76 (CSSM_TP_HANDLE TPHandle,
77 const CSSM_TP_AUTHORITY_ID *PreferredAuthority,
78 CSSM_TP_FORM_TYPE FormType,
79 CSSM_DATA_PTR BlankForm);
80 CSSM_RETURN (CSSMTPI *FormSubmit)
81 (CSSM_TP_HANDLE TPHandle,
82 CSSM_TP_FORM_TYPE FormType,
83 const CSSM_DATA *Form,
84 const CSSM_TP_AUTHORITY_ID *ClearanceAuthority,
85 const CSSM_TP_AUTHORITY_ID *RepresentedAuthority,
86 CSSM_ACCESS_CREDENTIALS_PTR Credentials);
87 CSSM_RETURN (CSSMTPI *CertGroupVerify)
88 (CSSM_TP_HANDLE TPHandle,
89 CSSM_CL_HANDLE CLHandle,
90 CSSM_CSP_HANDLE CSPHandle,
91 const CSSM_CERTGROUP *CertGroupToBeVerified,
92 const CSSM_TP_VERIFY_CONTEXT *VerifyContext,
93 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR VerifyContextResult);
94 CSSM_RETURN (CSSMTPI *CertCreateTemplate)
95 (CSSM_TP_HANDLE TPHandle,
96 CSSM_CL_HANDLE CLHandle,
97 uint32 NumberOfFields,
98 const CSSM_FIELD *CertFields,
99 CSSM_DATA_PTR CertTemplate);
100 CSSM_RETURN (CSSMTPI *CertGetAllTemplateFields)
101 (CSSM_TP_HANDLE TPHandle,
102 CSSM_CL_HANDLE CLHandle,
103 const CSSM_DATA *CertTemplate,
104 uint32 *NumberOfFields,
105 CSSM_FIELD_PTR *CertFields);
106 CSSM_RETURN (CSSMTPI *CertSign)
107 (CSSM_TP_HANDLE TPHandle,
108 CSSM_CL_HANDLE CLHandle,
109 CSSM_CC_HANDLE CCHandle,
110 const CSSM_DATA *CertTemplateToBeSigned,
111 const CSSM_CERTGROUP *SignerCertGroup,
112 const CSSM_TP_VERIFY_CONTEXT *SignerVerifyContext,
113 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR SignerVerifyResult,
114 CSSM_DATA_PTR SignedCert);
115 CSSM_RETURN (CSSMTPI *CrlVerify)
116 (CSSM_TP_HANDLE TPHandle,
117 CSSM_CL_HANDLE CLHandle,
118 CSSM_CSP_HANDLE CSPHandle,
119 const CSSM_ENCODED_CRL *CrlToBeVerified,
120 const CSSM_CERTGROUP *SignerCertGroup,
121 const CSSM_TP_VERIFY_CONTEXT *VerifyContext,
122 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult);
123 CSSM_RETURN (CSSMTPI *CrlCreateTemplate)
124 (CSSM_TP_HANDLE TPHandle,
125 CSSM_CL_HANDLE CLHandle,
126 uint32 NumberOfFields,
127 const CSSM_FIELD *CrlFields,
128 CSSM_DATA_PTR NewCrlTemplate);
129 CSSM_RETURN (CSSMTPI *CertRevoke)
130 (CSSM_TP_HANDLE TPHandle,
131 CSSM_CL_HANDLE CLHandle,
132 CSSM_CSP_HANDLE CSPHandle,
133 const CSSM_DATA *OldCrlTemplate,
134 const CSSM_CERTGROUP *CertGroupToBeRevoked,
135 const CSSM_CERTGROUP *RevokerCertGroup,
136 const CSSM_TP_VERIFY_CONTEXT *RevokerVerifyContext,
137 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult,
138 CSSM_TP_CERTCHANGE_REASON Reason,
139 CSSM_DATA_PTR NewCrlTemplate);
140 CSSM_RETURN (CSSMTPI *CertRemoveFromCrlTemplate)
141 (CSSM_TP_HANDLE TPHandle,
142 CSSM_CL_HANDLE CLHandle,
143 CSSM_CSP_HANDLE CSPHandle,
144 const CSSM_DATA *OldCrlTemplate,
145 const CSSM_CERTGROUP *CertGroupToBeRemoved,
146 const CSSM_CERTGROUP *RevokerCertGroup,
147 const CSSM_TP_VERIFY_CONTEXT *RevokerVerifyContext,
148 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult,
149 CSSM_DATA_PTR NewCrlTemplate);
150 CSSM_RETURN (CSSMTPI *CrlSign)
151 (CSSM_TP_HANDLE TPHandle,
152 CSSM_CL_HANDLE CLHandle,
153 CSSM_CC_HANDLE CCHandle,
154 const CSSM_ENCODED_CRL *CrlToBeSigned,
155 const CSSM_CERTGROUP *SignerCertGroup,
156 const CSSM_TP_VERIFY_CONTEXT *SignerVerifyContext,
157 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR SignerVerifyResult,
158 CSSM_DATA_PTR SignedCrl);
159 CSSM_RETURN (CSSMTPI *ApplyCrlToDb)
160 (CSSM_TP_HANDLE TPHandle,
161 CSSM_CL_HANDLE CLHandle,
162 CSSM_CSP_HANDLE CSPHandle,
163 const CSSM_ENCODED_CRL *CrlToBeApplied,
164 const CSSM_CERTGROUP *SignerCertGroup,
165 const CSSM_TP_VERIFY_CONTEXT *ApplyCrlVerifyContext,
166 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR ApplyCrlVerifyResult);
167 CSSM_RETURN (CSSMTPI *CertGroupConstruct)
168 (CSSM_TP_HANDLE TPHandle,
169 CSSM_CL_HANDLE CLHandle,
170 CSSM_CSP_HANDLE CSPHandle,
171 const CSSM_DL_DB_LIST *DBList,
172 const void *ConstructParams,
173 const CSSM_CERTGROUP *CertGroupFrag,
174 CSSM_CERTGROUP_PTR *CertGroup);
175 CSSM_RETURN (CSSMTPI *CertGroupPrune)
176 (CSSM_TP_HANDLE TPHandle,
177 CSSM_CL_HANDLE CLHandle,
178 const CSSM_DL_DB_LIST *DBList,
179 const CSSM_CERTGROUP *OrderedCertGroup,
180 CSSM_CERTGROUP_PTR *PrunedCertGroup);
181 CSSM_RETURN (CSSMTPI *CertGroupToTupleGroup)
182 (CSSM_TP_HANDLE TPHandle,
183 CSSM_CL_HANDLE CLHandle,
184 const CSSM_CERTGROUP *CertGroup,
185 CSSM_TUPLEGROUP_PTR *TupleGroup);
186 CSSM_RETURN (CSSMTPI *TupleGroupToCertGroup)
187 (CSSM_TP_HANDLE TPHandle,
188 CSSM_CL_HANDLE CLHandle,
189 const CSSM_TUPLEGROUP *TupleGroup,
190 CSSM_CERTGROUP_PTR *CertTemplates);
191 CSSM_RETURN (CSSMTPI *PassThrough)
192 (CSSM_TP_HANDLE TPHandle,
193 CSSM_CL_HANDLE CLHandle,
194 CSSM_CC_HANDLE CCHandle,
195 const CSSM_DL_DB_LIST *DBList,
196 uint32 PassThroughId,
197 const void *InputParams,
198 void **OutputParams);
199 } CSSM_SPI_TP_FUNCS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_SPI_TP_FUNCS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
200
201 #pragma clang diagnostic pop
202
203 #ifdef __cplusplus
204 }
205 #endif
206
207 #endif /* _CSSMTPI_H_ */