2 // TP plugin transition layer.
3 // This file was automatically generated. Do not edit on penalty of futility!
5 #ifndef _H_TPABSTRACTSESSION
6 #define _H_TPABSTRACTSESSION
8 #include <security_cdsa_plugin/pluginsession.h>
9 #include <security_cdsa_utilities/cssmdata.h>
10 #include <security_cdsa_utilities/cssmacl.h>
17 // A pure abstract class to define the TP module interface
19 class TPAbstractPluginSession
{
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
,
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
,
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
,
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;
138 } // end namespace Security
140 #endif //_H_TPABSTRACTSESSION