]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_cdsa_plugin/lib/CSPabstractsession.h
Security-57740.1.18.tar.gz
[apple/security.git] / OSX / libsecurity_cdsa_plugin / lib / CSPabstractsession.h
diff --git a/OSX/libsecurity_cdsa_plugin/lib/CSPabstractsession.h b/OSX/libsecurity_cdsa_plugin/lib/CSPabstractsession.h
new file mode 100644 (file)
index 0000000..2f7f92e
--- /dev/null
@@ -0,0 +1,239 @@
+//
+// CSP plugin transition layer.
+// This file was automatically generated. Do not edit on penalty of futility!
+//
+#ifndef _H_CSPABSTRACTSESSION
+#define _H_CSPABSTRACTSESSION
+
+#include <security_cdsa_plugin/pluginsession.h>
+#include <security_cdsa_utilities/cssmdata.h>
+#include <security_cdsa_utilities/context.h>
+#include <security_cdsa_utilities/cssmacl.h>
+#include <security_cdsa_utilities/cssmdb.h>
+
+
+namespace Security {
+
+
+//
+// A pure abstract class to define the CSP module interface
+//
+class CSPAbstractPluginSession {
+public:
+       virtual ~CSPAbstractPluginSession();
+  virtual void VerifyMacFinal(CSSM_CC_HANDLE CCHandle,
+         const CssmData &Mac) = 0;
+  virtual void GenerateRandom(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         CssmData &RandomNumber) = 0;
+  virtual void RetrieveUniqueId(CssmData &UniqueID) = 0;
+  virtual void SignDataFinal(CSSM_CC_HANDLE CCHandle,
+         CssmData &Signature) = 0;
+  virtual void VerifyDataUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData DataBufs[],
+         uint32 DataBufCount) = 0;
+  virtual void GenerateMac(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData DataBufs[],
+         uint32 DataBufCount,
+         CssmData &Mac) = 0;
+  virtual void VerifyMac(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData DataBufs[],
+         uint32 DataBufCount,
+         const CssmData &Mac) = 0;
+  virtual void ObtainPrivateKeyFromPublicKey(const CssmKey &PublicKey,
+         CssmKey &PrivateKey) = 0;
+  virtual void ChangeLoginOwner(const AccessCredentials &AccessCred,
+         const CSSM_ACL_OWNER_PROTOTYPE &NewOwner) = 0;
+  virtual void SignDataInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context) = 0;
+  virtual void DecryptDataInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void EventNotify(CSSM_CONTEXT_EVENT Event,
+         CSSM_CC_HANDLE CCHandle,
+         const Context &Context) = 0;
+  virtual void GetOperationalStatistics(CSPOperationalStatistics &Statistics) = 0;
+  virtual void DigestData(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData DataBufs[],
+         uint32 DataBufCount,
+         CssmData &Digest) = 0;
+  virtual void GetLoginAcl(const CSSM_STRING *SelectionTag,
+         uint32 &NumberOfAclInfos,
+         CSSM_ACL_ENTRY_INFO_PTR &AclInfos) = 0;
+  virtual void GetKeyOwner(const CssmKey &Key,
+         CSSM_ACL_OWNER_PROTOTYPE &Owner) = 0;
+  virtual void ChangeKeyOwner(const AccessCredentials &AccessCred,
+         const CssmKey &Key,
+         const CSSM_ACL_OWNER_PROTOTYPE &NewOwner) = 0;
+  virtual void VerifyMacInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context) = 0;
+  virtual void DigestDataClone(CSSM_CC_HANDLE CCHandle,
+         CSSM_CC_HANDLE ClonedCCHandle) = 0;
+  virtual void GenerateMacUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData DataBufs[],
+         uint32 DataBufCount) = 0;
+  virtual void EncryptDataFinal(CSSM_CC_HANDLE CCHandle,
+         CssmData &RemData) = 0;
+  virtual void EncryptDataInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void VerifyData(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData DataBufs[],
+         uint32 DataBufCount,
+         CSSM_ALGORITHMS DigestAlgorithm,
+         const CssmData &Signature) = 0;
+  virtual void UnwrapKey(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmKey *PublicKey,
+         const CssmKey &WrappedKey,
+         uint32 KeyUsage,
+         uint32 KeyAttr,
+         const CssmData *KeyLabel,
+         const CSSM_RESOURCE_CONTROL_CONTEXT *CredAndAclEntry,
+         CssmKey &UnwrappedKey,
+         CssmData &DescriptiveData,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void GenerateMacFinal(CSSM_CC_HANDLE CCHandle,
+         CssmData &Mac) = 0;
+  virtual void WrapKey(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const AccessCredentials &AccessCred,
+         const CssmKey &Key,
+         const CssmData *DescriptiveData,
+         CssmKey &WrappedKey,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void DecryptDataFinal(CSSM_CC_HANDLE CCHandle,
+         CssmData &RemData) = 0;
+  virtual void SignData(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData DataBufs[],
+         uint32 DataBufCount,
+         CSSM_ALGORITHMS DigestAlgorithm,
+         CssmData &Signature) = 0;
+  virtual void SignDataUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData DataBufs[],
+         uint32 DataBufCount) = 0;
+  virtual void Logout() = 0;
+  virtual void DecryptData(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData CipherBufs[],
+         uint32 CipherBufCount,
+         CssmData ClearBufs[],
+         uint32 ClearBufCount,
+         CSSM_SIZE &bytesDecrypted,
+         CssmData &RemData,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void QueryKeySizeInBits(CSSM_CC_HANDLE CCHandle,
+         const Context *Context,
+         const CssmKey *Key,
+         CSSM_KEY_SIZE &KeySize) = 0;
+  virtual void DigestDataInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context) = 0;
+  virtual void DigestDataFinal(CSSM_CC_HANDLE CCHandle,
+         CssmData &Digest) = 0;
+  virtual void Login(const AccessCredentials &AccessCred,
+         const CssmData *LoginName,
+         const void *Reserved) = 0;
+  virtual void ChangeKeyAcl(const AccessCredentials &AccessCred,
+         const CSSM_ACL_EDIT &AclEdit,
+         const CssmKey &Key) = 0;
+  virtual void GetKeyAcl(const CssmKey &Key,
+         const CSSM_STRING *SelectionTag,
+         uint32 &NumberOfAclInfos,
+         CSSM_ACL_ENTRY_INFO_PTR &AclInfos) = 0;
+  virtual void GenerateAlgorithmParams(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         uint32 ParamBits,
+         CssmData &Param,
+         uint32 &NumberOfUpdatedAttibutes,
+         CSSM_CONTEXT_ATTRIBUTE_PTR &UpdatedAttributes) = 0;
+  virtual void GetLoginOwner(CSSM_ACL_OWNER_PROTOTYPE &Owner) = 0;
+  virtual void VerifyDevice(const CssmData &DeviceCert) = 0;
+  virtual void EncryptDataUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData ClearBufs[],
+         uint32 ClearBufCount,
+         CssmData CipherBufs[],
+         uint32 CipherBufCount,
+         CSSM_SIZE &bytesEncrypted) = 0;
+  virtual void VerifyDataInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context) = 0;
+  virtual void DecryptDataUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData CipherBufs[],
+         uint32 CipherBufCount,
+         CssmData ClearBufs[],
+         uint32 ClearBufCount,
+         CSSM_SIZE &bytesDecrypted) = 0;
+  virtual void ChangeLoginAcl(const AccessCredentials &AccessCred,
+         const CSSM_ACL_EDIT &AclEdit) = 0;
+  virtual void DigestDataUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData DataBufs[],
+         uint32 DataBufCount) = 0;
+  virtual void GenerateMacInit(CSSM_CC_HANDLE CCHandle,
+         const Context &Context) = 0;
+  virtual void QuerySize(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         CSSM_BOOL Encrypt,
+         uint32 QuerySizeCount,
+         QuerySizeData *DataBlock) = 0;
+  virtual void RetrieveCounter(CssmData &Counter) = 0;
+  virtual void DeriveKey(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         CssmData &Param,
+         uint32 KeyUsage,
+         uint32 KeyAttr,
+         const CssmData *KeyLabel,
+         const CSSM_RESOURCE_CONTROL_CONTEXT *CredAndAclEntry,
+         CssmKey &DerivedKey) = 0;
+  virtual void GenerateKey(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         uint32 KeyUsage,
+         uint32 KeyAttr,
+         const CssmData *KeyLabel,
+         const CSSM_RESOURCE_CONTROL_CONTEXT *CredAndAclEntry,
+         CssmKey &Key,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void FreeKey(const AccessCredentials *AccessCred,
+         CssmKey &KeyPtr,
+         CSSM_BOOL Delete) = 0;
+  virtual void PassThrough(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         uint32 PassThroughId,
+         const void *InData,
+         void **OutData) = 0;
+  virtual void VerifyMacUpdate(CSSM_CC_HANDLE CCHandle,
+         const CssmData DataBufs[],
+         uint32 DataBufCount) = 0;
+  virtual void VerifyDataFinal(CSSM_CC_HANDLE CCHandle,
+         const CssmData &Signature) = 0;
+  virtual void GenerateKeyPair(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         uint32 PublicKeyUsage,
+         uint32 PublicKeyAttr,
+         const CssmData *PublicKeyLabel,
+         CssmKey &PublicKey,
+         uint32 PrivateKeyUsage,
+         uint32 PrivateKeyAttr,
+         const CssmData *PrivateKeyLabel,
+         const CSSM_RESOURCE_CONTROL_CONTEXT *CredAndAclEntry,
+         CssmKey &PrivateKey,
+         CSSM_PRIVILEGE Privilege) = 0;
+  virtual void GetTimeValue(CSSM_ALGORITHMS TimeAlgorithm,
+         CssmData &TimeData) = 0;
+  virtual void EncryptData(CSSM_CC_HANDLE CCHandle,
+         const Context &Context,
+         const CssmData ClearBufs[],
+         uint32 ClearBufCount,
+         CssmData CipherBufs[],
+         uint32 CipherBufCount,
+         CSSM_SIZE &bytesEncrypted,
+         CssmData &RemData,
+         CSSM_PRIVILEGE Privilege) = 0;
+};
+
+} // end namespace Security
+
+#endif //_H_CSPABSTRACTSESSION