diff options
Diffstat (limited to 'src/include/tss/TSP.idl')
-rw-r--r-- | src/include/tss/TSP.idl | 762 |
1 files changed, 762 insertions, 0 deletions
diff --git a/src/include/tss/TSP.idl b/src/include/tss/TSP.idl new file mode 100644 index 0000000..40f95b7 --- /dev/null +++ b/src/include/tss/TSP.idl @@ -0,0 +1,762 @@ +/*++
+
++++TSP.idl
+
+ Interface declarations for the TSS Service Provider
+ - COM interface for Windows based platforms
+
+--*/
+import "oaidl.idl"; // include ODL base types
+import "ocidl.idl";
+
+//import the header files from TSS v1.2
+import "tss_typedef.h";
+import "tss_structs.h";
+
+// forward declaration
+interface ITCPAPolicy;
+interface ITCPAKey;
+
+/*
+Missing:
+TSS_RESULT Tspi_Context_Create
+TSS_RESULT Tspi_Context_Close
+TSS_RESULT Tspi_Context_FreeMemory
+*/
+
+ //ITCPAAttrib Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C2E-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAAttrib Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAAttrib : IUnknown
+ {
+ [helpstring("method SetAttribUint32")]
+ HRESULT SetAttribUint32([in] TSS_FLAG attribFlag,
+ [in] TSS_FLAG subFlags,
+ [in] UINT32 ulAttrib);
+
+ [helpstring("method GetAttribUint32")]
+ HRESULT GetAttribUint32([in] TSS_FLAG attribFlag,
+ [in] TSS_FLAG subFlags,
+ [out] UINT32* pulAttrib);
+
+ [helpstring("method SetAttribData")]
+ HRESULT SetAttribData([in] TSS_FLAG attribFlag,
+ [in] TSS_FLAG subFlags,
+ [in] UINT32 ulAttribDataSize,
+ [in, ptr, size_is(ulAttribDataSize)] BYTE* pbAttribData);
+
+ [helpstring("method GetAttribData")]
+ HRESULT GetAttribData([in] TSS_FLAG attribFlag,
+ [in] TSS_FLAG subFlags,
+ [out] UINT32* pulAttribDataSize,
+ [out, size_is(, *pulAttribDataSize)] BYTE** ppbAttribData);
+ }
+
+ //ITCPAAuth Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C2F-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAAuth Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAAuth : IUnknown
+ {
+ [helpstring("method GetPolicyObject")]
+ HRESULT GetPolicyObject([in] TSS_FLAG PolicyType,
+ [out] ITCPAPolicy** ppPolicyObject);
+
+ [helpstring("method ChangeAuth")]
+ HRESULT ChangeAuth([in] IUnknown* PpParentObject,
+ [in] ITCPAPolicy* PpNewPolicy);
+
+// HRESULT ChangeAuthAsym
+
+ };
+
+ [
+ object,
+ uuid(FBCD9C2D-72CB-47BB-99DD-2317551491DE),
+ helpstring("ITCPAPcrs Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAPcrs : IUnknown
+ {
+ [helpstring("method SetPcrValue")]
+ HRESULT SetPcrValue([in] UINT32 ulPCRIndex,
+ [in] UINT32 ulPcrValueLength,
+ [in, size_is(ulPcrValueLength)] BYTE* pbPcrValue);
+
+ [helpstring("method GetPcrValue")]
+ HRESULT GetPcrValue([in] UINT32 ulPCRIndex,
+ [out] UINT32* pulPcrValueLength,
+ [out, size_is(, *pulPcrValueLength)] BYTE** ppbPcrValue);
+
+ [helpstring("method SelectPcrIndex")]
+ HRESULT SelectPcrIndex([in] UINT32 ulPCRIndex);
+
+ };
+
+ //ITCPAKey Interface
+ [
+ object,
+ uuid(FBCD9C27-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAKey Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAKey : IUnknown
+ {
+ [helpstring("method LoadKey")]
+ HRESULT LoadKey([in] ITCPAKey* pUnwrappingKey);
+
+ [helpstring("method CreateKey")]
+ HRESULT CreateKey([in] ITCPAKey* pUnwrappingKey,
+ [in] ITCPAPcrs* pPcrComosite);
+
+ [helpstring("method WrapKey")]
+ HRESULT WrapKey([in] ITCPAKey* pWrappinKey,
+ [in] ITCPAPcrs* pPcrComposite);
+
+ [helpstring("method CertifyKey")]
+ HRESULT CertifyKey([in] ITCPAKey* pCertifyingKey,
+ [in, out, ptr] TSS_VALIDATION* pValidation);
+
+ [helpstring("method GetPubKey")]
+ HRESULT GetPubKey([out] UINT32* pulPubKeyLength,
+ [out, size_is(, *pulPubKeyLength)] BYTE** ppbPubKey);
+
+ [helpstring("method UnLoadKey")]
+ HRESULT UnLoadKey();
+ };
+
+ // ITCPAMigration
+ [
+ local,
+ object,
+ uuid(FBCD9C30-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAMigration Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAMigration : IUnknown
+ {
+ [helpstring("method CreateMigrationBlob")]
+ HRESULT CreateMigrationBlob([in] ITCPAKey *pParentKey,
+ [in] UINT32 ulMigTicketLength,
+ [in, size_is(ulMigTicketLength)] BYTE* rgbMigTicket,
+ [out] UINT32 *pulRandomLength,
+ [out, size_is(, *pulRandomLength)] BYTE **prgbRandom,
+ [out] UINT32 *pulMigrationBlobLength,
+ [out, size_is(, *pulMigrationBlobLength)] BYTE **prgbMigBlob);
+
+ [helpstring("method ConvertMigrationBlob")]
+ HRESULT ConvertMigrationBlob([in] ITCPAKey *pParentKey,
+ [in] UINT32 ulRandomLength,
+ [in, size_is(ulRandomLength)] BYTE *rgbRandom,
+ [in] UINT32 ulMigrationBlobLength,
+ [in, size_is(ulMigrationBlobLength)] BYTE *rgbMigBlob);
+ };
+
+ //ITCPAEncData Interface
+ [
+ uuid(FBCD9C29-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAEncData Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAEncData : IUnknown
+ {
+ [helpstring("method Seal")]
+ HRESULT Seal([in] ITCPAKey* pEncKey,
+ [in] UINT32 ulDataLength,
+ [in, size_is(ulDataLength)] BYTE* pbData,
+ [in] ITCPAPcrs* pPcrComposite);
+
+ [helpstring("method Unseal")]
+ HRESULT Unseal([in] ITCPAKey* pKey,
+ [out] UINT32* pulUnsealedDataLength,
+ [out, size_is(, *pulUnsealedDataLength)] BYTE** ppbData);
+
+ [helpstring("method Bind")]
+ HRESULT Bind([in] ITCPAKey* pEncKey,
+ [in] UINT32 ulDataLength,
+ [in, size_is(ulDataLength)] BYTE* pbData);
+
+ [helpstring("method Unbind")]
+ HRESULT Unbind([in] ITCPAKey* pKey,
+ [out] UINT32* pulUnboundDataLength,
+ [out, size_is(, *pulUnboundDataLength)] BYTE** ppbData);
+
+ };
+
+ //ITCPAHash Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C2B-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAHash Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAHash : IUnknown
+ {
+ [helpstring("method SetHashValue")]
+ HRESULT SetHashValue([in] UINT32 ulHashValueLength,
+ [in, size_is(ulHashValueLength)] BYTE* pbHash);
+
+ [helpstring("method GetHashValue")]
+ HRESULT GetHashValue([out] UINT32* pulHashValueLength,
+ [out, size_is(, *pulHashValueLength)] BYTE** ppbHash);
+
+ [helpstring("method UpdateHashValue")]
+ HRESULT UpdateHashValue([in] UINT32 ulDataLength,
+ [in, size_is(ulDataLength)] BYTE* pbData);
+
+ [helpstring("method Sign")]
+ HRESULT Sign([in] ITCPAKey* pKey,
+ [out] UINT32* pulSignatureLength,
+ [out, size_is(, *pulSignatureLength)] BYTE** ppbSignature);
+
+ [helpstring("method VerifySignature")]
+ HRESULT VerifySignature([in] ITCPAKey* pKey,
+ [in] UINT32 ulSignatureLength,
+ [in, size_is(ulSignatureLength)] BYTE* pbSignature);
+
+ };
+
+ //ITCPAPolicy Interface
+ [
+ uuid(FBCD9C1E-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAPolicy Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAPolicy : IUnknown
+ {
+ [helpstring("method SetSecret")]
+ HRESULT SetSecret([in] TSS_FLAG SecretMode,
+ [in] UINT32 ulSecretLength,
+ [in, ptr, size_is(ulSecretLength)] BYTE* pbSecret);
+
+ [helpstring("method FlushSecret")]
+ HRESULT FlushSecret();
+
+ [helpstring("method AssignToObject")]
+ HRESULT AssignToObject([in] IUnknown* pUnkObject);
+
+ };
+
+ //ITCPAAdministration Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C24-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAAdministration Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAAdministration : IUnknown
+ {
+ [helpstring("method SelfTestFull")]
+ HRESULT SelfTestFull();
+
+ [helpstring("method GetTestResult")]
+ HRESULT GetTestResult([out] UINT32* pulTestResultLength,
+ [out, size_is(, *pulTestResultLength)] BYTE** ppbTestResult);
+
+ [helpstring("method CertifySelfTest")]
+ HRESULT CertifySelfTest([in] ITCPAKey* phKey,
+ [in, out, ptr] TSS_VALIDATION* pValidationData);
+
+ [helpstring("method CreateEndorsementKey")]
+ HRESULT CreateEndorsementKey([in] ITCPAKey* pEndorsementKey,
+ [in, out, ptr] TSS_VALIDATION* pValidation);
+
+ [helpstring("method GetPubEndorsementKey")]
+ HRESULT GetPubEndorsementKey([in] BOOL fOwnerAuthorized,
+ [in, out, ptr] TSS_VALIDATION* pValidation,
+ [out] ITCPAKey** ppEndorsementKey);
+
+ [helpstring("method TakeOwnerShip")]
+ HRESULT TakeOwnerShip([in] ITCPAKey* pKeySRK,
+ [in] ITCPAKey* pEndorsementKeyPubKey);
+
+ [helpstring("method ClearOwner")]
+ HRESULT ClearOwner([in] BOOL fForcedClear);
+
+ [helpstring("method SetStatus")]
+ HRESULT SetStatus([in] TSS_FLAG statusFlag,
+ [in] BOOL fTpmState);
+
+ [helpstring("method GetStatus")]
+ HRESULT GetStatus([in] TSS_FLAG statusFlag,
+ [out] BOOL* pfTpmState);
+
+ [helpstring("method AuthorizeMigrationTicket")]
+ HRESULT AuthorizeMigrationTicket([in] ITCPAKey* pMigrationKey,
+ [in] UINT32 MigrationScheme,
+ [out] UINT32* pulMigTicketLength,
+ [out, size_is(, *pulMigTicketLength)] BYTE** ppbMigTicket);
+ }
+
+ //ITCPAIntegrity Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C22-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAIntegrity Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAIntegrity : IUnknown
+ {
+ [helpstring("method PcrExtend")]
+ HRESULT PcrExtend([in] UINT32 ulPcrIndex,
+ [in] UINT32 ulPcrDataLength,
+ [in, size_is(ulPcrDataLength)] BYTE* pbPcrData,
+ [in, ptr] TSS_PCR_EVENT* pEventInfo,
+ [out] UINT32* pulPcrValueLength,
+ [out, size_is(, *pulPcrValueLength)] BYTE** ppbPcrValue);
+
+ [helpstring("method PcrRead")]
+ HRESULT PcrRead([in] UINT32 ulPcrIndex,
+ [out] UINT32* pulPcrValueLength,
+ [out, size_is(, *pulPcrValueLength)] BYTE** ppbPcrValue);
+
+ [helpstring("method DirWrite")]
+ HRESULT DirWrite([in] UINT32 ulDirIndex,
+ [in] UINT32 ulDirDataLength,
+ [in, size_is(ulDirDataLength)] BYTE* pbDirData);
+
+ [helpstring("method DirRead")]
+ HRESULT DirRead([in] UINT32 ulDirIndex,
+ [out] UINT32* pulDirDataLength,
+ [out, size_is(, *pulDirDataLength)] BYTE** pbDirData);
+
+ [helpstring("method Quote")]
+ HRESULT Quote([in] ITCPAKey* pIdentKey,
+ [in] ITCPAPcrs* pPcrComposite,
+ [in, out, ptr] TSS_VALIDATION* pValidation);
+ };
+
+ //ITCPAIdentityCreation Interface
+ [
+ object,
+ uuid(FBCD9C23-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAIdentityCreation Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAIdentityCreation: IUnknown
+ {
+ [helpstring("method CollateIdentityRequest")]
+ HRESULT CollateIdentityRequest([in] ITCPAKey* pKeySRK,
+ [in] ITCPAKey* pCAPubKey,
+ [in] UINT32 ulIdentityLabelLength,
+ [in, size_is(ulIdentityLabelLength)] BYTE* rgbIdentityLabelData,
+ [in] ITCPAKey* pIdentityKey,
+ [in] TSS_ALGORITHM_ID algID,
+ [out] UINT32* pulTCPAIdentityReqLength,
+ [out, size_is(, *pulTCPAIdentityReqLength)] BYTE** prgbTCPAIdentityReq);
+
+ [helpstring("method ActivateIdentity")]
+ HRESULT ActivateIdentity([in] ITCPAKey* pIdentityKey,
+ [in] UINT32 ulAsymCAContentsBlobLength,
+ [in, size_is(ulAsymCAContentsBlobLength)] BYTE* rgbAsymCAContentsBlob,
+ [in] UINT32 ulSymCAAttestationBlobLength,
+ [in, size_is(ulSymCAAttestationBlobLength)] BYTE* rgbSymCAAttestationBlob,
+ [out] UINT32* pulCredentialLength,
+ [out, size_is(, *pulCredentialLength)] BYTE** prgbCredential);
+
+ }; // end of ITCPAIdentityCreation
+
+ //ITCPAMaintenance Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C25-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAMaintenance Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAMaintenance: IUnknown
+ {
+
+// HRESULT CreateMaintenanceArchive
+// HRESULT KillMaintenanceFeature
+// HRESULT LoadMaintenancePubKey
+// HRESULT CheckMaintenancePubKey
+
+ };
+
+ //ITCPATpm Interface
+ [
+ uuid(FBCD9C21-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPATpm Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPATpm : IUnknown
+ {
+ [helpstring("method GetRandom")]
+ HRESULT GetRandom([in] UINT32 ulRandomDataLength,
+ [out, size_is(, ulRandomDataLength)] BYTE** ppbData);
+
+ [helpstring("method StirRandom")]
+ HRESULT StirRandom([in] UINT32 ulEntropyDataLength,
+ [in, size_is(ulEntropyDataLength)] BYTE* pbData);
+
+ [helpstring("method GetCapability")]
+ HRESULT GetCapability([in] TSS_FLAG CapArea,
+ [in] UINT32 ulSubCapLength,
+ [in, ptr, size_is(ulSubCapLength)] BYTE* pbSubCap,
+ [out] UINT32* pulRespDataLength,
+ [out, size_is(, *pulRespDataLength)] BYTE** ppbRespData);
+
+ [helpstring("method GetCapabilitySigned")]
+ HRESULT GetCapabilitySigned([in] ITCPAKey* pKey,
+ [in] TSS_FLAG CapArea,
+ [in] UINT32 ulSubCapLength,
+ [in, ptr, size_is(ulSubCapLength)] BYTE* pbSubCap,
+ [in, out, ptr] TSS_VALIDATION *pValidation,
+ [out] UINT32* pulRespDataLength,
+ [out, size_is(, *pulRespDataLength)] BYTE** ppbRespData);
+
+// HRESULT GetEvent
+// HRESULT GetEvents
+// HRESULT GetEventLog
+
+ };
+
+ //ITCPAPersistentStorage Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C1C-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAPersistentStorage Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAPersistentStorage: IUnknown
+ {
+ [helpstring("method LoadKeyByUUID")]
+ HRESULT LoadKeyByUUID([in] TSS_FLAG persistentStorageType,
+ [in] TSS_UUID uuidData,
+ [out] ITCPAKey** ppKey);
+
+ [helpstring("method RegisterKey")]
+ HRESULT RegisterKey([in] ITCPAKey* pKey,
+ [in] TSS_FLAG persistentStorageType,
+ [in] TSS_UUID uuidKey,
+ [in] TSS_FLAG persistentStorageTypeParent,
+ [in] TSS_UUID uuidParentKey);
+
+ [helpstring("method UnregisterKey")]
+ HRESULT UnregisterKey([in] TSS_FLAG persistentStorageType,
+ [in] TSS_UUID uuidKey,
+ [out] ITCPAKey** ppKey);
+
+ [helpstring("method DeleteKeyByUUID")]
+ HRESULT DeleteKeyByUUID([in] TSS_FLAG persistentStorageType,
+ [in] TSS_UUID uuidData);
+
+ [helpstring("method GetKeyByUUID")]
+ HRESULT GetKeyByUUID([in] TSS_FLAG persistentStorageType,
+ [in] TSS_UUID uuidData,
+ [out] ITCPAKey** ppKey);
+
+ [helpstring("method GetKeyByPublicInfo")]
+ HRESULT GetKeyByPublicInfo([in] TSS_FLAG persistentStorageType,
+ [in] TSS_ALGORITHM_ID ulAlgId,
+ [in] UINT32 ulPublicInfoLength,
+ [in, size_is(ulPublicInfoLength)] BYTE* pbPublicInfo,
+ [out] ITCPAKey** ppKey);
+
+ [helpstring("method GetRegisteredKeysByUUID")]
+ HRESULT GetRegisteredKeysByUUID([in] TSS_FLAG ulPersistentStorageType,
+ [in] LPOLESTR wszKeyGuid,
+ [out] UINT32* pulKeyHierarchySize,
+ [out, size_is(, *pulKeyHierarchySize)] TSS_KM_KEYINFO** ppKeyHierarchy);
+ }
+
+ //ITCPAContext Interface
+ [
+ local,
+ object,
+ uuid(FBCD9C1B-72CB-47BB-99DD-2317551491DE),
+
+ helpstring("ITCPAContext Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPAContext : IUnknown
+ {
+ [helpstring("method Connect")]
+ HRESULT Connect([in, ptr] LPOLESTR wszRemoteMachine);
+
+ [helpstring("method CreateObject")]
+ HRESULT CreateObject([in] UINT32 ulObjectType,
+ [in] UINT32 ulInitFlags,
+ [out] IUnknown** ppUnkObject);
+
+// HRESULT CloseObject
+
+
+ [helpstring("method LoadKeyByBlob")]
+ HRESULT LoadKeyByBlob([in] ITCPAKey* pUnwrappingKey,
+ [in] UINT32 ulBlobLength,
+ [in, size_is(ulBlobLength)] BYTE* pbBlobData,
+ [out] ITCPAKey** ppKey);
+
+ [helpstring("method GetTPMObject")]
+ HRESULT GetTPMObject([out] ITCPATpm** ppTPMObject);
+
+ [helpstring("method GetDefaultPolicy")]
+ HRESULT GetDefaultPolicy([out] ITCPAPolicy** ppPolicyObject);
+
+ [helpstring("method GetCapability")]
+ HRESULT GetCapability([in] TSS_FLAG ulCapArea,
+ [in] UINT32 ulSubCapLength,
+ [in, ptr, size_is(ulSubCapLength)] BYTE* pbSubCap,
+ [out] UINT32* pulRespDataLength,
+ [out, size_is(, *pulRespDataLength)] BYTE** ppbRespData);
+ };
+
+ //ITCPANonVolatileStorage Interface
+ [
+ object,
+ uuid(4730c51b-8998-43f6-993b-80befea1d404),
+
+ helpstring("ITCPANonVolatileStorage Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPANonVolatileStorage : IUnknown
+ {
+ [helpstring("method DefineSpace")]
+ HRESULT DefineSpace([in] ITCPAPcrs* pPCRsRead,
+ [in] ITCPAPcrs* pPCRsWrite);
+
+ [helpstring("method ReleaseSpace")]
+ HRESULT ReleaseSpace();
+
+ [helpstring("method WriteValue")]
+ HRESULT WriteValue([in] UINT32 ulOffset,
+ [in] UINT32 ulDataLength,
+ [in, size_is(ulDataLength)] BYTE* rgbData);
+
+ [helpstring("method ReadValue")]
+ HRESULT ReadValue([in] UINT32 ulOffset,
+ [in, out] UINT32* pulDataLength,
+ [out, size_is(, *pulDataLength)] BYTE** prgbData);
+ };
+
+ //ITCPATransport Interface
+ [
+ object,
+ uuid(4730c51d-8998-43f6-993b-80befea1d404),
+
+ helpstring("ITCPATransport Interface"),
+ pointer_default(unique)
+ ]
+ interface ITCPATransport : IUnknown
+ {
+ [helpstring("method SetTransEncryptionKey")]
+ HRESULT SetTransEncryptionKey([in] ITCPAKey* pKey);
+
+ [helpstring("method CloseSignTransport")]
+ HRESULT CloseSignTransport([in] ITCPAKey* pSigningKey,
+ [in, out, ptr] TSS_VALIDATION* pValidationData);
+ };
+
+[
+ uuid(FBCD9C19-72CB-47BB-99DD-2317551491DE),
+ version(1.0),
+ helpstring("TSS Service Provider 1.0 Type Library")
+]
+library TSPLib
+{
+ importlib("stdole32.tlb");
+ importlib("stdole2.tlb");
+
+ interface ITCPAContext;
+ //TCPAContext Class
+ [
+ uuid(FBCD9C1A-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPAContext Class")
+ ]
+ coclass TCPAContext
+ {
+ [default] interface ITCPAContext;
+ interface ITCPAAttrib;
+ interface ITCPAPersistentStorage;
+ };
+
+ //TCPAContext2 Class extensions for TSS v1.2
+ [
+ uuid(4730C51E-8998-43F6-993B-80BEFEA1D404),
+ helpstring("TCPAContext2 Class")
+ ]
+ coclass TCPAContext2
+ {
+ [default] interface ITCPAContext;
+ interface ITCPAAttrib;
+ interface ITCPAPersistentStorage;
+ interface ITCPATransport;
+ };
+
+ // _ITCPACallback Interface for TCPAPolicy Class
+ [
+ uuid(FBCD9C1F-72CB-47BB-99DD-2317551491DE),
+ helpstring("_ITCPACallback Interface"),
+ pointer_default(unique)
+ ]
+ interface _ITCPACallback : IUnknown
+ {
+ [helpstring("method Tspicb_CallbackHMACAuth"), callback]
+ HRESULT Tspicb_CallbackHMACAuth([in] UINT32 PulAppData,
+ [in] IUnknown *PpAuthorizedObject,
+ [in] BOOL PfReturnOrVerify,
+ [in] UINT32 PulPendingFunction,
+ [in] BOOL PfContinueUse,
+ [in] UINT32 PulSizeNonces,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceEven,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceOdd,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceEvenOSAP,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceOddOSAP,
+ [in] UINT32 PulSizeDigestHmac,
+ [in, size_is(PulSizeDigestHmac)] BYTE* PrgbParamDigest,
+ [in, out, size_is(PulSizeDigestHmac)] BYTE* PrgbHmacData);
+
+ [helpstring("method Tspicb_CallbackXorEnc"), callback]
+ HRESULT Tspicb_CallbackXorEnc([in] UINT32 PulAppData,
+ [in] IUnknown *PpOSAPObject,
+ [in] IUnknown *PpObject,
+ [in] BOOL PfPurposeSecret,
+ [in] UINT32 PulSizeNonces,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceEven,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceOdd,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceEvenOSAP,
+ [in, size_is(PulSizeNonces)] BYTE* PrgbNonceOddOSAP,
+ [in] UINT32 PulSizeEncAuth,
+ [out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuthUsage,
+ [out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuthMigration);
+
+ [helpstring("method Tspicb_CallbackTakeOwnership"), callback]
+ HRESULT Tspicb_CallbackTakeOwnership([in] UINT32 PulAppData,
+ [in] IUnknown *PpObject,
+ [in] IUnknown *PpObjectPubKey,
+ [in] UINT32 PulSizeEncAuth,
+ [out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuth );
+
+ [helpstring("method Tspicb_CallbackChangeAuthAsym"), callback]
+ HRESULT Tspicb_CallbackChangeAuthAsym([in] UINT32 PulAppData,
+ [in] IUnknown *PpObject,
+ [in] IUnknown *PpObjectPubKey,
+ [in] UINT32 PulSizeEncAuth,
+ [in] UINT32 PulSizeAuthLink,
+ [out, size_is(PulSizeEncAuth)] BYTE* PrgbEncAuth,
+ [out, size_is(PulSizeAuthLink)] BYTE* PrgbAuthLink);
+ }; // end of _ITCPACallback
+
+ //TCPAPolicy Class
+ [
+ uuid(FBCD9C1D-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPAPolicy Class"),
+ noncreatable
+ ]
+
+ coclass TCPAPolicy
+ {
+ [default] interface ITCPAPolicy;
+ interface ITCPAAttrib;
+ [default, source] interface _ITCPACallback;
+ };
+
+ //TCPATpm Class
+ [
+ uuid(FBCD9C20-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPATpm Class"),
+ noncreatable
+ ]
+ coclass TCPATpm
+ {
+ [default] interface ITCPATpm;
+ interface ITCPAAttrib;
+ interface ITCPAAuth;
+ interface ITCPAIntegrity;
+ interface ITCPAAdministration;
+ interface ITCPAIdentityCreation;
+ interface ITCPAMaintenance;
+ };
+
+ //TCPAKey Class
+ [
+ uuid(FBCD9C26-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPAKey Class"),
+ noncreatable
+ ]
+ coclass TCPAKey
+ {
+ [default] interface ITCPAKey;
+ interface ITCPAAttrib;
+ interface ITCPAAuth;
+ interface ITCPAMigration;
+ };
+
+ //TCPAEncData Class
+ [
+ uuid(FBCD9C28-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPAEncData Class"),
+ noncreatable
+ ]
+ coclass TCPAEncData
+ {
+ [default] interface ITCPAEncData;
+ interface ITCPAAttrib;
+ interface ITCPAAuth;
+ };
+
+ //TCPAHash Class
+ [
+ uuid(FBCD9C2A-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPAHash Class"),
+ noncreatable
+ ]
+ coclass TCPAHash
+ {
+ [default] interface ITCPAHash;
+ interface ITCPAAttrib;
+ };
+
+ //TCPAPcrs Class
+ [
+ uuid(FBCD9C2C-72CB-47BB-99DD-2317551491DE),
+ helpstring("TCPAPcrs Class"),
+ noncreatable
+ ]
+ coclass TCPAPcrs
+ {
+ [default] interface ITCPAPcrs;
+ };
+
+ //TCPANonVolatileStorage Class
+ [
+ uuid(4730c51c-8998-43f6-993b-80befea1d404),
+ helpstring("TCPANonVolatileStorage Class"),
+ noncreatable
+ ]
+ coclass TCPANonVolatileStorage
+ {
+ [default] interface ITCPANonVolatileStorage;
+ interface ITCPAAttrib;
+ interface ITCPAAuth;
+ };
+
+}; // end of library TSPLib
|