2 // CL plugin transition layer.
3 // This file was automatically generated. Do not edit on penalty of futility!
5 #ifndef _H_CLABSTRACTSESSION
6 #define _H_CLABSTRACTSESSION
8 #include <security_cdsa_plugin/pluginsession.h>
9 #include <security_cdsa_utilities/cssmdata.h>
16 // A pure abstract class to define the CL module interface
18 class CLAbstractPluginSession
{
20 virtual ~CLAbstractPluginSession();
21 virtual void CertGetAllFields(const CssmData
&Cert
,
22 uint32
&NumberOfFields
,
23 CSSM_FIELD_PTR
&CertFields
) = 0;
24 virtual void CertGetAllTemplateFields(const CssmData
&CertTemplate
,
25 uint32
&NumberOfFields
,
26 CSSM_FIELD_PTR
&CertFields
) = 0;
27 virtual void CrlSetFields(uint32 NumberOfFields
,
28 const CSSM_FIELD CrlTemplate
[],
29 const CssmData
&OldCrl
,
30 CssmData
&ModifiedCrl
) = 0;
31 virtual void CrlAbortCache(CSSM_HANDLE CrlHandle
) = 0;
32 virtual void CrlGetAllFields(const CssmData
&Crl
,
33 uint32
&NumberOfCrlFields
,
34 CSSM_FIELD_PTR
&CrlFields
) = 0;
35 virtual void FreeFields(uint32 NumberOfFields
,
36 CSSM_FIELD_PTR
&FieldArray
) = 0;
37 virtual bool CrlGetNextFieldValue(CSSM_HANDLE ResultsHandle
,
38 CSSM_DATA_PTR
&Value
) = 0;
39 virtual CSSM_HANDLE
CrlGetFirstFieldValue(const CssmData
&Crl
,
40 const CssmData
&CrlField
,
41 uint32
&NumberOfMatchedFields
,
42 CSSM_DATA_PTR
&Value
) = 0;
43 virtual void CertSign(CSSM_CC_HANDLE CCHandle
,
44 const CssmData
&CertTemplate
,
45 const CSSM_FIELD
*SignScope
,
47 CssmData
&SignedCert
) = 0;
48 virtual void CrlCreateTemplate(uint32 NumberOfFields
,
49 const CSSM_FIELD CrlTemplate
[],
50 CssmData
&NewCrl
) = 0;
51 virtual bool CertGetNextCachedFieldValue(CSSM_HANDLE ResultsHandle
,
52 CSSM_DATA_PTR
&Value
) = 0;
53 virtual void PassThrough(CSSM_CC_HANDLE CCHandle
,
55 const void *InputParams
,
56 void **OutputParams
) = 0;
57 virtual CSSM_HANDLE
CertGetFirstFieldValue(const CssmData
&Cert
,
58 const CssmData
&CertField
,
59 uint32
&NumberOfMatchedFields
,
60 CSSM_DATA_PTR
&Value
) = 0;
61 virtual void CrlVerifyWithKey(CSSM_CC_HANDLE CCHandle
,
62 const CssmData
&CrlToBeVerified
) = 0;
63 virtual void CertCreateTemplate(uint32 NumberOfFields
,
64 const CSSM_FIELD CertFields
[],
65 CssmData
&CertTemplate
) = 0;
66 virtual void CertCache(const CssmData
&Cert
,
67 CSSM_HANDLE
&CertHandle
) = 0;
68 virtual bool CertGetNextFieldValue(CSSM_HANDLE ResultsHandle
,
69 CSSM_DATA_PTR
&Value
) = 0;
70 virtual void CertAbortQuery(CSSM_HANDLE ResultsHandle
) = 0;
71 virtual void IsCertInCachedCrl(const CssmData
&Cert
,
72 CSSM_HANDLE CrlHandle
,
74 CssmData
&CrlRecordIndex
) = 0;
75 virtual void CrlSign(CSSM_CC_HANDLE CCHandle
,
76 const CssmData
&UnsignedCrl
,
77 const CSSM_FIELD
*SignScope
,
79 CssmData
&SignedCrl
) = 0;
80 virtual void CrlAddCert(CSSM_CC_HANDLE CCHandle
,
82 uint32 NumberOfFields
,
83 const CSSM_FIELD CrlEntryFields
[],
84 const CssmData
&OldCrl
,
85 CssmData
&NewCrl
) = 0;
86 virtual void CertGroupToSignedBundle(CSSM_CC_HANDLE CCHandle
,
87 const CSSM_CERTGROUP
&CertGroupToBundle
,
88 const CSSM_CERT_BUNDLE_HEADER
*BundleInfo
,
89 CssmData
&SignedBundle
) = 0;
90 virtual void FreeFieldValue(const CssmData
&CertOrCrlOid
,
92 virtual void CertDescribeFormat(uint32
&NumberOfFields
,
93 CSSM_OID_PTR
&OidList
) = 0;
94 virtual void CrlAbortQuery(CSSM_HANDLE ResultsHandle
) = 0;
95 virtual void CrlDescribeFormat(uint32
&NumberOfFields
,
96 CSSM_OID_PTR
&OidList
) = 0;
97 virtual void CrlVerify(CSSM_CC_HANDLE CCHandle
,
98 const CssmData
&CrlToBeVerified
,
99 const CssmData
*SignerCert
,
100 const CSSM_FIELD
*VerifyScope
,
101 uint32 ScopeSize
) = 0;
102 virtual void CertGetKeyInfo(const CssmData
&Cert
,
103 CSSM_KEY_PTR
&Key
) = 0;
104 virtual void CertVerify(CSSM_CC_HANDLE CCHandle
,
105 const CssmData
&CertToBeVerified
,
106 const CssmData
*SignerCert
,
107 const CSSM_FIELD
*VerifyScope
,
108 uint32 ScopeSize
) = 0;
109 virtual CSSM_HANDLE
CertGetFirstCachedFieldValue(CSSM_HANDLE CertHandle
,
110 const CssmData
&CertField
,
111 uint32
&NumberOfMatchedFields
,
112 CSSM_DATA_PTR
&Value
) = 0;
113 virtual CSSM_HANDLE
CrlGetFirstCachedFieldValue(CSSM_HANDLE CrlHandle
,
114 const CssmData
*CrlRecordIndex
,
115 const CssmData
&CrlField
,
116 uint32
&NumberOfMatchedFields
,
117 CSSM_DATA_PTR
&Value
) = 0;
118 virtual void CertVerifyWithKey(CSSM_CC_HANDLE CCHandle
,
119 const CssmData
&CertToBeVerified
) = 0;
120 virtual void CrlRemoveCert(const CssmData
&Cert
,
121 const CssmData
&OldCrl
,
122 CssmData
&NewCrl
) = 0;
123 virtual void CrlGetAllCachedRecordFields(CSSM_HANDLE CrlHandle
,
124 const CssmData
&CrlRecordIndex
,
125 uint32
&NumberOfFields
,
126 CSSM_FIELD_PTR
&CrlFields
) = 0;
127 virtual void CertGroupFromVerifiedBundle(CSSM_CC_HANDLE CCHandle
,
128 const CSSM_CERT_BUNDLE
&CertBundle
,
129 const CssmData
*SignerCert
,
130 CSSM_CERTGROUP_PTR
&CertGroup
) = 0;
131 virtual bool CrlGetNextCachedFieldValue(CSSM_HANDLE ResultsHandle
,
132 CSSM_DATA_PTR
&Value
) = 0;
133 virtual void IsCertInCrl(const CssmData
&Cert
,
135 CSSM_BOOL
&CertFound
) = 0;
136 virtual void CrlCache(const CssmData
&Crl
,
137 CSSM_HANDLE
&CrlHandle
) = 0;
138 virtual void CertAbortCache(CSSM_HANDLE CertHandle
) = 0;
141 } // end namespace Security
143 #endif //_H_CLABSTRACTSESSION