]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_cdsa_plugin/lib/TPabstractsession.h
Security-58286.200.222.tar.gz
[apple/security.git] / OSX / libsecurity_cdsa_plugin / lib / TPabstractsession.h
1 //
2 // TP plugin transition layer.
3 // This file was automatically generated. Do not edit on penalty of futility!
4 //
5 #ifndef _H_TPABSTRACTSESSION
6 #define _H_TPABSTRACTSESSION
7
8 #include <security_cdsa_plugin/pluginsession.h>
9 #include <security_cdsa_utilities/cssmdata.h>
10 #include <security_cdsa_utilities/cssmacl.h>
11
12
13 namespace Security {
14
15
16 //
17 // A pure abstract class to define the TP module interface
18 //
19 class TPAbstractPluginSession {
20 public:
21 virtual ~TPAbstractPluginSession();
22 virtual void FormRequest(const CSSM_TP_AUTHORITY_ID *PreferredAuthority,
23 CSSM_TP_FORM_TYPE FormType,
24 CssmData &BlankForm) = 0;
25 virtual void CrlSign(CSSM_CL_HANDLE CLHandle,
26 CSSM_CC_HANDLE CCHandle,
27 const CSSM_ENCODED_CRL &CrlToBeSigned,
28 const CSSM_CERTGROUP &SignerCertGroup,
29 const CSSM_TP_VERIFY_CONTEXT *SignerVerifyContext,
30 CSSM_TP_VERIFY_CONTEXT_RESULT *SignerVerifyResult,
31 CssmData &SignedCrl) = 0;
32 virtual void CertCreateTemplate(CSSM_CL_HANDLE CLHandle,
33 uint32 NumberOfFields,
34 const CSSM_FIELD CertFields[],
35 CssmData &CertTemplate) = 0;
36 virtual void CertReclaimKey(const CSSM_CERTGROUP &CertGroup,
37 uint32 CertIndex,
38 CSSM_LONG_HANDLE KeyCacheHandle,
39 CSSM_CSP_HANDLE CSPHandle,
40 const CSSM_RESOURCE_CONTROL_CONTEXT *CredAndAclEntry) = 0;
41 virtual void CertGroupToTupleGroup(CSSM_CL_HANDLE CLHandle,
42 const CSSM_CERTGROUP &CertGroup,
43 CSSM_TUPLEGROUP_PTR &TupleGroup) = 0;
44 virtual void RetrieveCredResult(const CssmData &ReferenceIdentifier,
45 const CSSM_TP_CALLERAUTH_CONTEXT *CallerAuthCredentials,
46 sint32 &EstimatedTime,
47 CSSM_BOOL &ConfirmationRequired,
48 CSSM_TP_RESULT_SET_PTR &RetrieveOutput) = 0;
49 virtual void FormSubmit(CSSM_TP_FORM_TYPE FormType,
50 const CssmData &Form,
51 const CSSM_TP_AUTHORITY_ID *ClearanceAuthority,
52 const CSSM_TP_AUTHORITY_ID *RepresentedAuthority,
53 AccessCredentials *Credentials) = 0;
54 virtual void CertSign(CSSM_CL_HANDLE CLHandle,
55 CSSM_CC_HANDLE CCHandle,
56 const CssmData &CertTemplateToBeSigned,
57 const CSSM_CERTGROUP &SignerCertGroup,
58 const CSSM_TP_VERIFY_CONTEXT *SignerVerifyContext,
59 CSSM_TP_VERIFY_CONTEXT_RESULT *SignerVerifyResult,
60 CssmData &SignedCert) = 0;
61 virtual void CrlCreateTemplate(CSSM_CL_HANDLE CLHandle,
62 uint32 NumberOfFields,
63 const CSSM_FIELD CrlFields[],
64 CssmData &NewCrlTemplate) = 0;
65 virtual void CertReclaimAbort(CSSM_LONG_HANDLE KeyCacheHandle) = 0;
66 virtual void PassThrough(CSSM_CL_HANDLE CLHandle,
67 CSSM_CC_HANDLE CCHandle,
68 const CSSM_DL_DB_LIST *DBList,
69 uint32 PassThroughId,
70 const void *InputParams,
71 void **OutputParams) = 0;
72 virtual void CertGroupConstruct(CSSM_CL_HANDLE CLHandle,
73 CSSM_CSP_HANDLE CSPHandle,
74 const CSSM_DL_DB_LIST &DBList,
75 const void *ConstructParams,
76 const CSSM_CERTGROUP &CertGroupFrag,
77 CSSM_CERTGROUP_PTR &CertGroup) = 0;
78 virtual void TupleGroupToCertGroup(CSSM_CL_HANDLE CLHandle,
79 const CSSM_TUPLEGROUP &TupleGroup,
80 CSSM_CERTGROUP_PTR &CertTemplates) = 0;
81 virtual void CertGetAllTemplateFields(CSSM_CL_HANDLE CLHandle,
82 const CssmData &CertTemplate,
83 uint32 &NumberOfFields,
84 CSSM_FIELD_PTR &CertFields) = 0;
85 virtual void ReceiveConfirmation(const CssmData &ReferenceIdentifier,
86 CSSM_TP_CONFIRM_RESPONSE_PTR &Responses,
87 sint32 &ElapsedTime) = 0;
88 virtual void ConfirmCredResult(const CssmData &ReferenceIdentifier,
89 const CSSM_TP_CALLERAUTH_CONTEXT *CallerAuthCredentials,
90 const CSSM_TP_CONFIRM_RESPONSE &Responses,
91 const CSSM_TP_AUTHORITY_ID *PreferredAuthority) = 0;
92 virtual void SubmitCredRequest(const CSSM_TP_AUTHORITY_ID *PreferredAuthority,
93 CSSM_TP_AUTHORITY_REQUEST_TYPE RequestType,
94 const CSSM_TP_REQUEST_SET &RequestInput,
95 const CSSM_TP_CALLERAUTH_CONTEXT *CallerAuthContext,
96 sint32 &EstimatedTime,
97 CssmData &ReferenceIdentifier) = 0;
98 virtual void CertGroupVerify(CSSM_CL_HANDLE CLHandle,
99 CSSM_CSP_HANDLE CSPHandle,
100 const CSSM_CERTGROUP &CertGroupToBeVerified,
101 const CSSM_TP_VERIFY_CONTEXT *VerifyContext,
102 CSSM_TP_VERIFY_CONTEXT_RESULT *VerifyContextResult) = 0;
103 virtual void CertRemoveFromCrlTemplate(CSSM_CL_HANDLE CLHandle,
104 CSSM_CSP_HANDLE CSPHandle,
105 const CssmData *OldCrlTemplate,
106 const CSSM_CERTGROUP &CertGroupToBeRemoved,
107 const CSSM_CERTGROUP &RevokerCertGroup,
108 const CSSM_TP_VERIFY_CONTEXT &RevokerVerifyContext,
109 CSSM_TP_VERIFY_CONTEXT_RESULT &RevokerVerifyResult,
110 CssmData &NewCrlTemplate) = 0;
111 virtual void ApplyCrlToDb(CSSM_CL_HANDLE CLHandle,
112 CSSM_CSP_HANDLE CSPHandle,
113 const CSSM_ENCODED_CRL &CrlToBeApplied,
114 const CSSM_CERTGROUP &SignerCertGroup,
115 const CSSM_TP_VERIFY_CONTEXT *ApplyCrlVerifyContext,
116 CSSM_TP_VERIFY_CONTEXT_RESULT &ApplyCrlVerifyResult) = 0;
117 virtual void CertGroupPrune(CSSM_CL_HANDLE CLHandle,
118 const CSSM_DL_DB_LIST &DBList,
119 const CSSM_CERTGROUP &OrderedCertGroup,
120 CSSM_CERTGROUP_PTR &PrunedCertGroup) = 0;
121 virtual void CertRevoke(CSSM_CL_HANDLE CLHandle,
122 CSSM_CSP_HANDLE CSPHandle,
123 const CssmData *OldCrlTemplate,
124 const CSSM_CERTGROUP &CertGroupToBeRevoked,
125 const CSSM_CERTGROUP &RevokerCertGroup,
126 const CSSM_TP_VERIFY_CONTEXT &RevokerVerifyContext,
127 CSSM_TP_VERIFY_CONTEXT_RESULT &RevokerVerifyResult,
128 CSSM_TP_CERTCHANGE_REASON Reason,
129 CssmData &NewCrlTemplate) = 0;
130 virtual void CrlVerify(CSSM_CL_HANDLE CLHandle,
131 CSSM_CSP_HANDLE CSPHandle,
132 const CSSM_ENCODED_CRL &CrlToBeVerified,
133 const CSSM_CERTGROUP &SignerCertGroup,
134 const CSSM_TP_VERIFY_CONTEXT *VerifyContext,
135 CSSM_TP_VERIFY_CONTEXT_RESULT *RevokerVerifyResult) = 0;
136 };
137
138 } // end namespace Security
139
140 #endif //_H_TPABSTRACTSESSION