comparison dstep/security/cssmapi.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
comparison
equal deleted inserted replaced
10:27e00625790b 11:07194b026fa4
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Jul 22, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.security.cssmapi;
8
9 import dstep.security.cssmconfig;
10 import dstep.security.cssmtype;
11
12 extern (C)
13 {
14 int CSSM_Init (CSSM_VERSION* Version, uint Scope, CSSM_GUID* CallerGuid, uint KeyHierarchy, CSSM_PVC_MODE* PvcPolicy, void* Reserved);
15 int CSSM_Terminate ();
16 int CSSM_ModuleLoad (CSSM_GUID* ModuleGuid, uint KeyHierarchy, CSSM_API_ModuleEventHandler AppNotifyCallback, void* AppNotifyCallbackCtx);
17 int CSSM_ModuleUnload (CSSM_GUID* ModuleGuid, CSSM_API_ModuleEventHandler AppNotifyCallback, void* AppNotifyCallbackCtx);
18 int CSSM_Introduce (CSSM_GUID* ModuleID, uint KeyHierarchy);
19 int CSSM_Unintroduce (CSSM_GUID* ModuleID);
20 int CSSM_ModuleAttach (CSSM_GUID* ModuleGuid, CSSM_VERSION* Version, CSSM_API_MEMORY_FUNCS* MemoryFuncs, uint SubserviceID, uint SubServiceType, uint AttachFlags, uint KeyHierarchy, CSSM_FUNC_NAME_ADDR* FunctionTable, uint NumFunctionTable, void* Reserved, CSSM_MODULE_HANDLE_PTR NewModuleHandle);
21 int CSSM_ModuleDetach (int ModuleHandle);
22 int CSSM_SetPrivilege (ulong Privilege);
23 int CSSM_GetPrivilege (CSSM_PRIVILEGE* Privilege);
24 int CSSM_GetModuleGUIDFromHandle (int ModuleHandle, CSSM_GUID_PTR ModuleGUID);
25 int CSSM_GetSubserviceUIDFromHandle (int ModuleHandle, CSSM_SUBSERVICE_UID_PTR SubserviceUID);
26 int CSSM_ListAttachedModuleManagers (uint* NumberOfModuleManagers, CSSM_GUID_PTR ModuleManagerGuids);
27 int CSSM_GetAPIMemoryFunctions (int AddInHandle, CSSM_API_MEMORY_FUNCS_PTR AppMemoryFuncs);
28 int CSSM_CSP_CreateSignatureContext (int CSPHandle, uint AlgorithmID, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* Key, CSSM_CC_HANDLE* NewContextHandle);
29 int CSSM_CSP_CreateSymmetricContext (int CSPHandle, uint AlgorithmID, uint Mode, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* Key, CSSM_DATA* InitVector, uint Padding, void* Reserved, CSSM_CC_HANDLE* NewContextHandle);
30 int CSSM_CSP_CreateDigestContext (int CSPHandle, uint AlgorithmID, CSSM_CC_HANDLE* NewContextHandle);
31 int CSSM_CSP_CreateMacContext (int CSPHandle, uint AlgorithmID, CSSM_KEY* Key, CSSM_CC_HANDLE* NewContextHandle);
32 int CSSM_CSP_CreateRandomGenContext (int CSPHandle, uint AlgorithmID, CSSM_CRYPTO_DATA* Seed, uint Length, CSSM_CC_HANDLE* NewContextHandle);
33 int CSSM_CSP_CreateAsymmetricContext (int CSPHandle, uint AlgorithmID, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* Key, uint Padding, CSSM_CC_HANDLE* NewContextHandle);
34 int CSSM_CSP_CreateDeriveKeyContext (int CSPHandle, uint AlgorithmID, uint DeriveKeyType, uint DeriveKeyLengthInBits, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* BaseKey, uint IterationCount, CSSM_DATA* Salt, CSSM_CRYPTO_DATA* Seed, CSSM_CC_HANDLE* NewContextHandle);
35 int CSSM_CSP_CreateKeyGenContext (int CSPHandle, uint AlgorithmID, uint KeySizeInBits, CSSM_CRYPTO_DATA* Seed, CSSM_DATA* Salt, CSSM_DATE* StartDate, CSSM_DATE* EndDate, CSSM_DATA* Params, CSSM_CC_HANDLE* NewContextHandle);
36 int CSSM_CSP_CreatePassThroughContext (int CSPHandle, CSSM_KEY* Key, CSSM_CC_HANDLE* NewContextHandle);
37 int CSSM_GetContext (ulong CCHandle, CSSM_CONTEXT_PTR* Context);
38 int CSSM_FreeContext (CSSM_CONTEXT_PTR Context);
39 int CSSM_SetContext (ulong CCHandle, CSSM_CONTEXT* Context);
40 int CSSM_DeleteContext (ulong CCHandle);
41 int CSSM_GetContextAttribute (CSSM_CONTEXT* Context, uint AttributeType, CSSM_CONTEXT_ATTRIBUTE_PTR* ContextAttribute);
42 int CSSM_UpdateContextAttributes (ulong CCHandle, uint NumberOfAttributes, CSSM_CONTEXT_ATTRIBUTE* ContextAttributes);
43 int CSSM_DeleteContextAttributes (ulong CCHandle, uint NumberOfAttributes, CSSM_CONTEXT_ATTRIBUTE* ContextAttributes);
44 int CSSM_CSP_Login (int CSPHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_DATA* LoginName, void* Reserved);
45 int CSSM_CSP_Logout (int CSPHandle);
46 int CSSM_CSP_GetLoginAcl (int CSPHandle, CSSM_STRING* SelectionTag, uint* NumberOfAclInfos, CSSM_ACL_ENTRY_INFO_PTR* AclInfos);
47 int CSSM_CSP_ChangeLoginAcl (int CSPHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_ACL_EDIT* AclEdit);
48 int CSSM_GetKeyAcl (int CSPHandle, CSSM_KEY* Key, CSSM_STRING* SelectionTag, uint* NumberOfAclInfos, CSSM_ACL_ENTRY_INFO_PTR* AclInfos);
49 int CSSM_ChangeKeyAcl (int CSPHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_ACL_EDIT* AclEdit, CSSM_KEY* Key);
50 int CSSM_GetKeyOwner (int CSPHandle, CSSM_KEY* Key, CSSM_ACL_OWNER_PROTOTYPE_PTR Owner);
51 int CSSM_ChangeKeyOwner (int CSPHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* Key, CSSM_ACL_OWNER_PROTOTYPE* NewOwner);
52 int CSSM_CSP_GetLoginOwner (int CSPHandle, CSSM_ACL_OWNER_PROTOTYPE_PTR Owner);
53 int CSSM_CSP_ChangeLoginOwner (int CSPHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_ACL_OWNER_PROTOTYPE* NewOwner);
54 int CSSM_SignData (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount, uint DigestAlgorithm, CSSM_DATA_PTR Signature);
55 int CSSM_SignDataInit (ulong CCHandle);
56 int CSSM_SignDataUpdate (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount);
57 int CSSM_SignDataFinal (ulong CCHandle, CSSM_DATA_PTR Signature);
58 int CSSM_VerifyData (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount, uint DigestAlgorithm, CSSM_DATA* Signature);
59 int CSSM_VerifyDataInit (ulong CCHandle);
60 int CSSM_VerifyDataUpdate (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount);
61 int CSSM_VerifyDataFinal (ulong CCHandle, CSSM_DATA* Signature);
62 int CSSM_DigestData (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount, CSSM_DATA_PTR Digest);
63 int CSSM_DigestDataInit (ulong CCHandle);
64 int CSSM_DigestDataUpdate (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount);
65 int CSSM_DigestDataClone (ulong CCHandle, CSSM_CC_HANDLE* ClonednewCCHandle);
66 int CSSM_DigestDataFinal (ulong CCHandle, CSSM_DATA_PTR Digest);
67 int CSSM_GenerateMac (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount, CSSM_DATA_PTR Mac);
68 int CSSM_GenerateMacInit (ulong CCHandle);
69 int CSSM_GenerateMacUpdate (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount);
70 int CSSM_GenerateMacFinal (ulong CCHandle, CSSM_DATA_PTR Mac);
71 int CSSM_VerifyMac (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount, CSSM_DATA* Mac);
72 int CSSM_VerifyMacInit (ulong CCHandle);
73 int CSSM_VerifyMacUpdate (ulong CCHandle, CSSM_DATA* DataBufs, uint DataBufCount);
74 int CSSM_VerifyMacFinal (ulong CCHandle, CSSM_DATA* Mac);
75 int CSSM_QuerySize (ulong CCHandle, int Encrypt, uint QuerySizeCount, CSSM_QUERY_SIZE_DATA_PTR DataBlockSizes);
76 int CSSM_EncryptData (ulong CCHandle, CSSM_DATA* ClearBufs, uint ClearBufCount, CSSM_DATA_PTR CipherBufs, uint CipherBufCount, CSSM_SIZE* bytesEncrypted, CSSM_DATA_PTR RemData);
77 int CSSM_EncryptDataP (ulong CCHandle, CSSM_DATA* ClearBufs, uint ClearBufCount, CSSM_DATA_PTR CipherBufs, uint CipherBufCount, CSSM_SIZE* bytesEncrypted, CSSM_DATA_PTR RemData, ulong Privilege);
78 int CSSM_EncryptDataInit (ulong CCHandle);
79 int CSSM_EncryptDataInitP (ulong CCHandle, ulong Privilege);
80 int CSSM_EncryptDataUpdate (ulong CCHandle, CSSM_DATA* ClearBufs, uint ClearBufCount, CSSM_DATA_PTR CipherBufs, uint CipherBufCount, CSSM_SIZE* bytesEncrypted);
81 int CSSM_EncryptDataFinal (ulong CCHandle, CSSM_DATA_PTR RemData);
82 int CSSM_DecryptData (ulong CCHandle, CSSM_DATA* CipherBufs, uint CipherBufCount, CSSM_DATA_PTR ClearBufs, uint ClearBufCount, CSSM_SIZE* bytesDecrypted, CSSM_DATA_PTR RemData);
83 int CSSM_DecryptDataP (ulong CCHandle, CSSM_DATA* CipherBufs, uint CipherBufCount, CSSM_DATA_PTR ClearBufs, uint ClearBufCount, CSSM_SIZE* bytesDecrypted, CSSM_DATA_PTR RemData, ulong Privilege);
84 int CSSM_DecryptDataInit (ulong CCHandle);
85 int CSSM_DecryptDataInitP (ulong CCHandle, ulong Privilege);
86 int CSSM_DecryptDataUpdate (ulong CCHandle, CSSM_DATA* CipherBufs, uint CipherBufCount, CSSM_DATA_PTR ClearBufs, uint ClearBufCount, CSSM_SIZE* bytesDecrypted);
87 int CSSM_DecryptDataFinal (ulong CCHandle, CSSM_DATA_PTR RemData);
88 int CSSM_QueryKeySizeInBits (int CSPHandle, ulong CCHandle, CSSM_KEY* Key, CSSM_KEY_SIZE_PTR KeySize);
89 int CSSM_GenerateKey (ulong CCHandle, uint KeyUsage, uint KeyAttr, CSSM_DATA* KeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR Key);
90 int CSSM_GenerateKeyP (ulong CCHandle, uint KeyUsage, uint KeyAttr, CSSM_DATA* KeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR Key, ulong Privilege);
91 int CSSM_GenerateKeyPair (ulong CCHandle, uint PublicKeyUsage, uint PublicKeyAttr, CSSM_DATA* PublicKeyLabel, CSSM_KEY_PTR PublicKey, uint PrivateKeyUsage, uint PrivateKeyAttr, CSSM_DATA* PrivateKeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR PrivateKey);
92 int CSSM_GenerateKeyPairP (ulong CCHandle, uint PublicKeyUsage, uint PublicKeyAttr, CSSM_DATA* PublicKeyLabel, CSSM_KEY_PTR PublicKey, uint PrivateKeyUsage, uint PrivateKeyAttr, CSSM_DATA* PrivateKeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR PrivateKey, ulong Privilege);
93 int CSSM_GenerateRandom (ulong CCHandle, CSSM_DATA_PTR RandomNumber);
94 int CSSM_CSP_ObtainPrivateKeyFromPublicKey (int CSPHandle, CSSM_KEY* PublicKey, CSSM_KEY_PTR PrivateKey);
95 int CSSM_WrapKey (ulong CCHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* Key, CSSM_DATA* DescriptiveData, CSSM_WRAP_KEY_PTR WrappedKey);
96 int CSSM_UnwrapKey (ulong CCHandle, CSSM_KEY* PublicKey, CSSM_WRAP_KEY* WrappedKey, uint KeyUsage, uint KeyAttr, CSSM_DATA* KeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR UnwrappedKey, CSSM_DATA_PTR DescriptiveData);
97 int CSSM_WrapKeyP (ulong CCHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY* Key, CSSM_DATA* DescriptiveData, CSSM_WRAP_KEY_PTR WrappedKey, ulong Privilege);
98 int CSSM_UnwrapKeyP (ulong CCHandle, CSSM_KEY* PublicKey, CSSM_WRAP_KEY* WrappedKey, uint KeyUsage, uint KeyAttr, CSSM_DATA* KeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR UnwrappedKey, CSSM_DATA_PTR DescriptiveData, ulong Privilege);
99 int CSSM_DeriveKey (ulong CCHandle, CSSM_DATA_PTR Param, uint KeyUsage, uint KeyAttr, CSSM_DATA* KeyLabel, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, CSSM_KEY_PTR DerivedKey);
100 int CSSM_FreeKey (int CSPHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_KEY_PTR KeyPtr, int Delete);
101 int CSSM_GenerateAlgorithmParams (ulong CCHandle, uint ParamBits, CSSM_DATA_PTR Param);
102 int CSSM_CSP_GetOperationalStatistics (int CSPHandle, CSSM_CSP_OPERATIONAL_STATISTICS* Statistics);
103 int CSSM_GetTimeValue (int CSPHandle, uint TimeAlgorithm, CSSM_DATA* TimeData);
104 int CSSM_RetrieveUniqueId (int CSPHandle, CSSM_DATA_PTR UniqueID);
105 int CSSM_RetrieveCounter (int CSPHandle, CSSM_DATA_PTR Counter);
106 int CSSM_VerifyDevice (int CSPHandle, CSSM_DATA* DeviceCert);
107 int CSSM_CSP_PassThrough (ulong CCHandle, uint PassThroughId, void* InData, void** OutData);
108 int CSSM_TP_SubmitCredRequest (int TPHandle, CSSM_TP_AUTHORITY_ID* PreferredAuthority, uint RequestType, CSSM_TP_REQUEST_SET* RequestInput, CSSM_TP_CALLERAUTH_CONTEXT* CallerAuthContext, sint32* EstimatedTime, CSSM_DATA_PTR ReferenceIdentifier);
109 int CSSM_TP_RetrieveCredResult (int TPHandle, CSSM_DATA* ReferenceIdentifier, CSSM_TP_CALLERAUTH_CONTEXT* CallerAuthCredentials, sint32* EstimatedTime, CSSM_BOOL* ConfirmationRequired, CSSM_TP_RESULT_SET_PTR* RetrieveOutput);
110 int CSSM_TP_ConfirmCredResult (int TPHandle, CSSM_DATA* ReferenceIdentifier, CSSM_TP_CALLERAUTH_CONTEXT* CallerAuthCredentials, CSSM_TP_CONFIRM_RESPONSE* Responses, CSSM_TP_AUTHORITY_ID* PreferredAuthority);
111 int CSSM_TP_ReceiveConfirmation (int TPHandle, CSSM_DATA* ReferenceIdentifier, CSSM_TP_CONFIRM_RESPONSE_PTR* Responses, int* ElapsedTime);
112 int CSSM_TP_CertReclaimKey (int TPHandle, CSSM_CERTGROUP* CertGroup, uint CertIndex, ulong KeyCacheHandle, int CSPHandle, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry);
113 int CSSM_TP_CertReclaimAbort (int TPHandle, ulong KeyCacheHandle);
114 int CSSM_TP_FormRequest (int TPHandle, CSSM_TP_AUTHORITY_ID* PreferredAuthority, uint FormType, CSSM_DATA_PTR BlankForm);
115 int CSSM_TP_FormSubmit (int TPHandle, uint FormType, CSSM_DATA* Form, CSSM_TP_AUTHORITY_ID* ClearanceAuthority, CSSM_TP_AUTHORITY_ID* RepresentedAuthority, CSSM_ACCESS_CREDENTIALS_PTR Credentials);
116 int CSSM_TP_CertGroupVerify (int TPHandle, int CLHandle, int CSPHandle, CSSM_CERTGROUP* CertGroupToBeVerified, CSSM_TP_VERIFY_CONTEXT* VerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR VerifyContextResult);
117 int CSSM_TP_CertCreateTemplate (int TPHandle, int CLHandle, uint NumberOfFields, CSSM_FIELD* CertFields, CSSM_DATA_PTR CertTemplate);
118 int CSSM_TP_CertGetAllTemplateFields (int TPHandle, int CLHandle, CSSM_DATA* CertTemplate, uint* NumberOfFields, CSSM_FIELD_PTR* CertFields);
119 int CSSM_TP_CertSign (int TPHandle, int CLHandle, ulong CCHandle, CSSM_DATA* CertTemplateToBeSigned, CSSM_CERTGROUP* SignerCertGroup, CSSM_TP_VERIFY_CONTEXT* SignerVerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR SignerVerifyResult, CSSM_DATA_PTR SignedCert);
120 int CSSM_TP_CrlVerify (int TPHandle, int CLHandle, int CSPHandle, CSSM_ENCODED_CRL* CrlToBeVerified, CSSM_CERTGROUP* SignerCertGroup, CSSM_TP_VERIFY_CONTEXT* VerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult);
121 int CSSM_TP_CrlCreateTemplate (int TPHandle, int CLHandle, uint NumberOfFields, CSSM_FIELD* CrlFields, CSSM_DATA_PTR NewCrlTemplate);
122 int CSSM_TP_CertRevoke (int TPHandle, int CLHandle, int CSPHandle, CSSM_DATA* OldCrlTemplate, CSSM_CERTGROUP* CertGroupToBeRevoked, CSSM_CERTGROUP* RevokerCertGroup, CSSM_TP_VERIFY_CONTEXT* RevokerVerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult, uint Reason, CSSM_DATA_PTR NewCrlTemplate);
123 int CSSM_TP_CertRemoveFromCrlTemplate (int TPHandle, int CLHandle, int CSPHandle, CSSM_DATA* OldCrlTemplate, CSSM_CERTGROUP* CertGroupToBeRemoved, CSSM_CERTGROUP* RevokerCertGroup, CSSM_TP_VERIFY_CONTEXT* RevokerVerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult, CSSM_DATA_PTR NewCrlTemplate);
124 int CSSM_TP_CrlSign (int TPHandle, int CLHandle, ulong CCHandle, CSSM_ENCODED_CRL* CrlToBeSigned, CSSM_CERTGROUP* SignerCertGroup, CSSM_TP_VERIFY_CONTEXT* SignerVerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR SignerVerifyResult, CSSM_DATA_PTR SignedCrl);
125 int CSSM_TP_ApplyCrlToDb (int TPHandle, int CLHandle, int CSPHandle, CSSM_ENCODED_CRL* CrlToBeApplied, CSSM_CERTGROUP* SignerCertGroup, CSSM_TP_VERIFY_CONTEXT* ApplyCrlVerifyContext, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR ApplyCrlVerifyResult);
126 int CSSM_TP_CertGroupConstruct (int TPHandle, int CLHandle, int CSPHandle, CSSM_DL_DB_LIST* DBList, void* ConstructParams, CSSM_CERTGROUP* CertGroupFrag, CSSM_CERTGROUP_PTR* CertGroup);
127 int CSSM_TP_CertGroupPrune (int TPHandle, int CLHandle, CSSM_DL_DB_LIST* DBList, CSSM_CERTGROUP* OrderedCertGroup, CSSM_CERTGROUP_PTR* PrunedCertGroup);
128 int CSSM_TP_CertGroupToTupleGroup (int TPHandle, int CLHandle, CSSM_CERTGROUP* CertGroup, CSSM_TUPLEGROUP_PTR* TupleGroup);
129 int CSSM_TP_TupleGroupToCertGroup (int TPHandle, int CLHandle, CSSM_TUPLEGROUP* TupleGroup, CSSM_CERTGROUP_PTR* CertTemplates);
130 int CSSM_TP_PassThrough (int TPHandle, int CLHandle, ulong CCHandle, CSSM_DL_DB_LIST* DBList, uint PassThroughId, void* InputParams, void** OutputParams);
131 int CSSM_AC_AuthCompute (int ACHandle, CSSM_TUPLEGROUP* BaseAuthorizations, CSSM_TUPLEGROUP* Credentials, uint NumberOfRequestors, CSSM_LIST* Requestors, CSSM_LIST* RequestedAuthorizationPeriod, CSSM_LIST* RequestedAuthorization, CSSM_TUPLEGROUP_PTR AuthorizationResult);
132 int CSSM_AC_PassThrough (int ACHandle, int TPHandle, int CLHandle, ulong CCHandle, CSSM_DL_DB_LIST* DBList, uint PassThroughId, void* InputParams, void** OutputParams);
133 int CSSM_CL_CertCreateTemplate (int CLHandle, uint NumberOfFields, CSSM_FIELD* CertFields, CSSM_DATA_PTR CertTemplate);
134 int CSSM_CL_CertGetAllTemplateFields (int CLHandle, CSSM_DATA* CertTemplate, uint* NumberOfFields, CSSM_FIELD_PTR* CertFields);
135 int CSSM_CL_CertSign (int CLHandle, ulong CCHandle, CSSM_DATA* CertTemplate, CSSM_FIELD* SignScope, uint ScopeSize, CSSM_DATA_PTR SignedCert);
136 int CSSM_CL_CertVerify (int CLHandle, ulong CCHandle, CSSM_DATA* CertToBeVerified, CSSM_DATA* SignerCert, CSSM_FIELD* VerifyScope, uint ScopeSize);
137 int CSSM_CL_CertVerifyWithKey (int CLHandle, ulong CCHandle, CSSM_DATA* CertToBeVerified);
138 int CSSM_CL_CertGetFirstFieldValue (int CLHandle, CSSM_DATA* Cert, CSSM_OID* CertField, CSSM_HANDLE_PTR ResultsHandle, uint* NumberOfMatchedFields, CSSM_DATA_PTR* Value);
139 int CSSM_CL_CertGetNextFieldValue (int CLHandle, int ResultsHandle, CSSM_DATA_PTR* Value);
140 int CSSM_CL_CertAbortQuery (int CLHandle, int ResultsHandle);
141 int CSSM_CL_CertGetKeyInfo (int CLHandle, CSSM_DATA* Cert, CSSM_KEY_PTR* Key);
142 int CSSM_CL_CertGetAllFields (int CLHandle, CSSM_DATA* Cert, uint* NumberOfFields, CSSM_FIELD_PTR* CertFields);
143 int CSSM_CL_FreeFields (int CLHandle, uint NumberOfFields, CSSM_FIELD_PTR* Fields);
144 int CSSM_CL_FreeFieldValue (int CLHandle, CSSM_OID* CertOrCrlOid, CSSM_DATA_PTR Value);
145 int CSSM_CL_CertCache (int CLHandle, CSSM_DATA* Cert, CSSM_HANDLE_PTR CertHandle);
146 int CSSM_CL_CertGetFirstCachedFieldValue (int CLHandle, int CertHandle, CSSM_OID* CertField, CSSM_HANDLE_PTR ResultsHandle, uint* NumberOfMatchedFields, CSSM_DATA_PTR* Value);
147 int CSSM_CL_CertGetNextCachedFieldValue (int CLHandle, int ResultsHandle, CSSM_DATA_PTR* Value);
148 int CSSM_CL_CertAbortCache (int CLHandle, int CertHandle);
149 int CSSM_CL_CertGroupToSignedBundle (int CLHandle, ulong CCHandle, CSSM_CERTGROUP* CertGroupToBundle, CSSM_CERT_BUNDLE_HEADER* BundleInfo, CSSM_DATA_PTR SignedBundle);
150 int CSSM_CL_CertGroupFromVerifiedBundle (int CLHandle, ulong CCHandle, CSSM_CERT_BUNDLE* CertBundle, CSSM_DATA* SignerCert, CSSM_CERTGROUP_PTR* CertGroup);
151 int CSSM_CL_CertDescribeFormat (int CLHandle, uint* NumberOfFields, CSSM_OID_PTR* OidList);
152 int CSSM_CL_CrlCreateTemplate (int CLHandle, uint NumberOfFields, CSSM_FIELD* CrlTemplate, CSSM_DATA_PTR NewCrl);
153 int CSSM_CL_CrlSetFields (int CLHandle, uint NumberOfFields, CSSM_FIELD* CrlTemplate, CSSM_DATA* OldCrl, CSSM_DATA_PTR ModifiedCrl);
154 int CSSM_CL_CrlAddCert (int CLHandle, ulong CCHandle, CSSM_DATA* Cert, uint NumberOfFields, CSSM_FIELD* CrlEntryFields, CSSM_DATA* OldCrl, CSSM_DATA_PTR NewCrl);
155 int CSSM_CL_CrlRemoveCert (int CLHandle, CSSM_DATA* Cert, CSSM_DATA* OldCrl, CSSM_DATA_PTR NewCrl);
156 int CSSM_CL_CrlSign (int CLHandle, ulong CCHandle, CSSM_DATA* UnsignedCrl, CSSM_FIELD* SignScope, uint ScopeSize, CSSM_DATA_PTR SignedCrl);
157 int CSSM_CL_CrlVerify (int CLHandle, ulong CCHandle, CSSM_DATA* CrlToBeVerified, CSSM_DATA* SignerCert, CSSM_FIELD* VerifyScope, uint ScopeSize);
158 int CSSM_CL_CrlVerifyWithKey (int CLHandle, ulong CCHandle, CSSM_DATA* CrlToBeVerified);
159 int CSSM_CL_IsCertInCrl (int CLHandle, CSSM_DATA* Cert, CSSM_DATA* Crl, CSSM_BOOL* CertFound);
160 int CSSM_CL_CrlGetFirstFieldValue (int CLHandle, CSSM_DATA* Crl, CSSM_OID* CrlField, CSSM_HANDLE_PTR ResultsHandle, uint* NumberOfMatchedFields, CSSM_DATA_PTR* Value);
161 int CSSM_CL_CrlGetNextFieldValue (int CLHandle, int ResultsHandle, CSSM_DATA_PTR* Value);
162 int CSSM_CL_CrlAbortQuery (int CLHandle, int ResultsHandle);
163 int CSSM_CL_CrlGetAllFields (int CLHandle, CSSM_DATA* Crl, uint* NumberOfCrlFields, CSSM_FIELD_PTR* CrlFields);
164 int CSSM_CL_CrlCache (int CLHandle, CSSM_DATA* Crl, CSSM_HANDLE_PTR CrlHandle);
165 int CSSM_CL_IsCertInCachedCrl (int CLHandle, CSSM_DATA* Cert, int CrlHandle, CSSM_BOOL* CertFound, CSSM_DATA_PTR CrlRecordIndex);
166 int CSSM_CL_CrlGetFirstCachedFieldValue (int CLHandle, int CrlHandle, CSSM_DATA* CrlRecordIndex, CSSM_OID* CrlField, CSSM_HANDLE_PTR ResultsHandle, uint* NumberOfMatchedFields, CSSM_DATA_PTR* Value);
167 int CSSM_CL_CrlGetNextCachedFieldValue (int CLHandle, int ResultsHandle, CSSM_DATA_PTR* Value);
168 int CSSM_CL_CrlGetAllCachedRecordFields (int CLHandle, int CrlHandle, CSSM_DATA* CrlRecordIndex, uint* NumberOfFields, CSSM_FIELD_PTR* CrlFields);
169 int CSSM_CL_CrlAbortCache (int CLHandle, int CrlHandle);
170 int CSSM_CL_CrlDescribeFormat (int CLHandle, uint* NumberOfFields, CSSM_OID_PTR* OidList);
171 int CSSM_CL_PassThrough (int CLHandle, ulong CCHandle, uint PassThroughId, void* InputParams, void** OutputParams);
172 int CSSM_DL_DbOpen (int DLHandle, char* DbName, CSSM_NET_ADDRESS* DbLocation, uint AccessRequest, CSSM_ACCESS_CREDENTIALS* AccessCred, void* OpenParameters, CSSM_DB_HANDLE* DbHandle);
173 int CSSM_DL_DbClose (CSSM_DL_DB_HANDLE DLDBHandle);
174 int CSSM_DL_DbCreate (int DLHandle, char* DbName, CSSM_NET_ADDRESS* DbLocation, CSSM_DBINFO* DBInfo, uint AccessRequest, CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry, void* OpenParameters, CSSM_DB_HANDLE* DbHandle);
175 int CSSM_DL_DbDelete (int DLHandle, char* DbName, CSSM_NET_ADDRESS* DbLocation, CSSM_ACCESS_CREDENTIALS* AccessCred);
176 int CSSM_DL_CreateRelation (CSSM_DL_DB_HANDLE DLDBHandle, uint RelationID, char* RelationName, uint NumberOfAttributes, CSSM_DB_SCHEMA_ATTRIBUTE_INFO* pAttributeInfo, uint NumberOfIndexes, CSSM_DB_SCHEMA_INDEX_INFO* pIndexInfo);
177 int CSSM_DL_DestroyRelation (CSSM_DL_DB_HANDLE DLDBHandle, uint RelationID);
178 int CSSM_DL_Authenticate (CSSM_DL_DB_HANDLE DLDBHandle, uint AccessRequest, CSSM_ACCESS_CREDENTIALS* AccessCred);
179 int CSSM_DL_GetDbAcl (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_STRING* SelectionTag, uint* NumberOfAclInfos, CSSM_ACL_ENTRY_INFO_PTR* AclInfos);
180 int CSSM_DL_ChangeDbAcl (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_ACL_EDIT* AclEdit);
181 int CSSM_DL_GetDbOwner (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_ACL_OWNER_PROTOTYPE_PTR Owner);
182 int CSSM_DL_ChangeDbOwner (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_ACCESS_CREDENTIALS* AccessCred, CSSM_ACL_OWNER_PROTOTYPE* NewOwner);
183 int CSSM_DL_GetDbNames (int DLHandle, CSSM_NAME_LIST_PTR* NameList);
184 int CSSM_DL_GetDbNameFromHandle (CSSM_DL_DB_HANDLE DLDBHandle, char** DbName);
185 int CSSM_DL_FreeNameList (int DLHandle, CSSM_NAME_LIST_PTR NameList);
186 int CSSM_DL_DataInsert (CSSM_DL_DB_HANDLE DLDBHandle, uint RecordType, CSSM_DB_RECORD_ATTRIBUTE_DATA* Attributes, CSSM_DATA* Data, CSSM_DB_UNIQUE_RECORD_PTR* UniqueId);
187 int CSSM_DL_DataDelete (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_DB_UNIQUE_RECORD* UniqueRecordIdentifier);
188 int CSSM_DL_DataModify (CSSM_DL_DB_HANDLE DLDBHandle, uint RecordType, CSSM_DB_UNIQUE_RECORD_PTR UniqueRecordIdentifier, CSSM_DB_RECORD_ATTRIBUTE_DATA* AttributesToBeModified, CSSM_DATA* DataToBeModified, uint ModifyMode);
189 int CSSM_DL_DataGetFirst (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_QUERY* Query, CSSM_HANDLE_PTR ResultsHandle, CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes, CSSM_DATA_PTR Data, CSSM_DB_UNIQUE_RECORD_PTR* UniqueId);
190 int CSSM_DL_DataGetNext (CSSM_DL_DB_HANDLE DLDBHandle, int ResultsHandle, CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes, CSSM_DATA_PTR Data, CSSM_DB_UNIQUE_RECORD_PTR* UniqueId);
191 int CSSM_DL_DataAbortQuery (CSSM_DL_DB_HANDLE DLDBHandle, int ResultsHandle);
192 int CSSM_DL_DataGetFromUniqueRecordId (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_DB_UNIQUE_RECORD* UniqueRecord, CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes, CSSM_DATA_PTR Data);
193 int CSSM_DL_FreeUniqueRecord (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_DB_UNIQUE_RECORD_PTR UniqueRecord);
194 int CSSM_DL_PassThrough (CSSM_DL_DB_HANDLE DLDBHandle, uint PassThroughId, void* InputParams, void** OutputParams);
195 }