⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsp.idl

📁 TCG软件栈 linux系统上使用 为可信应用软件提供和 TPM通信的 接口 其网站上有很多关于使用此软件的测试用例
💻 IDL
📖 第 1 页 / 共 2 页
字号:
        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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -