2018可信計算TCM服務(wù)模塊接口規(guī)范_第1頁
2018可信計算TCM服務(wù)模塊接口規(guī)范_第2頁
2018可信計算TCM服務(wù)模塊接口規(guī)范_第3頁
2018可信計算TCM服務(wù)模塊接口規(guī)范_第4頁
2018可信計算TCM服務(wù)模塊接口規(guī)范_第5頁
已閱讀5頁,還剩183頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

可信計算TCM服務(wù)模塊接口規(guī)范TrustedcomputingTCMservicemoduleinterfacespecificationGM/T0058-2018GM/T0058-2018GM/T0058-2018GM/T0058-2018GM/T0058-2018IIIIII目 次前言 III范圍 1規(guī)性用件 1術(shù)和義 1縮語 3軟架構(gòu) 4TCM應(yīng)服務(wù) 5定義 5與象關(guān)系 67通接口 7上文理 11管策類 25TCM管類 30密管類 52數(shù)加密類 64PCR操類 72NV存管類 76雜計類 82鑰商類 89調(diào)數(shù)類 92TCM核服務(wù) 96TCM心務(wù)理 96上文理 96密管理 99事管理 103信碼塊理 105TCM測試 105工模設(shè)置 106所者理 109屬管理 112升與護(hù) 113授管理 114非失存管理 1167.2.8審計 1207.2.9時鐘 1227.2.10數(shù)器 123臺份識認(rèn)證 126密模密管理 126平身密管理 129臺據(jù)護(hù) 132數(shù)保操作 132密管理 134密協(xié)商 138密遷移 141密學(xué)務(wù) 143傳會話 146授協(xié)議 149整度與告 150平配寄器理 150TDDL備動庫 153TDDL架構(gòu) 153TDDL內(nèi)管理 153TDDL錯碼定義 153TDDL接口 1538.4.1Tddli_Open1538.4.2Tddli_Close1548.4.3Tddli_Cancel1548.4.4Tddli_GetCapability1558.4.5Tddli_SetCapability1568.4.6Tddli_GetStatus1578.4.7Tddli_TransmitData157附錄A(規(guī)范性附錄)接口數(shù)據(jù)結(jié)構(gòu)159礎(chǔ)義 159據(jù)構(gòu) 176權(quán)據(jù)理 181回定義 181GM/T0058-2018GM/T0058-2018GM/T0058-2018GM/T0058-2018PAGEPAGE101PAGEPAGE100可信計算TCM服務(wù)模塊接口規(guī)范范圍TSPTCS和TDDLTCMTCMGB/T32905-2016SM3GB/T32907-2016SM4GB/T32918.2-2016SM2橢圓曲線公鑰密碼算法第2部分:數(shù)字簽名算法GB/T32918.4-2016SM2橢圓曲線公鑰密碼算法第4部分:公鑰加密算法GM/T0005-2012隨機(jī)性檢測規(guī)范GM/T0009-2012SM2密碼算法使用規(guī)范GM/T0015-2012基于SM2密碼算法的數(shù)字證書格式規(guī)范以下術(shù)語和定義適用于本文件。3.1部件component計算系統(tǒng)中可被度量的硬件和/或軟件模塊。3.2存儲主密鑰storagemasterkey用于保護(hù)平臺身份密鑰和用戶密鑰的主密鑰,是可信存儲根的一種實(shí)現(xiàn)形式。3.3對象object可信計算密碼支撐平臺內(nèi)可以被實(shí)體訪問的各類資源,包括密鑰數(shù)據(jù)、運(yùn)行環(huán)境數(shù)據(jù)、敏感數(shù)據(jù)等。3.4可信計算平臺trustedcomputingplatform構(gòu)建在計算系統(tǒng)中,用于實(shí)現(xiàn)可信計算功能的支撐系統(tǒng)。3.5可信計算密碼支撐平臺cryptographicsupportplatformfortrustedcomputing3.6可信報告trustreport一種用于標(biāo)識平臺身份、平臺配置和平臺證明的報告。3.7可信度量根rootofrrustformeasurement一個可信的完整性度量單元,是可信計算平臺內(nèi)進(jìn)行可信度量的基礎(chǔ)。3.8可信存儲根rootoftrustforstorage是一種通用安全機(jī)制,是可信計算平臺內(nèi)進(jìn)行可信存儲的基礎(chǔ)。3.9可信報告根rootoftrustforreporting指密碼模塊密鑰,是可信計算平臺內(nèi)進(jìn)行可信報告的基礎(chǔ)。3.10可信密碼模塊trustedcryptographymodule是可信計算平臺的硬件模塊,為可信計算平臺提供密碼運(yùn)算功能,具有受保護(hù)的存儲空間。3.11TCM服務(wù)模塊tcmservicemodule可信計算密碼支撐平臺內(nèi)部的軟件模塊,為對平臺外部提供訪問可信密碼模塊的軟件接口。3.12可信方trustedparty提供可信證明的機(jī)構(gòu),包含可信第三方和主管方。3.13密碼模塊密鑰tcmdndorsementkey可信密碼模塊的背書密鑰。3.14密鑰管理中心keymanagementcentre用于密鑰生成和管理的軟硬件系統(tǒng)。3.15平臺配置寄存器platformconfigurationregister可信密碼模塊內(nèi)部用于存儲平臺配置值的存儲單元。3.16平臺身份密鑰platformidentitykey可信密碼模塊的身份密鑰。3.17平臺加密密鑰platformencryptionkey可信密碼模塊中與平臺身份密鑰關(guān)聯(lián)的加密密鑰。3.18雙證書dualcertificate包括簽名證書和加密證書,分別用于簽名和數(shù)據(jù)加密,由可信方一同簽發(fā)。3.19實(shí)體entity訪問密碼支撐平臺資源的應(yīng)用程序和用戶。3.20完整性度量integritymeasurement使用密碼雜湊算法對被度量對象計算其雜湊值的過程。3.21完整性度量值integritymeasurementvalue部件被度量后得到的雜湊值。3.22完整性基準(zhǔn)值predefinedintegrityvalue部件在可信狀態(tài)下被度量得到的雜湊值。該值可作為完整性校驗(yàn)的基準(zhǔn)。3.23信任鏈trustedchain在計算系統(tǒng)啟動和運(yùn)行過程中,使用完整性度量方法在部件之間所建立的信任傳遞關(guān)系??s略語下列縮略語適用于本文件。EK (TCMEndorsementKey)HMAC 密的息碼算(thekeyed-hashmessageauthenticationcode)NV 易性(Non-Volatility)PCR 臺置存(PlatformConfigurationRegister)PEK 臺密密鑰(PlatformEncryptionKey)PIK 臺份鑰(PlatformIdentityKey)SMK 儲密(StorageMasterKey)TCM (TrustedCryptographyModule)TSM TCM服模(TCMservicemodule)TSP TCM應(yīng)服(TCMServiceTCS TCM核服(TCMCoreServices)TDD TCM設(shè)驅(qū)動(TCMDeviceDriver)TDDL TCM(TCMDeviceDriverLibrary)TDDLITCM(TCMDeviceDriverLibraryInterface)TCM服務(wù)模塊軟件架構(gòu)如圖1所示,包括TCM應(yīng)用服務(wù)、TCM核心服務(wù)和TCM設(shè)備驅(qū)動庫三個組成部分。圖1TCM服務(wù)模塊軟件架構(gòu)圖TCMTCMServiceProvider:TSP)TSPTCMTCMTSPTCMTSPTCMTSPTSP。TSP一個TSM的執(zhí)行需要有TSP:CWindowsTSMCOMTCMTCMCoreServices:TCS)TCSTSMTSPTCM(TDDL)TCMTCS按功能的不同可分為:11TCSTCMTCM(TDDL)TDDLTCM(TCS)TCM(TDD)TDDI/O本標(biāo)準(zhǔn)以C語言為例編制相關(guān)函數(shù)、接口進(jìn)行說明。TCM類定義TCM應(yīng)用服務(wù)定義如下類:(Contextclass)TSMPolicyclass)策略管理類用于為不同用戶應(yīng)用程序配置相應(yīng)的安全策略與行為。(。c)TCMTCMclass)TCMTCMTCMPCTCMTCMKeyclass)TSMTSM(EncryptedDataclass)(CR綁定進(jìn)行授權(quán)處理時,可以給該類分配一個策略對象。f)PCR操作類(PCRCompositeclass)PCRPCRPCR(NVStoreclass)NVTCMNVNVPCRLocality。h)雜湊計算類(Hashclass)雜湊計算類為數(shù)字簽名操作提供了一種密碼學(xué)安全的方法。i)密鑰協(xié)商類(ExchangeKeyclass)密鑰協(xié)商類用于執(zhí)行密鑰交換協(xié)議操作。PCR2TCMNV。圖2安全策略與工作對象之間的關(guān)系圖3非授權(quán)工作對象在非授權(quán)工作對象中,可以創(chuàng)建多個PCR組合對象和雜湊對象。圖4需授權(quán)的工作對象之間關(guān)系TCMTCM。接口Tspi_SetAttribUint32功能描述:本函數(shù)設(shè)置對象的32-bit屬性。如果請求的數(shù)據(jù)長度小于UINT32,必須將數(shù)據(jù)轉(zhuǎn)換成32-bit長度的數(shù)據(jù)。接口定義:TSM_RESULTTspi_SetAttribUint32(TSM_HOBJECThObject,//inTSM_FLAGattribFlag,//inTSM_FLAGsubFlag,//inUINT32ulAttrib//in);輸入?yún)?shù)描述:——hObject ——attribFlag需要設(shè)置的屬性標(biāo)記?!猻ubFlag ——ulAttrib ——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_GetAttribUint3232-bitTSM_RESULTTspi_GetAttribUint32(TSM_HOBJECThObject,//inTSM_FLAGattribFlag,//inTSM_FLAGsubFlag,//inUINT32*pulAttrib//out);輸入?yún)?shù)描述:——hObject ——attribFlag需要查詢的屬性標(biāo)記?!猻ubFlag ——pulAttrib指向查詢到的屬性值。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_SetAttribData32-bitTSM_RESULTTspi_SetAttribData(TSM_HOBJECThObject,//inTSM_FLAGattribFlag,//inTSM_FLAGsubFlag,//inUINT32ulAttribDataSize,//inBYTE*rgbAttribData//in);輸入?yún)?shù)描述:——hObject ——attribFlag ——subFlag ——ulAttribDataSize prgbAttribData(?!猺gbAttribData ——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_GetAttribData功能描述:32-bitTspi_Context_FreeMemory接口定義:TSM_RESULTTspi_GetAttribData(TSM_HOBJECT hObject, //TSM_FLAG attribFlag, //TSM_FLAG subFlag, //inUINT32* pulAttribDataSize,//outBYTE** prgbAttribData //out);輸入?yún)?shù)描述:——hObject ——attribFlag需要獲取的屬性標(biāo)記?!猻ubFlag ——pulAttribDataSize rgbAttribData(rgbAttribData為一個TSM_UNICODE字符串,則該大小還包括結(jié)束符NULL?!猵rgbAttribData TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_ChangeAuth功能描述:接口定義:TSM_RESULTTspi_ChangeAuth(TSM_HOBJECThObjectToChange,//inTSM_HOBJECThParentObject,//inTSM_HPOLICYhNewPolicy//in);輸入?yún)?shù)描述:——hObjectToChange ——hParentObject ——hNewPolicy ——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_GetPolicyObject功能描述:返回當(dāng)前工作對象的策略。接口定義:TSM_RESULTTspi_GetPolicyObject(TSM_HOBJECThObject,//inTSM_FLAGpolicyType,//inTSM_HPOLICY*phPolicy//out);輸入?yún)?shù)描述:——hObject ——policyTypet ——phPolicy TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_CreateTSM_RESULTTspi_Context_Create(TSM_HCONTEXT* phContext //out);輸入?yún)?shù)描述:——無。輸出參數(shù)描述:——phContext TSM_SUCCESSTSM_E_INTERNAL_ERRORTspi_Context_CloseTSM_RESULTTspi_Context_Close(TSM_HCONTEXT hContext //in);——hContext ——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_SetAttribUint32()功能描述:2-bitUIN332-it接口定義:TSM_RESULTTspi_SetAttribUint32(TSM_HOBJECThObject,//inTSM_FLAGattribFlag,//inTSM_FLAGsubFlag,//inUINT32ulAttrib//in);輸入?yún)?shù)描述:——hObject ——attribFlag需要設(shè)置的屬性標(biāo)記?!猻ubFlag ——ulAttrib 1。表1屬性說明屬性子屬性屬性值描述TSM_TSPATTRIB_CONTEXT_SILENT_MODETSM_TSPATTRIB_CONTEXT_NOT_SILENT顯示協(xié)議接口的對話窗口TSM_TSPATTRIB_CONTEXT_SILENT不顯示協(xié)議接口對話窗口(默認(rèn))TSM_TSPATTRI_SECRET_HASH_MODETSM_TSPATTRIB_SECRET_HASH_MODE_POPUPTSM_TSPATTRIB_HASH_MODE_NOT_NULL對于不包括其他數(shù)據(jù)授權(quán)密碼進(jìn)行雜湊計算TSM_TSPATTRIB_HASH_MODE_NULL對于包括其他數(shù)據(jù)授權(quán)密碼進(jìn)行雜湊計算輸出參數(shù)描述:——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_GetAttribUint32()32-bitTSM_RESULTTspi_GetAttribUint32(TSM_HOBJECT hObject, //TSM_FLAG attribFlag,//TSM_FLAG subFlag, //inUINT32* pulAttrib //out);輸入?yún)?shù)描述:——hObject ——attribFlag需要查詢的屬性標(biāo)記?!猻ubFlag 。表2屬性說明屬性子屬性屬性值描述TSM_TSPATTRIB_CONTEXT_SILENT_MODETSM_TSPATTRIB_CONTEXT_NOT_SILENT顯示協(xié)議接口的對話窗口TSM_TSPATTRIB_CONTEXT_SILENT不顯示協(xié)議接口對話窗口(默認(rèn))TSM_TSPATTRI_SECRET_HASH_MODETSM_TSPATTRIB_SECRET_HASH_MODE_POPUPTSM_TSPATTRIB_HASH_MODE_NOT_NULL對于不包括其他數(shù)據(jù)授權(quán)密碼進(jìn)行雜湊計算TSM_TSPATTRIB_HASH_MODE_NULL對于包括其他數(shù)據(jù)授權(quán)密碼進(jìn)行雜湊計算輸出參數(shù)描述:——pulAttrib指向查詢到的屬性值。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_SetAttribData32-bitTSM_RESULTTspi_SetAttribData(TSM_HOBJECThObject,//inTSM_FLAGattribFlag,//inTSM_FLAGsubFlag,//inUINT32ulAttribDataSize,//inBYTE*rgbAttribData//in);輸入?yún)?shù)描述:——hObject ——attribFlag ——subFlag ——ulAttribDataSize prgbAttribData()——rgbAttribData ——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_GetAttribData功能描述:32-bitTspi_Context_FreeMemory接口定義:TSM_RESULTTspi_GetAttribData(TSM_HOBJECT hObject, //inTSM_FLAG attribFlag, //inTSM_FLAG subFlag, //inUINT32* pulAttribDataSize,//outBYTE** prgbAttribData //out);輸入?yún)?shù)描述:——hObject ——attribFlag需要獲取的屬性標(biāo)記?!猻ubFlag ——pulAttribDataSize rgbAttribData(rgbAttribData為一個TSM_UNICODE字符串,則該大小還包括結(jié)束符NULL?!猵rgbAttribData 3。表3屬性說明屬性子屬性屬性值TSM_TSPATTRIB_CONTEXT_MACHINE_NAME0提供TSM結(jié)束的TSM_UNICODE返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_Connect與TCS,TCSTSM_RESULTTspi_Context_Connect(TSM_HCONTEXT hContext, //inTSM_UNICODE* wszDestination//in);輸入?yún)?shù)描述:——hContext ——wszDestination標(biāo)識連接到的遠(yuǎn)程服務(wù)(以null結(jié)束),NULL代表連接本地服務(wù)。輸出參數(shù)描述:——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_NO_CONNECTIONTSM_E_INTERNAL_ERRORTspi_Context_FreeMemoryTSPTSM_RESULTTspi_Context_FreeMemory(TSM_HCONTEXThContext,//inBYTE*rgbMemory//in);輸入?yún)?shù)描述:——hContext上下文對象句柄?!猺gbMemory上下文對象內(nèi)存指針。若為NULL,則與該上下文對象綁定的內(nèi)存塊已經(jīng)釋放。輸出參數(shù)描述:——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTSM_E_INVALID_RESOURCETspi_Context_GetDefaultPolicyTSM_RESULTTspi_Context_GetDefaultPolicy(TSM_HCONTEXThContext,//inTSM_HPOLICY*phPolicy//out);——hContext——phPolicy返回上下文對象的策略對象句柄。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_Context_CreateObject功能描述:創(chuàng)建并初始化一個指定類型的空對象,返回該對象的句柄。該空對象將與一個已經(jīng)打開的上下文對象相關(guān)聯(lián)。接口定義:TSM_RESULTTspi_Context_CreateObject(TSM_HCONTEXThContext,//inTSM_FLAGobjectType,//inTSM_FLAGinitFlags,//inTSM_HOBJECT*phObject//out);輸入?yún)?shù)描述:——hContext ——objectType要創(chuàng)建的對象類型標(biāo)識?!猧nitFlags ——phObject返回所創(chuàng)建的對象。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_OBJECT_TYPETSM_E_INVALID_OBJECT_INIT_FLAGTSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTSM_E_ENC_INVALID_TYPETSM_E_HASH_INVALID_ALG說明:對象類型定義見附錄A.1.2.1對象初始化定義見附錄Tspi_Context_CloseObjectTSM_RESULTTspi_Context_CloseObject(TSM_HCONTEXThContext,//inTSM_HOBJECThObject//in);輸入?yún)?shù)描述:——hContext上下文對象句柄。——phObject要釋放的對象句柄。輸出參數(shù)描述:——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_Context_GetCapability獲取TSM性能TSM_RESULTTspi_Context_GetCapability(TSM_HCONTEXT hContext, //inTSM_FLAG capArea, //inUINT32 ulSubCapLength, //inBYTE* rgbSubCap, //inUINT32* pulRespDataLength,//outBYTE** prgbRespData //out);輸入?yún)?shù)描述:——hContext ——capArea ——ulSubCapLength子屬性的長度參數(shù)?!猺gbSubCap 4。表4屬性說明屬性標(biāo)記子屬性標(biāo)記數(shù)據(jù)描述TSM_TCSCAP_ALGTSM_ALG_XX:代表支持的算法名稱BOOL返回:TRUE代表系統(tǒng)服務(wù)支持該算法,F(xiàn)ALSE代表不支持TSM_TCSCAP_VERSION從系統(tǒng)服務(wù)獲取TSM_VERSION結(jié)構(gòu)說明數(shù)據(jù)TSM_TCSCAP_CACHINGTSM_TCSCAP_PROP_KEYCACHEBOOL返回:TRUE說明系統(tǒng)服務(wù)支持密鑰緩存;FALSE說明不支持.TSM_TCSCAP_CACHINGTSM_TCSCAP_PROP_AUTHCACHEBOOL返回:TRUE說明系統(tǒng)服務(wù)支持授權(quán)協(xié)議緩存;FALSE說明不支持TSM_TCSCAP_PERSSTORAGEBOOL返回:TRUE說明系統(tǒng)服務(wù)支持永久存儲;FALSE說明不支持TSM_TSPCAP_ALGTSM_ALG_DEFAULT返回默認(rèn)算法TSM_TSPCAP_ALGTSM_ALG_DEFAULT_SIZE返回默認(rèn)密鑰長度TSM_TSPCAP_ALGTSM_ALG_XX:代表支持的算法名稱BOLTUEFLE代表不支持屬性標(biāo)記子屬性標(biāo)記數(shù)據(jù)描述TSM_TSPCAP_VERSION獲取TSM版本TSM_TSPCAP_PERSSTORAGEBOOL說明不支持TSM_TCSCAP_MANUFACTURERTSM_TCSCAP_PROP_MANUFACTURER_IDUINT32返回:說明系統(tǒng)服務(wù)廠商TSM_TCSCAP_PROP_MANUFACTURER_STR返回系統(tǒng)服務(wù)廠商名稱TSM_TSPCAP_MANUFACTURERTSM_TSPCAP_PROP_MANUFACTURER_IDUINT32返回:說明TSM廠商TSM_TSPCAP_PROP_MANUFACTURER_STR返回TSM廠商名稱TSM_TSPCAP_RETURNVALUE_INFOTSM_TSPCAP_PROP_RETURNVALUE_INFO0說明采用ASN.1編碼,1說明采用字節(jié)流輸出參數(shù)描述:——pulRespDataLength ——prgbRespData TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_GetTCMObject獲取TCMTCMTCMTSM_RESULTTspi_Context_GetTcmObject(TSM_HCONTEXThContext,//inTSM_HTCM*phTCM//out);——hContext——phTCM返回獲取的TCM類對象句柄。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_LoadKeyByBlob功能描述:根據(jù)keyblobTCMhUnwrappingKeyblobhUnwrappingKeyTCM內(nèi)。接口定義:TSM_RESULTTspi_Context_LoadKeyByBlob(TSM_HCONTEXThContext,//inTSM_HKEYhUnwrappingKey,//inUINT32ulBlobLength,//inBYTE*rgbBlobData,//inTSM_HKEY*phKey//out);輸入?yún)?shù)描述:——hContext ——hUnwrappingKey rgbBlobData——ulBlobLength (?!猺gbBlobData ——phKey KeyTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_LoadKeyByUUID功能描述:密鑰管理器根據(jù)UUID獲取密鑰信息,填充密鑰對象,并將密鑰加載到TCM中。加載密鑰時所需的父密鑰信息可從永久性存儲器獲得。使用此命令時,需要考慮父密鑰的授權(quán)要求:aTspi_Context_LoadKeyByUUID()b)如果有一個密鑰需要授權(quán),并且應(yīng)用程序知道密鑰緩存信息,則應(yīng)用程序必須通過調(diào)用函數(shù)Tspi_Context_GetKeyByUUID()從密鑰庫中獲得密鑰信息,并為其指派策略后,用Tspi_Key_LoadKey()加載密鑰。c)如果有一個密鑰需要授權(quán),并且應(yīng)用程序不知道密鑰緩存信息,則應(yīng)用程序必須通過調(diào)用Tspi_Context_GetRegisteredKeysByUUID()從密鑰庫中獲取密鑰緩存信息。然后為其指派策略,用Tspi_Key_LoadKey()加載密鑰。接口定義:TSM_RESULTTspi_Context_LoadKeyByUUID(TSM_HCONTEXT hContext, //TSM_FLAG persistentStorageType,//TSM_UUID uuidData, //inTSM_HKEY* phKey //out);輸入?yún)?shù)描述:——hContext ——persistentStorageType TCSTSP——uuidData UUID——phKey TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_PS_KEY_NOTFOUNDTSM_E_INTERNAL_ERRORTspi_Context_RegisterKeyTSPTSM_RESULTTspi_Context_RegisterKey(TSM_HCONTEXThContext,//inTSM_HKEYhKey,//inTSM_FLAGpersistentStorageType,//inTSM_UUIDuuidKey,//inTSM_FLAG persistentStorageTypeParent,//inTSM_UUID uuidParentKey //out);輸入?yún)?shù)描述:——hContext ——hKey Tspi_SetAttribData——persistentStorageType TCSTSP中?!猽uidKey UUID?!猵ersistentStorageTypeParentTCSTSP——uuidParentKey父密鑰的UUID返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_PS_KEY_NOTFOUNDTSM_E_INTERNAL_ERRORTspi_Context_UnregisterKeyTSPTSM_RESULTTspi_Context_UnregisterKey(TSM_HCONTEXT hContext, //TSM_FLAG persistentStorageType,//TSM_UUID uuidKey, //inTSM_HKEY* phkey, //out);輸入?yún)?shù)描述:——hContext ——persistentStorageType (TCSTSP)——uuidKey UUID——phKey TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_PS_KEY_NOTFOUNDTSM_E_INTERNAL_ERRORTSM_E_BAD_PARAMETER注:注銷密鑰時不需要驗(yàn)證授權(quán)信息Tspi_Context_GetKeyByUUID利用UUIDTSM_RESULTTspi_Context_GetKeyByUUID(TSM_HCONTEXT hContext, //TSM_FLAG persistentStorageType,//TSM_UUID uuidData, //inTSM_HKEY* phKey //out);輸入?yún)?shù)描述:——hContext ——persistentStorageType (TCSTSP)——uuidData UUID——phKey TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_PS_KEY_NOTFOUNDTSM_E_INTERNAL_ERRORTspi_Context_GetKeyByPublicInfo功能描述:接口定義:TSM_RESULTTspi_Context_GetKeyByPublicInfo(TSM_HCONTEXThContext, //TSM_FLAG persistentStorageType,//TSM_ALGORITHM_IDalgld, //UINT32 ulPublicInfoLength,//BYTE* rgbPublicInfo,//inTSM_HKEY* phKey //out);輸入?yún)?shù)描述:——hContext ——persistentStorageType ——algld ——ulPublicInfoLength rgbPublicInfo(?!猺gbPublicInfo ——phKey TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_PS_KEY_NOTFOUNDTSM_E_INTERNAL_ERRORTspi_Context_GetRegisteredKeysByUUID功能描述:獲取一個TSM_KM_KEYINFO結(jié)構(gòu)的數(shù)組,該數(shù)組反映注冊密鑰的層次信息。注:調(diào)用方需要調(diào)用Tspi_Context_FreeMemory()方法來釋放本函數(shù)分配的內(nèi)存。接口定義:TSM_RESULTTspi_Context_GetRegisteredKeysByUUID(TSM_HCONTEXThContext,//inTSM_FLAGpersistentStorageType,//inTSM_UUID*pUuidData,//inUINT32*pulKeyHierarchySize,//outTSM_KM_KEYINFO**ppKeyHierarchy //out);輸入?yún)?shù)描述:——hContext ——persistentStorageType (TCSTSP)——pUuidDat UUIDNULLUUIDSMK輸出參數(shù)描述:——pulKeyHierarchySize ppKeyHierarchy(?!猵pKeyHierarchy ppKeyHierarchy數(shù)據(jù)的緩沖區(qū)。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_SetTransEncryptionKeyTSM_RESULTTspi_Context_SetTransEncryptionKey(TSM_HCONTEXThContext,//inTSM_HKEYhKey//in);輸入?yún)?shù)描述:——hContext ——hKey ——無返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Context_CloseTransportTSM_RESULTTspi_Context_CloseTransport(TSM_HCONTEXT hContext, //in);輸入?yún)?shù)描述:——hContext上下文對象句柄。輸出參數(shù)描述:——無返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERROR注:傳輸會話接口請見下文7.4.6章節(jié)的詳細(xì)說明Tspi_SetAttribUint322-btUIT3TSM_RESULTTspi_SetAttribUint32(TSM_HOBJECT hObject, //TSM_FLAG attribFlag,//TSM_FLAG subFlag, //inUINT32 ulAttrib //in);輸入?yún)?shù)描述:——hObject ——attribFlag需要設(shè)置的屬性標(biāo)記?!猻ubFlag ——ulAttrib 5。表5屬性說明屬性標(biāo)識子屬性標(biāo)識數(shù)據(jù)描述TSM_TSPATTRIB_POLICY_CALLBACK_HMAC應(yīng)用程序提供TSM_TSPATTRIB_POLICY_CALLBACK_TAKEOWNERSHIP應(yīng)用程序提供TSM_TSPATTRIB_POLICY_SECRET_LIFETIMETSM_TSPATTRIB_POLSECRET_LIFETI授權(quán)數(shù)據(jù)將一直有效屬性標(biāo)識子屬性標(biāo)識數(shù)據(jù)描述ME_ALWAYSTSM_TSPATTRIB_POLSECRET_LIFETIME_COUNTER授權(quán)數(shù)據(jù)能夠被使用的次數(shù)TSM_TSPATTRIB_POLSECRET_LIFETIME_TIMER授權(quán)數(shù)據(jù)能夠被使用秒數(shù)TSM_TSPATTRIB_SECRET_HASH_MODETSM_TSPATTRIB_SECRET_HASH_MODE_POPUPTSM_TSPATTRIB_HASH_MODE_NULL(默認(rèn))TSM_TSPATTRIB_HASH_MODE_NOT_NULL輸出參數(shù)描述:——無返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_GetAttribUint322-btUIT3TSM_RESULTTspi_GetAttribUint32(TSM_HOBJECT hObject, //TSM_FLAG attribFlag,//TSM_FLAG subFlag, //inUINT32* pulAttrib //out);輸入?yún)?shù)描述:——hObject ——attribFlag需要獲取的屬性標(biāo)記?!猻ubFlag 6。表6屬性說明屬性標(biāo)識子屬性標(biāo)識數(shù)據(jù)描述TSM_TSPATTRIB_POLICY_CALLBACK_HMAC應(yīng)用程序提供屬性標(biāo)識子屬性標(biāo)識數(shù)據(jù)描述TSM_TSPATTRIB_POLICY_CALLBACK_TAKEOWNERSHIP應(yīng)用程序提供TSM_TSPATTRIB_POLICY_SECRET_LIFETIMETSM_TSPATTRIB_POLSECRET_LIFETIME_ALWAYS授權(quán)數(shù)據(jù)將一直有效TSM_TSPATTRIB_POLSECRET_LIFETIME_COUNTER授權(quán)數(shù)據(jù)能夠被使用的次數(shù)TSM_TSPATTRIB_POLSECRET_LIFETIME_TIMER授權(quán)數(shù)據(jù)能夠被使用秒數(shù)TSM_TSPATTRIB_SECRET_HASH_MODETSM_TSPATTRIB_SECRET_HASH_MODE_POPUPTSM_TSPATTRIB_HASH_MODE_NULL(默認(rèn))TSM_TSPATTRIB_HASH_MODE_NOT_NULL輸出參數(shù)描述:——pulAttrib TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_SetAttribData32-bitTSM_RESULTTspi_SetAttribData(TSM_HOBJECThObject,//inTSM_FLAGattribFlag,//inTSM_FLAGsubFlag,//inUINT32ulAttribDataSize,//inBYTE*rgbAttribData//in);輸入?yún)?shù)描述:——hObject ——attribFlag——subFlags 。表7屬性說明屬性標(biāo)識子屬性標(biāo)識數(shù)據(jù)描述TSM_TSPATTRIB_POLICY_CALLBACK_HMAC應(yīng)用程序提供TSM_TSPATTRIB_POLICY_CALLBACK_TAKEOWNERSHIP應(yīng)用程序提供TSM_TSPATTRIB_POLICY_POPUPSTRING0POPUP窗口的字符串——ulAttribDataSize rgbAttribData(?!猺gbAttribData ——無。返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_GetAttribData功能描述:32-bit接口定義:TSM_RESULTTspi_GetAttribData(TSM_HOBJECThObject, //inTSM_FLAGattribFlag, //inTSM_FLAGsubFlag, //inUINT32*pulAttribDataSize,//BYTE**prgbAttribData //);輸入?yún)?shù)描述:——hObject ——attribFlag ——subFlags 。表8屬性說明屬性標(biāo)識子屬性標(biāo)識數(shù)據(jù)描述TSM_TSPATTRIB_POLICY_CALLBACK_HMAC應(yīng)用程序提供TSM_TSPATTRIB_POLICY_CALLBACK_TAKEOWNERSHIP應(yīng)用程序提供TSM_TSPATTRIB_POLICY_POPUPSTRING0POPUP窗口的字符串輸出參數(shù)描述:——pulAttribDataSize prgbAttribData(?!猵rgbAttribData TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INVALID_ATTRIB_FLAGTSM_E_INVALID_ATTRIB_SUBFLAGTSM_E_INVALID_ATTRIB_DATATSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Policy_SetSecret功能描述:本函數(shù)設(shè)置策略對象的授權(quán)數(shù)據(jù)和句柄。如果secretmode不要求任何授權(quán)數(shù)據(jù),參數(shù)ulSecretLength被設(shè)為0,rgbSecret為NULL.此時,若password為NULL,則子密鑰也為NULL。secretmode包括:TSM_SECRET_MODE_NONE:無授權(quán)要求。TSM_SECRET_MODE_SM3:對rgbsecret指向一個散列后的32字節(jié)秘密信息。TSM_SECRET_MODE_PLAIN:rgbsecret指向一段明文,ulsecretLength為rgbsecret的串長。TSM_SECRET_MODE_POPUP:TSP提示用戶輸入一串口令,其代表了一串TSM_UNICODE字符串。該字符串必須被SCH雜湊過。接口定義:TSM_RESULTTspi_Policy_SetSecret(TSM_HPOLICYhPolicy,//inTSM_FLAGsecretMode,//UINT32ulSecretLength,//BYTE*rgbSecret //);輸入?yún)?shù)描述:——hPolicy ——secretMode ——ulSecretLengthrgbSecret ——rgbSecret blob——無。返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_Policy_FlushSecretTSM_RESULTTspi_Policy_FlushSecret(TSM_HPOLICY hPolicy //in);——hPolicy——無返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_Policy_AssignToObject功能描述:接口定義:TSM_RESULTTspi_Policy_AssignToObject(TSM_HPOLICY hPolicy, //inTSM_HOBJECT hObject //in);輸入?yún)?shù)描述:——hPolicy策略對象句柄?!猦Object工作對象句柄。輸出參數(shù)描述:——無返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTCMTspi_TCM_CollateIdentityRequest功能描述:(PIK只有TCMOwner有權(quán)創(chuàng)建身份密鑰。接口定義:TSM_RESULTTspi_TCM_CollateIdentityRequest(TSM_HTCMhTCM,hKeySMK,hCAPubKey,//////inininUINT32ulIdentityLabelLength,//inBYTE*rgbIdentityLabelData,//inTSM_HKEYhIdentityKey,//inTSM_ALGORITHM_IDalgID,//inUINT32*pulTCMIdentityReqLength,//outBYTE**prgbTCMIdentityReq//out);輸入?yún)?shù)描述:——hTCM TCM——hKeySMK SMK——hCAPubKey ——ulIdentityLabelLength rgbIdentityLabelData——rgbIdentityLabelData TSM_UNICODE字符串?!猦IdentityKey ——algID PIK輸出參數(shù)描述:——pulTCMIdentityReqLength接收prgbTCMIdentityReq的緩沖區(qū)字節(jié)大小。——prgbTCMIdentityReq TCM_IDENTITY_REQTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_ActivateIdentityPIKTSM_RESULTTspi_TCM_ActivateIdentity(TSM_HTCMhTCM,//inTSM_HKEYhIdentKey,//inUINT32ulAsymCAContentsBlobLength,//inBYTE*rgbAsymCAContentsBlob,//inUINT32ulSymCAAttestationBlobLength,//inBYTE*rgbSymCAAttestationBlob,//inUINT32*pulCredentialLength,//outBYTE**prgbCredential//out);輸入?yún)?shù)描述:——hTCM TCM——hIdentityKey ——ulAsymCAContentsBlobLengthrgbAsymCAContentsBlob(?!猺gbAsymCAContentsBlob TCM_ASYM_CA_CONTENTS得?!猽lSymCAAttestationBlobLength rgbSymCAAttestationBlob?!猺gbSymCAAttestationBlob TCM_SYM_CA_ATTESTATION得。輸出參數(shù)描述:——pulCredetialLength prgbCredential(?!猵rgbCredetial PIKTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_CollatePekRequestPEKPEKTSM_RESULTTspi_TCM_CollatePekRequest(TSM_HTCMTSM_HKEYhTCM,hCAPubKey,////ininUINT32ulPekLabelLength,//inBYTE*rgbPekLabelData,//inTSM_ALGORITHM_IDalgID,//inUINT32ulPekParamsLength,//inBYTE*rgbPekParams,//inUINT32*pulTCMPekReqLength,//outBYTE**prgbTCMPekReq//out);輸入?yún)?shù)描述:——hTCM TCM——hCAPubKey ——ulPekLabelLength rgbPekLabelData——rgbPekLabelData TSM_UNICODE——algID PEK——ulPekParamsLength rgbPekParams——rgbPekParams PEKTCM_KEY_PARMS——pulTCMPekReqLength接收prgbTCMPekReq的緩沖區(qū)字節(jié)大小?!猵rgbTCMPekReq PEKTCM_PEK_REQTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_ActivatePEKCertPEKTSM_RESULTTspi_TCM_ActivatePEKCert(TSM_HTCMhTCM,//inUINT32ulAsymCAContentsBlobLength,//inBYTE*rgbAsymCAContentsBlob,//inUINT32ulSymCAAttestationBlobLength,//inBYTE*rgbSymCAAttestationBlob,//inUINT32*pulCredentialLength,//outBYTE**prgbCredential//out);輸入?yún)?shù)描述:——hTCM TCM——ulAsymCAContentsBlobLengthrgbAsymCAContentsBlob(?!猺gbAsymCAContentsBlob EKTCM_SYMMETRIC_KEY處獲得。——ulSymCAAttestationBlobLength rgbSymCAAttestationBlob?!猺gbSymCAAttestationBlob TCM_SYM_CA_ATTESTATION處獲得。輸出參數(shù)描述:——pulCredetialLength prgbCredential(?!猵rgbCredetial PEKTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERROR說明:證書格式請參考GM/T0015-2012Tspi_TCM_ActivatePEKPEKTSM_RESULTTspi_TCM_ActivatePEK(TSM_HTCMTSM_HKEYhTCM,hKeySMK,////ininTSM_HKEYhPEKKey,//in,outTSM_HPCRShPEKPcr,//inUINT32ulAsymCAContentsBlobLength,//inBYTE*rgbAsymCAContentsBlob,//inUINT32ulSymCAAttestationBlobLength,//inBYTE*rgbSymCAAttestationBlob,//in);輸入?yún)?shù)描述:——hTCM TCM——hKeySMK SMK——hPEKKey PEK——hPEKPcr PEKPCR——ulAsymCAContentsBlobLength rgbAsymCAContentsBlob(。——rgbAsymCAContentsBlob EKTCM_SYMMETRIC_KEY結(jié)構(gòu)數(shù)據(jù),其從可信方處獲得?!猽lSymCAAttestationBlobLength rgbSymCAAttestationBlob。——rgbSymCAAttestationBlob PEK(TCM_KEY處獲得。輸出參數(shù)描述:——hPEKKey PEKTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_CreateEndorsementKey功能描述:創(chuàng)建不可撤消的密碼模塊密鑰。hKey對象的屬性由Tspi_SetAttribData()設(shè)置。接口定義:TSM_RESULTTspi_TCM_CreateEndorsementKey(TSM_HTCMhTCM,//inTSM_HKEYhKey,//inTSM_VALIDATION*pValidationData//in,out);輸入?yún)?shù)描述:——hTCM TCM——hKey endorsementKeyendorsementKey屬性?!猵ValidationDataexternalData。——pValidationData該命令執(zhí)行成功后,該緩沖區(qū)包含計算得到的驗(yàn)證數(shù)據(jù)。返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_GetPubEndorsementKeyTSM_RESULTTspi_TCM_GetPubEndorsementKey(TSM_HTCMhTCM,//inTSM_BOOLfOwnerAuthorized,//inTSM_VALIDATION*pValidationData,//in,outTSM_HKEY*phEndorsementPubKey//out);輸入?yún)?shù)描述:——hTCM TCM——fOwnerAuthorizedendorsement的公鑰,TCMowner——pValidationData提供用于計算簽名的externalData。輸出參數(shù)描述:——pValidationData該命令執(zhí)行成功后,pValidationData包含計算得到的驗(yàn)證數(shù)據(jù)?!猵hEndorsementPubKeyendorsementkeyTSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_CreateRevocableEndorsementKey功能描述:TCMEndorsementEKTCMEK接口定義:TSM_RESULTTspi_TCM_CreateRevocableEndorsementKey(TSM_HTCMhTCM,//inTSM_HKEYhKey,//inTSM_VALIDATION*pValidationData,//in,outUINT32*pulEkResetDataLength,//in,outBYTE**prgbEkResetData//in,out);輸入?yún)?shù)描述:——hTCM TCM——hKey endorsemntKey——pValidationData提供用于計算簽名的externalData?!猵ulEkResetDataLength0,TSPTCMEKEKEK——pgbERestDaa 若pulERestDaaLegth不為0EK——pValidationData ——pulEkResetDataLength如果這一值為0,TSP使用TCM來產(chǎn)生撤銷EK的授權(quán)數(shù)據(jù),之后,該參數(shù)包含復(fù)位數(shù)據(jù)包的長度。如果是其他值,則表示了由外部產(chǎn)生的復(fù)位數(shù)據(jù)包長度?!猵rgbEkResetData *pulEKResetDataLength0TCMEK返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_RevokeEndorsementKey功能描述:TCMEK,Owner(EKSMKownerOwnerAuthNVRAMNVRAM。接口定義:TSM_RESULTTspi_TCM_RevokeEndorsementKey(TSM_HTCM hTCM, //UINT32 ulEkResetDataLength,//BYTE* rgbEkResetData //in);輸入?yún)?shù)描述:——hTCM TCM——ulEkResetDataLength撤銷EK的授權(quán)數(shù)據(jù)大小?!猺gbEkResetData EK——無返回參數(shù)TSM_SUCCESSTSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_TakeOwnership功能描述:TCMOwnerTCMOwnerTspi_Context_RegisterKeySMK接口定義:TSM_RESULTTspi_TCM_TakeOwnership(TSM_HTCM hTCM, //inTSM_HKEY hKeySMK, //TSM_HKEY hEndorsementPubKey//);輸入?yún)?shù)描述:——hTCM TCM——hKeySMK SMK(StorageRootKey——hEndorsementPubKeyEndorsementpublickey的密鑰對象句柄,該密鑰用于加密SMK秘密和TCM秘密。輸出參數(shù)描述:——無返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_TCM_ClearOwnerTCMownershipTSM_RESULTTspi_TCM_ClearOwner(TSM_HTCM hTCM, //inTSM_BOOL fForcedClear//in);輸入?yún)?shù)描述:——hTCM TCM——fForcedClear FALSE,將執(zhí)行需要TCMOwner輸出參數(shù)描述:——無返回參數(shù)TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_INTERNAL_ERRORTspi_TCM_SetOperatorAuthTCMhOperatorPolicyhTCM者授權(quán)策略。此命令中,操作者的授權(quán)是明文形式,如果hOperatorPolicy的secretmode是TSM_SECRET_MODE_CALLBACK,TSPTSM_E_POLICY_NO_SECRETTSM_RESULTTspi_TCM_SetOperatorAuth(TSM_HTCM hTCM, //TSM_HPOLICY hOperatorPolicy//);輸入?yún)?shù)描述:——hTCM TCM——hOperatorPolicy策略對象句柄,該策略對象包含新授權(quán)信息。輸出參數(shù)描述:——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_SetStatusTCMTSM_RESULTTspi_TCM_SetStatus(TSM_HTCMhTCM,//inTSM_FLAGstatusFlag,//inTSM_BOOL fTcmState //in);輸入?yún)?shù)描述:——hTCM TCM——statusFlag表示待設(shè)置的狀態(tài)或?qū)傩??!猣TcmState 9表9屬性說明屬性FTcmState狀態(tài)值描述TSM_TCMSTATUS_DISABLEOWNERCLEAR忽略永久禁止TCM所有者進(jìn)行ClearOwner操作此時,方法ClearOwner()中的fForcedClear參數(shù)將不再允許取FALSE值這個設(shè)置需要所有者授權(quán)TSM_TCMSTATUS_DISABLEFORCECLEAR忽略臨時禁止TCM(次系統(tǒng)運(yùn)行時有效,在下一次系統(tǒng)重新啟動時將被取消)此時,方法ClearOwner()中的fForcedClear參數(shù)將暫時不允許取TRUE值(直到下次系統(tǒng)重新啟動為止)TSM_TCMSTATUS_OWNERSETDISABLETSM_BOOLfTCMState=TRUE:表示設(shè)置TCM的狀態(tài)為Disabled該命令需要TCM所有者的授權(quán)TSM_TCMSTATUS_PHYSICALDISABLETSM_BOOLfTCMState=TRUE:表示設(shè)置TCM的狀態(tài)為Disabled該命令必須是物理現(xiàn)場的。TSM_TCMSTATUS_PHYSICALSETDEACTIVATEDTSM_BOOLfTCMState=TRUE:表示設(shè)置TCM的狀態(tài)為Deactived該命令必須是物理現(xiàn)場的TSM_TCMSTATUS_SETTEMPDEACTIVATED忽略暫時將TCM的狀態(tài)設(shè)置為Deactived(直到下次系統(tǒng)重新啟動為止)TSM_TCMSTATUS_SETOWNERINSTALLTSM_BOOLfTCMState=TRUE:表示允許使用TakeOwnership()方法來取得TCM的所有者關(guān)系這個操作需要物理現(xiàn)場TSM_TCMSTATUS_DISABLEPUBEKREADTSM_BOOL永久禁止在沒有TCMEKTCMEK后,GetPubEndorsementKey()方法中的fOwnerAuthorizedFALSE設(shè)置這個屬性值需要所有者授權(quán)TSM_TCMSTATUS_DISABLEDTSM_BOOL將TCM設(shè)置為可用或不可用狀態(tài)TSM_TCMSTATUS_DEACTIVATEDTSM_BOOL將TCM設(shè)置為激活或非激活狀態(tài)輸出參數(shù)描述:——無。返回參數(shù):TSM_SUCCESSTSM_E_INVALID_HANDLETSM_E_BAD_PARAMETERTSM_E_INTERNAL_ERRORTspi_TCM_GetStatus功能描述:查詢TCM狀態(tài)。讀取TCM狀態(tài)標(biāo)記需要所有者授權(quán)。接口定義:TSM_RESULTTspi_TCM_GetStatus(TSM_HTCMhTCM,//inTSM_FLAGstatusFlag,//inTSM_BOOL*pfTcmState//);輸入?yún)?shù)描述:——hTCM TCM——statusFlag表示待獲取的狀態(tài)或?qū)傩?。輸出參?shù)描述:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論