海南省公共資源交易統(tǒng)一CA互認平臺CA簽章機構(gòu)數(shù)字證書應用集成規(guī)范_第1頁
海南省公共資源交易統(tǒng)一CA互認平臺CA簽章機構(gòu)數(shù)字證書應用集成規(guī)范_第2頁
海南省公共資源交易統(tǒng)一CA互認平臺CA簽章機構(gòu)數(shù)字證書應用集成規(guī)范_第3頁
海南省公共資源交易統(tǒng)一CA互認平臺CA簽章機構(gòu)數(shù)字證書應用集成規(guī)范_第4頁
海南省公共資源交易統(tǒng)一CA互認平臺CA簽章機構(gòu)數(shù)字證書應用集成規(guī)范_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)字證書應用集成規(guī)范3.1、范圍本規(guī)范依據(jù)《公共資源交易電子認證服務管理辦法(試行)》,參照國家密碼管理局“公鑰密碼基礎(chǔ)設(shè)施應用技術(shù)體系”系列技術(shù)規(guī)范,結(jié)合系統(tǒng)業(yè)務特點,提出系統(tǒng)數(shù)字證書應用集成目標、集成要求、集成內(nèi)容,定義統(tǒng)一的證書應用接口,并提供證書應用接口的典型部署示例、登錄認證流程示例和簽名驗證流程示例。本規(guī)范用于指導并規(guī)范信息系統(tǒng)證書應用集成實施工作,指導電子認證服務機構(gòu)發(fā)部標準統(tǒng)一的證書應用接口,規(guī)范信息系統(tǒng)實現(xiàn)基于數(shù)字證書的安全登錄、數(shù)字簽名和加密解密等安全功能。3.2、應用集成目標1) 遵循本規(guī)范要求新建或者修改的應用系統(tǒng),在基于統(tǒng)一認證的多CA數(shù)字證書的身份認證機制下,可使用不同CA機構(gòu)頒發(fā)的數(shù)字證書,實現(xiàn)數(shù)字證書的互通互認,并確保系統(tǒng)訪問控制的高安全性和高可靠性;2) 對信息系統(tǒng)的重要操作環(huán)節(jié)和重要數(shù)據(jù)實現(xiàn)基于多CA數(shù)字證書的數(shù)字簽名功能,保護數(shù)據(jù)的完整性,并為后期糾紛處理及責任認定提供合法電子證據(jù);3) 對信息系統(tǒng)的敏感信息實現(xiàn)支持多CA的數(shù)字證書的數(shù)據(jù)加密功能,確保敏感信息在傳輸和存儲階段的安全性及多CA支持。3.3、應用集成要求在證書應用集成時,應根據(jù)應用系統(tǒng)本身的業(yè)務特點和業(yè)務需求,確定需要使用數(shù)字證書認證的用戶及范圍、確定需要加密、簽名的重要操作環(huán)節(jié)和數(shù)據(jù),具體集成要求如下:2) 對于具有操作行為責任認定、證據(jù)保存需求的應用系統(tǒng),應集成基于數(shù)字證書的數(shù)字簽名的功能;3) 對于具有數(shù)據(jù)加密和解密需求的信息系統(tǒng),應集成基于數(shù)字證書的信息加密、信息解密功能;4) 對于具有可信時間需求的應用系統(tǒng),應集成時間戳功能,時間戳應遵循《GM/T0033-2014時間戳接口規(guī)范》;5) 對于具有信息共享需求的多個應用系統(tǒng),可采用統(tǒng)一的身份認證模式,實現(xiàn)統(tǒng)一的身份認證管理、用戶信息共享和單點登錄等功能。3.4、應用集成內(nèi)容應用系統(tǒng)數(shù)字證書應用集成內(nèi)容如下:1) 基于多CA數(shù)字證書的互通互認的統(tǒng)一身份認證2) 數(shù)字簽名和驗證信息系統(tǒng)中關(guān)鍵業(yè)務數(shù)據(jù)和操作的數(shù)字簽名,應滿足《電子簽名法》以及其他相關(guān)政策法規(guī)規(guī)定的書面形式、原件形式及文件保存等要求,至少應包括數(shù)據(jù)原文、電子簽名、可信時間等內(nèi)容,并可在需要時查詢、閱讀、下載、驗證,具備作為電子證據(jù)的真實性、可靠性和可驗證性。數(shù)字簽名可選和圖章結(jié)合起來應用,實現(xiàn)電子簽章功能,從而實現(xiàn)電子簽名的可視化管理,方便用戶查看、審閱和驗證。3) 數(shù)據(jù)加密和解密數(shù)據(jù)加密時應采用對稱算法和非對稱算法相結(jié)合的方式,既保障加密機制的安全性、密鑰分發(fā)的方便性,同時又提高了加解密操作的效率。根據(jù)業(yè)務需求,可使用單個數(shù)字證書加密,也可使用多個數(shù)字證書對數(shù)據(jù)共同加密,形成密文數(shù)據(jù)。密文數(shù)據(jù)應安全存儲在數(shù)據(jù)庫或磁盤上,待解密時間達到后方可解密。數(shù)據(jù)解密時,須使用數(shù)字證書對應的密碼設(shè)備或證書介質(zhì)解密。如果證書介質(zhì)損壞或丟失,電子認證服務機構(gòu)應在安全可控的前提下,為用戶及時提供密鑰恢復服務。4) 時間戳應用電子認證服務機構(gòu)提供的時間戳服務應基于可靠的標準時間源,確保時間的準確和可信。5) 密碼設(shè)備應用信息系統(tǒng)在使用數(shù)字證書安全功能時,應基于密碼設(shè)備提供的密碼服務。密碼設(shè)備包括客戶端用戶使用的證書介質(zhì)和服務器端使用的密碼設(shè)備??蛻舳俗C書介質(zhì)是指具有密碼許可資質(zhì)的USBKey、智能IC卡等PC終端上的密碼設(shè)備,以及符合國家密碼政策管理規(guī)定的SIM卡、SD卡等手機終端上的密碼設(shè)備。證書介質(zhì)應用接口應支持所有主流操作系統(tǒng),并符合《平臺數(shù)字證書介質(zhì)接口及使用規(guī)范》。服務器端密碼設(shè)備是指具有密碼許可資質(zhì)的加密機、加密卡等,應支持所有主流操作系統(tǒng),并符合《公鑰密碼基礎(chǔ)設(shè)施應用技術(shù)體系密碼設(shè)備應用接口規(guī)范》。通用密碼服務接口調(diào)用證書介質(zhì)應用接口或密碼設(shè)備應用接口,實現(xiàn)對底層密碼設(shè)備和證書介質(zhì)的調(diào)用,應支持所有主流操作系統(tǒng),并符合《公鑰密碼基礎(chǔ)設(shè)施應用技術(shù)體系通用密碼服務接口規(guī)范》。3.5、統(tǒng)一證書應用接口規(guī)范統(tǒng)一證書應用接口是應用系統(tǒng)可直接調(diào)用的應用接口,分為客戶端接口和服務端接口。3.5.1、客戶端接口客戶端接口是供應用在系統(tǒng)客戶端應用程序直接調(diào)用的接口,應支持主流操作系統(tǒng),支持IE、Chrome、Firefox等主流瀏覽器(Chrome和Firefox僅包含支持NPAPI的版本)??蛻舳私涌趹С址稀镀脚_數(shù)字證書格式標準規(guī)范》的數(shù)字證書,支持使用符合《平臺數(shù)字證書介質(zhì)接口及使用規(guī)范》的證書介質(zhì)??蛻舳私涌诳梢砸訡OM組件、DLL動態(tài)鏈接庫和ActiveX控件的產(chǎn)品形態(tài)方式提供,支持B/S和C/S架構(gòu)的應用??蛻舳私涌谌缦拢骸CertificateCollectionX接口.1、函數(shù)選擇數(shù)字證書SelectCertificateDialog函數(shù)原型 HRESULTICertificateCollectionX::SelectCertificateDialog ( [out,retval]ICertificateX** ppResult )功能描述 根據(jù)當前證書集顯示證書選擇對話框,如果用戶選擇了證書,則返回該證書的ICertificateX對象參數(shù) ppResult [OUT]ICertificateX對象返回值 ICertificateX對象: 成功 NULL: 失敗加載證書集Load函數(shù)原型 HRESULTICertificateCollectionX::Load ( [out,retval]LONG* pVal )功能描述 根據(jù)指定的證書過濾標識加載證書集參數(shù) ppResult [OUT]ICertificateX對象返回值 證書集中的證書數(shù)量>=0: 成功 證書集中的證書數(shù)量<0: 失敗獲得證書對象GetAt函數(shù)原型 HRESULTICertificateCollectionX::GetAt ( [in]LONG pos,[out,retval]ICertificateX** ppResult) 功能描述 根據(jù)索引號獲取證書對象參數(shù) pos 證書在證書集中國年的索引號,從0開始ppResult [OUT]ICertificateX對象返回值 ICertificateX對象: 成功 NULL: 失敗獲取證書對象Find函數(shù)原型 HRESULTICertificateCollectionX::Find ( [in]BSTR thumb,[out,retval]ICertificateX** ppResult) 功能描述 根據(jù)證書指紋獲取證書對象參數(shù) thumb 證書指紋字符串,可以是SHA1的結(jié)果,也 可以是MD5的結(jié)果ppResult [OUT]ICertificateX對象返回值 ICertificateX對象: 成功 NULL: 失敗構(gòu)造證書對象CreateCertificateBase64函數(shù)原型 HRESULTICertificateCollectionX::CreateCertificateBase64 ( [in]BTSR data,[out,retval]ICertificateX** ppResult) 功能描述 根據(jù)證書內(nèi)容(Base64編碼)構(gòu)造證書對象參數(shù) data Base64編碼的證書內(nèi)容ppResult [OUT]ICertificateX對象返回值 ICertificateX對象: 成功 NULL: 失敗構(gòu)造證書對象CreateCertificateDER函數(shù)原型 HRESULTICertificateCollectionX::CreateCertificateDER ( [in]VARIANT data,[out,retval]ICertificateX** ppResult) 功能描述 根據(jù)證書內(nèi)容(DER編碼數(shù)據(jù))構(gòu)造證書對象參數(shù) data Base64編碼的證書內(nèi)容ppResult [OUT]ICertificateX對象返回值 ICertificateX對象: 成功 NULL: 失敗構(gòu)造證書對象CreateCertificateFile函數(shù)原型 HRESULTICertificateCollectionX::CreateCertificateFile ( [in]BSTR filename,[out,retval]ICertificateX** ppResult) 功能描述 根據(jù)證書內(nèi)容構(gòu)造證書對象參數(shù) filename 證書文件路徑,如果filename為空,則一個“打開文件對話框”會出現(xiàn),讓用戶自行選擇證書文件ppResult [OUT]ICertificateX對象返回值 ICertificateX對象: 成功 NULL: 失敗.2、屬性DEBUG標志:DEBUG原型 LONGICertificateCollectionX::DEBUG功能描述 DEBUG標志位,缺省是0.如果該屬性被設(shè)置成1,則在執(zhí)行過程中,會通過MessageBox的形式打印調(diào)試信息,可用于錯誤追蹤報告錯誤信息:Quiet原型 LONGICertificateCollectionX::Quiet功能描述 報告錯誤信息,缺省為0如果該值等于0,控件將通過MessageBox報告執(zhí)行過程中的錯誤,并返回錯誤代碼,如果該值不等于0,控件將僅僅返回錯誤結(jié)果,而不通過MessageBox報告錯誤.證書集中有效證書的數(shù)量:Size原型 BSTRICertificateCollectionX::Size功能描述 證書集中有效證書的數(shù)量最近一次執(zhí)行失敗的錯誤代碼:LastError原型 LONGICertificateCollectionX::LastError功能描述 最近一次執(zhí)行失敗的錯誤代碼最近一次失敗的錯誤信息:ErrorString原型 BSTRICertificateCollectionX::ErrorString功能描述 最近一次執(zhí)行失敗的錯誤信息密鑰用途過濾標識,:CF_KeyUsage原型 LONGICertificateCollectionX::CF_KeyUsage功能描述 密鑰用途過濾標識,在Load()的時候僅僅包含指定密鑰用途的證書。0x01表示證書必須包含私鑰;0x10表示證書必須是有加密用途的證書;0x20表示證書必須是有簽名用途的證書.可以使用OR來組合使用上述標志。注意:CFxxxxx屬性組合使用時,相互之間是”與”的關(guān)系證書主題項過濾標識:CF_Subject_Contains原型 BSTRICertificateCollectionX::CF_Subject_Contains功能描述 證書主題項過濾標識,在Load()的時候僅僅包含證書主題項中包含指定字符串的證書。注意:匹配時,1)大小寫敏感,2)字符集必須一致,CFxxxxx屬性組合使用時,相互之間是”與”的關(guān)系簽發(fā)者主題項過濾標識:CF_Issuer_Contains原型 BSTRICertificateCollectionX::CF_Issuer_Contains功能描述 簽發(fā)者主題項過濾標識,在Load()的時候僅僅顯示簽發(fā)者主題項中包含指定字符串的證書。注意:匹配時,1)大小寫敏感,2)字符集必須一致。CFxxxxx屬性組合使用時,相互之間是”與”的關(guān)系密碼運算接口標識:CryptoInterface原型 LONGICertificateCollectionX::CryptoInterface功能描述 用于兼容SKF接口(國密SM2)的模式設(shè)置參數(shù),可按照指定的參數(shù)采用不同的加密接口實現(xiàn)數(shù)字簽名1表示使用SKF接口;2表示使用CSP接口(缺省);3表示同時使用上面兩個接口簽發(fā)者主題項過濾標識:CF_Issuer_Regex原型 BSTRICertificateCollectionX::ErrorString功能描述 簽發(fā)者主題項過濾標識,在Load()的時候僅僅顯示簽發(fā)者主題項符合正則表達式(PCRE)的證書.可用于匹配簽發(fā)自多個CA的證書(例如:(CA1|CA2))。注意:匹配時,1)大小寫不敏感,2)字符集必須一致。CFxxxxx屬性組合使用時,相互之間是”與”的關(guān)系證書主題項過濾標識:CF_Subject_Regex原型 BSTRICertificateCollectionX::CF_Subject_Regex功能描述 證書主題項過濾標識,在Load()的時候僅僅顯示證書主題項中符合正則表達式(PCRE)的證書.可用于匹配多張證書(例如:(證書1|證書2))。注意:匹配時,1)大小寫不敏感,2)字符集必須一致。CFxxxxx屬性組合使用時,相互之間是”與”的關(guān)系、ICertificateX接口.1、函數(shù)PKCS1簽名PKCS1String函數(shù)原型 HRESULTICertificateX::PKCS1String ( [in]VARIANT data,[out,retval]BSTR* pRet) 功能描述 使用當前證書對數(shù)據(jù)做PKCS1簽名,成功返回BASE64編碼的PKCS1簽名結(jié)果,失敗返回NULL。與PKCS1Bytes相比,本方法僅僅是返回值類型不同參數(shù) data 待簽名數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)pRet [OUT]PKCS1簽名結(jié)果返回值 Base64編碼的PKCS1簽名結(jié)果: 成功 NULL: 失敗PKCS1簽名PKCS1Base64函數(shù)原型 HRESULTICertificateX::PKCS1Base64 ( [in]VARIANT data,[out,retval]BSTR* pRet) 功能描述 使用當前證書對數(shù)據(jù)做PKCS1簽名,成功返回BASE64編碼的PKCS1簽名結(jié)果,失敗返回NULL。參數(shù) data 待簽名數(shù)據(jù),必須Base64編碼。pRet [OUT]PKCS1簽名結(jié)果返回值 Base64編碼的PKCS1簽名結(jié)果: 成功 NULL: 失敗PKCS1簽名PKCS1Bytes函數(shù)原型 HRESULTICertificateX::PKCS1Bytes ( [in]VARIANT data,[out,retval]VARIANT* pRet) 功能描述 使用當前證書對數(shù)據(jù)做PKCS1簽名,成功返回字節(jié)流格式的PKCS1簽名結(jié)果,失敗返回NULL。與PKCS1String相比,本方法僅僅是返回值類型不同參數(shù) data 待簽名數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)pRet [OUT]PKCS1簽名結(jié)果返回值 字節(jié)流格式的PKCS1簽名結(jié)果: 成功 NULL: 失敗PKCS1簽名PKCS1File函數(shù)原型 HRESULTICertificateX::PKCS1File ( [in]BSTR fileName,[out,retval]BSTR* pRet) 功能描述 使用當前證書對文件做PKCS1簽名。成功返回BASE64編碼的PKCS1簽名結(jié)果,失敗返回NULL參數(shù) fileName 待簽名的文件路徑pRet [OUT]PKCS1簽名結(jié)果返回值 Base64編碼的PKCS1簽名結(jié)果: 成功 NULL: 失敗PKCS1簽名PKCS1Digest函數(shù)原型 HRESULTICertificateX::PKCS1Digest ( [in]VARIANT data, [in]BSTR digestAlgo,[out,retval]BSTR* pRet) 功能描述 使用當前證書對摘要數(shù)據(jù)做PKCS1簽名,成功返回BASE64編碼的PKCS1簽名結(jié)果,失敗返回NULLdata 待簽名數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)該符串必須是經(jīng)過base64編碼的摘要數(shù)據(jù)字節(jié)流(VT_I1或者VT_UI1類型的Array)digestAlgo 摘要數(shù)據(jù)的Hash算法,SM2證書可選擇"ecdsa-sm2-with-sm3"。pRet [OUT]PKCS1簽名結(jié)果返回值 Base64編碼的PKCS1簽名結(jié)果: 成功 NULL: 失敗驗證PKCS1簽名PKCS1Verify函數(shù)原型 HRESULTICertificateX::PKCS1Verify ( [in]VARIANT sig,[in]VARIANT data,[out,retval]VARIANT* pRet) 功能描述 使用當前證書驗證PKCS1簽名(原文模式)參數(shù) sig 簽名結(jié)果。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR),必須是Base64編碼的數(shù)據(jù)字節(jié)流(VT_I1或者VT_UI1類型的Array)data 簽名原文數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR),必須是Base64編碼的數(shù)據(jù)字節(jié)流(VT_I1或者VT_UI1類型的Array)pRet [OUT]PKCS1簽名結(jié)果返回值 0: 成功 其他: 失敗驗證PKCS1簽名PKCS1VerifyFile函數(shù)原型 HRESULTICertificateX::PKCS1VerifyFile ( [in]VARIANT sig,[in]BSTR fileName,[out,retval]VARIANT* pRet) 功能描述 使用當前證書驗證PKCS1簽名參數(shù) sig 簽名結(jié)果。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR),必須是Base64編碼的數(shù)據(jù)字節(jié)流(VT_I1或者VT_UI1類型的Array)fileName 待驗證的文件路徑。pRet [OUT]PKCS1簽名結(jié)果返回值 0: 成功 其他: 失敗驗證PKCS1簽名PKCS1VerifyDigest函數(shù)原型 HRESULTICertificateX::PKCS1VerifyDigest ( [in]VARIANT sig,[in]VARIANT data,[out,retval]VARIANT* pRet) 功能描述 使用當前證書驗證PKCS1簽名(摘要模式)參數(shù) sig 簽名結(jié)果。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR),必須是Base64編碼的數(shù)據(jù)字節(jié)流(VT_I1或者VT_UI1類型的Array)digest 原文數(shù)據(jù)摘要。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR),必須是Base64編碼的數(shù)據(jù)字節(jié)流(VT_I1或者VT_UI1類型的Array)pRet [OUT]PKCS1簽名結(jié)果返回值 0: 成功 其他: 失敗PKCS7簽名PKCS7String函數(shù)原型 HRESULTICertificateX::PKCS7String ( [in]VARIANT data, [in]LONG fDetached,[out,retval]VARIANT* pRet) 功能描述 使用當前證書對數(shù)據(jù)做PKCS7簽名。成功返回Base64編碼格式的PKCS7簽名結(jié)果,失敗返回NULL參數(shù) data 待簽名數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)fDetached 0:創(chuàng)建Attached格式的PKCS7簽名,1:創(chuàng) 建Detached格式的PKCS7簽名pRet [OUT]PKCS7簽名結(jié)果返回值 Base64編碼的PKCS7簽名結(jié)果: 成功 NULL: 失敗PKCS7簽名PKCS7Byte函數(shù)原型 HRESULTICertificateX::PKCS7String ( [in]VARIANT data, [in]LONG fDetached,[out,retval]VARIANT* pRet) 功能描述 使用當前證書對數(shù)據(jù)做PKCS7簽名。成功返回字節(jié)流編碼格式的PKCS7簽名結(jié)果,失敗返回NULL參數(shù) data 待簽名數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)fDetached 0:創(chuàng)建Attached格式的PKCS7簽名,1:創(chuàng) 建Detached格式的PKCS7簽名pRet [OUT]PKCS7簽名結(jié)果返回值 字節(jié)流編碼格式的PKCS7簽名結(jié)果: 成功 NULL: 失敗PKCS7簽名PKCS7Base64函數(shù)原型 HRESULTICertificateX::PKCS7Base64 ( [in]VARIANTb64data, [in]LONG fDetached,[out,retval]VARIANT* pRet) 功能描述 使用當前證書對數(shù)據(jù)做PKCS7簽名。成功返回Base64編碼格式的PKCS7簽名結(jié)果,失敗返回NULL參數(shù) b64data 待簽名數(shù)據(jù)。必須是Base64編碼后的字符串fDetached 0:創(chuàng)建Attached格式的PKCS7簽名,1:創(chuàng) 建Detached格式的PKCS7簽名pRet [OUT]PKCS7簽名結(jié)果返回值 Base64編碼的PKCS7簽名結(jié)果: 成功 NULL: 失敗證書公鑰加密PublicEncrypt函數(shù)原型 HRESULTICertificateX::PublicEncrypt ( [in]VARIANT data,[out,retval]BSTR* pRet) 功能描述 使用當前證書公鑰對數(shù)據(jù)進行公鑰加密參數(shù) data 待加密數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)pRet [OUT]加密結(jié)果返回值 Base64編碼的加密結(jié)果: 成功 NULL: 失敗證書私鑰解密PrivateDecrypt函數(shù)原型 HRESULTICertificateX::PrivateDecrypt ( [in]VARIANT data,[out,retval]BSTR* pRet) 功能描述 使用當前證書私鑰對數(shù)據(jù)進行私鑰解密參數(shù) data 待加密數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)pRet [OUT]解密結(jié)果返回值 Base64編碼的解密結(jié)果: 成功 NULL: 失敗數(shù)字信封封包EnvSeal函數(shù)原型 HRESULTICertificateX::EnvSeal ( [in]VARIANT data,[out,retval]BSTR* b64Sealed) 功能描述 數(shù)字信封封包,當前證書為接收方證書,無需包含私鑰,封包時只加密,不簽名。參數(shù) data 待封包數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)b64Sealed [OUT]封包結(jié)果返回值 Base64編碼的封包結(jié)果: 成功 NULL: 失敗數(shù)字信封封包EnvSealFile函數(shù)原型 HRESULTICertificateX::EnvSealFile ( [in]BSTR srcFile, [in]BSTR dstFile,[out,retval]LONG* pRet) 功能描述 對文件進行數(shù)字信封封包,當前證書為接收方證書,無需包含私鑰,封包時只加密,不簽名。參數(shù) srcFile 待封包的文件路徑 dstFile 封包后的保存的文件路徑 返回值 0: 成功 其他: 失敗數(shù)字信封封包ExtSealFile函數(shù)原型 HRESULTICertificateX::ExtSealFile ( [in]BSTR srcFile, [in]BSTR dstFile,[out,retval]LONG* pRet) 功能描述 對大文件數(shù)字信封封包(EnvSeal需要把整個文件讀入內(nèi)存封包,在封包大文件時,有可能由于內(nèi)存不足發(fā)生錯誤,如果要對大文件封包,請使用這個函數(shù)),當前證書為接收方證書,無需包含私鑰。參數(shù) srcFile 待封包的文件路徑 dstFile 封包后的保存的文件路徑 返回值 0: 成功 其他: 失敗數(shù)字信封解包EnvOpen函數(shù)原型 HRESULTICertificateX::EnvOpen ( [in]VARIANT data,[out,retval]BSTR* b64Opened) 功能描述 數(shù)字信封解包,當前證書為接收方證書,必須包含私鑰。參數(shù) data 待解包數(shù)據(jù)。數(shù)據(jù)可以是以下類型:字符串(VT_BSTR或者VT_BYREF|VT_BSTR)字節(jié)流(VT_I1或者VT_UI1類型的Array)b64Sealed [OUT]封包結(jié)果返回值 Base64編碼的解包結(jié)果: 成功 NULL: 失敗數(shù)字信封解包EnvOpenFile函數(shù)原型 HRESULTICertificateX::EnvOpenFile ( [in]BSTR srcFile, [in]BSTR dstFile,[out,retval]LONG* pRet) 功能描述 對文件進行數(shù)字信封解包,當前證書為接收方證書,且必須包含私鑰。參數(shù) srcFile 待解包的文件路徑 dstFile 解包后的保存的文件路徑 返回值 0: 成功 其他: 失敗數(shù)字信封解包ExtOpenFile函數(shù)原型 HRESULTICertificateX::ExtOpenFile ( [in]BSTR srcFile, [in]BSTR dstFile,[out,retval]LONG* pRet) 功能描述 對大文件數(shù)字信封解包(EnvOpen需要把整個文件讀入內(nèi)存解包,在解包大文件時,有可能由于內(nèi)存不足發(fā)生錯誤,如果要對大文件解包,請使用這個函數(shù)),當前證書為接收方證書,且必須包含私鑰。參數(shù) srcFile 待解包的文件路徑 dstFile 解包后的保存的文件路徑 返回值 0: 成功 其他: 失敗XML簽名XMLSign函數(shù)原型 HRESULTICertificateX::XMLSign ( [in]BSTR xml,[out,retval]BSTR* xmlSigned) 功能描述 使用當前證書對數(shù)據(jù)做XML簽名。成功返回XML簽名結(jié)果,失敗返回NULL參數(shù) xml 待簽名數(shù)據(jù)。數(shù)據(jù)必須是XML字符串返回值 XML簽名結(jié)果: 成功 NULL: 失敗XML簽名XMLSignEnveloping函數(shù)原型 HRESULTICertificateX::XMLSignEnveloping ( [in]BSTR xml,[out,retval]BSTR* xmlSigned) 功能描述 使用當前證書對數(shù)據(jù)做Enveloping方式的XML簽名。成功返回XML簽名結(jié)果,失敗返回NULLL參數(shù) xml 待簽名數(shù)據(jù)。數(shù)據(jù)必須是XML字符串返回值 Enveloping方式的XML簽名結(jié)果: 成功 NULL: 失敗獲得證書擴展信息GetExtensionString函數(shù)原型 HRESULTICertificateX::GetExtensionString ( [in]BSTR oid, LONG rawHex,[out,retval]BSTR* pRet) 功能描述 使用當前證書的擴展信息參數(shù) oid 證書擴展項OID rawHex 1:返回16進制數(shù)據(jù);0:返回可打印字符串返回值 證書擴展項信息: 成功 NULL: 失敗.2、屬性DEBUG標志:DEBUG原型 LONGICertificateX::DEBUG功能描述 DEBUG標志位,缺省是0.如果該屬性被設(shè)置成1,則在執(zhí)行過程中,會通過MessageBox的形式打印調(diào)試信息,可用于錯誤追蹤報告錯誤信息:Quiet原型 LONGICertificateX::Quiet功能描述 報告錯誤信息,缺省為0如果該值等于0,控件將通過MessageBox報告執(zhí)行過程中的錯誤,并返回錯誤代碼,如果該值不等于0,控件將僅僅返回錯誤結(jié)果,而不通過MessageBox報告錯誤.最近一次執(zhí)行失敗的錯誤代碼:LastError原型 LONGICertificateX::LastError功能描述 最近一次執(zhí)行失敗的錯誤代碼最近一次失敗的錯誤信息:ErrorString原型 BSTRICertificateX::ErrorString功能描述 最近一次執(zhí)行失敗的錯誤信息證書主題項:Subject原型 BSTRICertificateX::Subject功能描述 證書主題項證書指紋:ThumbprintSHA1原型 BSTRICertificateX::ThumbprintSHA1功能描述 證書指紋(SHA1)證書指紋:ThumbprintMD5原型 BSTRICertificateX::ThumbprintMD5功能描述 證書指紋(MD5)證書友好名:FriendlyName原型 BSTRICertificateX::FriendlyName功能描述 證書友好名,如果證書中包含F(xiàn)riendlyName,則返回 FriendlyName,否則返回CN(OU)證書內(nèi)容:Content原型 BSTRICertificateX::Content功能描述 證書內(nèi)容(Base64編碼)證書序列號:SerialNumber原型 BSTRICertificateX::SerialNumber功能描述 證書序列號(十六進制表示)證書頒發(fā)者:Issuer原型 BSTRICertificateX::Issuer功能描述 證書頒發(fā)者證書版本號:Version原型 ULONGICertificateX::Version功能描述 證書版本號簽名算法的OID值:SignatureAlgorithm原型 BSTRICertificateX::SignatureAlgorithm功能描述 簽名算法的OID值生效時間:NotBeforeTimestamp原型 ULONGICertificateX::NotBeforeTimestamp功能描述 生效時間(UnixTimestamp格式)失效時間:NotAfterTimestamp原型 ULONGICertificateX::NotAfterTimestamp功能描述 失效時間(UnixTimestamp格式)生效時間:NotBeforeSystemTime原型 BSTRICertificateX::NotBeforeSystemTime功能描述 生效時間(YYYY/MM/DDHH:MM:SS)失效時間:NotAfterSystemTime原型 BSTRICertificateX::NotAfterSystemTime功能描述 失效時間(YYYY/MM/DDHH:MM:SS)IssuerUniqueId:IssuerUniqueIdHexString原型 BSTRICertificateX::IssuerUniqueIdHexString功能描述 IssuerUniqueId的16進制字符串SubjectUniqueId:SubjectUniqueIdHexString原型 BSTRICertificateX::SubjectUniqueIdHexString功能描述 SubjectUniqueId的16進制字符串SubjectUniqueId:SubjectUniqueIdPrintable原型 BSTRICertificateX::SubjectUniqueIdPrintable功能描述 SubjectUniqueId的ASCII字符串IssuerUniqueId:IssuerUniqueIdPrintable原型 BSTRICertificateX::IssuerUniqueIdPrintable功能描述 IssuerUniqueId的ASCII字符串證書序列號:SerialNumberDec原型 BSTRICertificateX::SerialNumberDec功能描述 證書序列號(十進制表示)證書序列號:SerialNumberHex原型 BSTRICertificateX::SerialNumberHex功能描述 證書序列號(十六進制表示)證書容器名:ContainerName原型 BSTRICertificateX::ContainerName功能描述 證書容器名證書提供者:ProviderName原型 BSTRICertificateX::ProviderName功能描述 證書提供者包含私鑰標識:IsPrivateKeyAccessible原型 VARIANT_BOOLICertificateX::IsPrivateKeyAccessible功能描述 證書是否包含可用私鑰密鑰長度:Keybits原型 LONGICertificateX::Keybits功能描述 密鑰長度密碼運算調(diào)用接口的名稱:CryptoInterfaceName原型 BSTRICertificateX::CryptoInterfaceName功能描述 密碼運算調(diào)用接口的名稱,可能是下列名稱中的一個:"CSP","SKF","PCS"私鑰訪問口令:UserPIN原型 BSTRICertificateX::UserPIN功能描述 私鑰訪問口令。如果該證書來自CSP或者SKF接口,可以在這里設(shè)置私鑰訪問的用戶口令,如果該口令非空,控件將直接使用該口令作為私鑰訪問口令,不再彈出用戶口令輸入對話框密鑰用途:KeyUsage原型 ULONGICertificateX::KeyUsage功能描述 密鑰用途:0x01密鑰可用于簽名,0x02密鑰可用于加密算法名稱:Algorithm原型 BSTRICertificateX::Algorithm功能描述 算法名稱,可能是下列字符串之一:"SM2"對稱加密算法的名稱:DefaultCipher原型 BSTRICertificateX::DefaultCipher功能描述 對稱加密算法的名稱.例如:aes256,sm4等等.目前僅僅在數(shù)字信封封包的時候使用.這個屬性可以為空,如果為空,則使用的缺省對稱加密算法SKF類型的證書,缺省對稱加密算法是aes256CSP類型的證書不支持這個屬性,不論這個屬性設(shè)置成什么,對稱加密算法始終是3desPKCS1/Q1數(shù)據(jù)摘要算法的名稱:DefaultP1Digest原型 BSTRICertificateX::DefaultP1Digest功能描述 PKCS1/Q1數(shù)據(jù)摘要算法的名稱.例如:sha1,ecdsa-sm2-with-sm3等等.這個屬性可以為空,如果為空,則使用的缺省數(shù)據(jù)摘要算法SKF類型的證書,ecdsa-sm2-with-sm3(SM2)PKCS7/Q7數(shù)據(jù)摘要算法的名稱:DefaultP7Digest原型 BSTRICertificateX::DefaultP7Digest功能描述 PKCS7/Q7數(shù)據(jù)摘要算法的名稱.例如:sha1,ecdsa-sm2等等. 這個屬性可以為空,如果為空,則使用的缺省數(shù)據(jù)摘要算法SKF類型的證書,ecdsa-sm2(SM2)、ISKFTokenCollectionX接口.1、函數(shù)選擇數(shù)字證書SelectTokenDialog函數(shù)原型 HRESULTISKFTokenCollectionX::SelectTokenDialog ( [out,retval]ISKFTokenX** ppResult )功能描述 顯示選擇SKF設(shè)備對話框參數(shù) ppResult [OUT]ISKFTokenX對象返回值 設(shè)備數(shù)量: 成功 NULL: 失敗加載SKF設(shè)備Load函數(shù)原型 HRESULTISKFTokenCollectionX::Load ( [out,retval]LONG* pRet )功能描述 加載SKF設(shè)備返回值 加載的設(shè)備數(shù)量>=0: 成功 加載的設(shè)備數(shù)量<0: 失敗獲得SKF設(shè)備對象GetAt函數(shù)原型 HRESULTISKFTokenCollectionX::GetAt ( [in]LONG pos,[out,retval]ISKFTokenX** ppResult) 功能描述 根據(jù)索引號獲取SKFTokenX對象參數(shù) pos 證書在證書集中國年的索引號,從0開始ppResult [OUT]ISKFTokenX對象返回值 ISKFTokenX對象: 成功 NULL: 失敗獲取SKF設(shè)備Find函數(shù)原型 HRESULTISKFTokenCollectionX::Find ( [in]BSTR name,[out,retval]ISKFTokenX** ppResult) 功能描述 根據(jù)名稱獲取SKF設(shè)備對象參數(shù) name 設(shè)備名稱ppResult [OUT]ISKFTokenX對象返回值 ISKFTokenX對象: 成功 NULL: 失敗.2、屬性DEBUG標志:DEBUG原型 LONGISKFTokenCollectionX::DEBUG功能描述 DEBUG標志位,缺省是0.如果該屬性被設(shè)置成1,則在執(zhí)行過程中,會通過MessageBox的形式打印調(diào)試信息,可用于錯誤追蹤報告錯誤信息:Quiet原型 LONGISKFTokenCollectionX::Quiet功能描述 報告錯誤信息,缺省為0如果該值等于0,控件將通過MessageBox報告執(zhí)行過程中的錯誤,并返回錯誤代碼,如果該值不等于0,控件將僅僅返回錯誤結(jié)果,而不通過MessageBox報告錯誤.當前SKF設(shè)備數(shù)量:Size原型 BSTRISKFTokenCollectionX::Size功能描述 當前SKF設(shè)備數(shù)量版權(quán)信息:Copyright原型 BSTRISKFTokenCollectionX::Copyright功能描述 版權(quán)信息最近一次執(zhí)行失敗的錯誤代碼:LastError原型 LONGISKFTokenCollectionX::LastError功能描述 最近一次執(zhí)行失敗的錯誤代碼最近一次失敗的錯誤信息:ErrorString原型 BSTRISKFTokenCollectionX::ErrorString功能描述 最近一次執(zhí)行失敗的錯誤信息、ISKFTokenX接口.1、函數(shù)ToString函數(shù)原型 HRESULTISKFTokenX::ToString ( [out,retval]BSTR* pVal )功能描述 輸出SKF設(shè)備信息返回值 SKF設(shè)備信息: 成功 NULL: 失敗.2、屬性設(shè)備名稱:Name原型 BSTRISKFTokenX::Name功能描述 SKF設(shè)備名稱設(shè)備制造商:Manufacturer原型 BSTRISKFTokenX::Manufacturer功能描述 SKF設(shè)備制造商設(shè)備序列號:SerialNumber原型 BSTRISKFTokenX::SerialNumber功能描述 SKF設(shè)備序列號設(shè)備硬件版本:HWVersion原型 BSTRISKFTokenX::HWVersion功能描述 SKF設(shè)備硬件版本設(shè)備軟件版本:FirmwareVersion原型 BSTRISKFTokenX::FirmwareVersion功能描述 SKF設(shè)備軟件版本密碼運算接口標識:CryptoInterface原型 LONGISKFTokenX::CryptoInterface功能描述 密碼運算接口SKF驅(qū)動名稱和路徑:ProviderModuleName原型 BSTRISKFTokenX::ProviderModuleName功能描述 SKF設(shè)備驅(qū)動名稱和路徑3.5.2、服務端接口服務器端接口是供應用系統(tǒng)服務器端程序直接調(diào)用的高級接口,應支持所有主流操作系統(tǒng),支持B/S和C/S等系統(tǒng)架構(gòu),支持符合《平臺數(shù)字證書格式規(guī)范》的數(shù)字證書,可通過添加證書信任列表的方式實現(xiàn)不同電子認證服務機構(gòu)證書之間的交叉認證和互信互認。服務端接口使用HTTP/HTTPS作為通訊接口協(xié)議,所有的請求都使用POST方法,請求參數(shù)保存在POST表單域內(nèi)。、SVS簽名驗證服務接口簽名驗證服務(SignatureVerificationService,以下簡稱SVS)提供了對數(shù)字證書及數(shù)字證書簽名信息進行可信的驗證服務。主要包括以下功能:證書驗證,包括驗證證書及頒發(fā)者的有效性,證書狀態(tài)的驗證(CRL/OCSP)。業(yè)務數(shù)據(jù)簽名驗證。驗證數(shù)據(jù)電文的真實性和有效性。.1、驗證證書URLhttp(s)://[主機地址][:端口號]/vc.svr參數(shù)cert所需要驗證的證書(B64編碼)。greenpass證書驗證綠色通道。其包括以下取值范圍。0:完整驗證0x01:允許過期證書通過0x02:允許未生效證書通過0x04:不驗證CRL例如:如果既允許過期證書通過,又允許未生效證書通過,則greenpass值為:(0x01|0x02)=0x03greenpass為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,SVS將使用缺省設(shè)置。返回以HTTP響應碼的方式返回驗證的結(jié)果,如:200代表驗證成功,4xx:代表驗證錯誤,5xx:服務端異常錯誤。.3、驗證數(shù)據(jù)簽名(PKCS7)URLhttp(s)://[主機地址][:端口號]/vp7.svr參數(shù)p7dataPKCS7格式數(shù)據(jù)(B64編碼)。注意:該pkcs7數(shù)據(jù)中應包含簽名證書(鏈)、簽名數(shù)據(jù)以及原文數(shù)據(jù)。p7odat原文數(shù)據(jù)(B64編碼)。注意:該參數(shù)只在Detached模式數(shù)字簽名驗證時需要提交,非必要參數(shù)。greenpass證書驗證綠色通道。其包括以下取值范圍。0:完整驗證0x01:允許過期證書通過0x02:允許未生效證書通過0x04:不驗證CRL例如:如果既允許過期證書通過,又允許未生效證書通過,則greenpass值為:(0x01|0x02)=0x03greenpass為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,SVS將使用缺省設(shè)置。返回以HTTP響應碼的方式返回驗證的結(jié)果,如:200代表驗證成功,4xx:代表驗證錯誤,5xx:服務端異常錯誤。.4、驗證XML簽名URLhttp(s)://[主機地址][:端口號]/vx.svr參數(shù)data待驗證的XML數(shù)據(jù)(B64編碼)。greenpass證書驗證綠色通道。其包括以下取值范圍。0:完整驗證0x01:允許過期證書通過0x02:允許未生效證書通過0x04:不驗證CRL例如:如果既允許過期證書通過,又允許未生效證書通過,則greenpass值為:(0x01|0x02)=0x03greenpass為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,SVS將使用缺省設(shè)置。返回以HTTP響應碼的方式返回驗證的結(jié)果,如:200代表驗證成功,4xx:代表驗證錯誤,5xx:服務端異常錯誤。、PCS密碼運算服務接口PKI密碼運算服務(PKICryptoService)可用戶服務端簽名、加密、解密、數(shù)字信封等業(yè)務,主要功能如下:私鑰的管理.私鑰的加解密操作.生成PKCS#1數(shù)字簽名.生成PKCS#7數(shù)字簽名XML簽名數(shù)字信封封包數(shù)字信封解包.1、獲取可用的密鑰IDURLhttp(s)://[主機地址][:端口號]/sl.svr參數(shù)無返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回可用的密鑰ID列表。如果有多個可用的密鑰ID,這些ID之間通過換行符分割

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.2、獲取密鑰ID所對應的數(shù)字證書URLhttp(s)://[主機地址][:端口號]/sg.svr參數(shù)id密鑰ID返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的數(shù)字證書

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.3、私鑰加密URLhttp(s)://[主機地址][:端口號]/spe.svr參數(shù)id密鑰IDpasswd口令(私鑰保護的口令)dataBASE64編碼的待加密數(shù)據(jù)返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的加密結(jié)果.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.4、私鑰解密URLhttp(s)://[主機地址][:端口號]/spd.svr參數(shù)id密鑰IDpasswd口令(私鑰保護的口令)dataBASE64編碼的待解密數(shù)據(jù)返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的解密結(jié)果.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.5、公鑰加密URLhttp(s)://[主機地址][:端口號]/ppe.svr參數(shù)id密鑰IDdataBASE64編碼的待加密數(shù)據(jù)返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的加密結(jié)果.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.6、公鑰解密URLhttp(s)://[主機地址][:端口號]/ppd.svr參數(shù)id密鑰IDdataBASE64編碼的待解密數(shù)據(jù)返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的解密結(jié)果.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.8、創(chuàng)建PKCS#7簽名URLhttp(s)://[主機地址][:端口號]/smp7.svr參數(shù)id密鑰IDpasswd口令(私鑰保護的口令)dataBASE64編碼的待簽名數(shù)據(jù),數(shù)據(jù)長度不限fullchain是否嵌入整個證書鏈,可以為(0,1).fullchain為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,PCS將使用缺省設(shè)置為0。attach是否啟用Detached簽名模式,0=包含原文的P7簽名(缺省設(shè)置),1=不包含原文的P7簽名。注意:Detached模式下產(chǎn)生的簽名數(shù)據(jù)將不包含原文數(shù)據(jù)。返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的簽名結(jié)果.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.9、創(chuàng)建XML簽名URLhttp(s)://[主機地址][:端口號]/sxs.svr參數(shù)id密鑰IDpasswd口令(私鑰保護的口令)dataBASE64編碼的待簽名數(shù)據(jù),數(shù)據(jù)長度不限sigmode簽名模式??梢允牵?,1),0表示enveloped,1表示enveloping。sigmode為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,PCS將使用缺省設(shè)置0返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的簽名結(jié)果.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.10、數(shù)字信封封包URLhttp(s)://[主機地址][:端口號]/envseal.svr參數(shù)id密鑰IDpasswd口令(私鑰保護的口令)dataBASE64編碼的待封包數(shù)據(jù),數(shù)據(jù)長度不限peerBASE64編碼的接收方證書返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的數(shù)字信封.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度.11、數(shù)字信封解包URLhttp(s)://[主機地址][:端口號]/envopen.svr參數(shù)id密鑰IDpasswd口令(私鑰保護的口令)dataBASE64編碼的待解包數(shù)據(jù),數(shù)據(jù)長度不限返回以HTTP響應碼的方式返回執(zhí)行的結(jié)果,如:200代表執(zhí)行成功.400:代表參數(shù)錯誤,403代表無權(quán)訪問或者密鑰,404表示密鑰沒有找到,5xx:服務端異常錯誤.

HttpResponseContent中保存返回BASE64編碼的數(shù)據(jù)原文.

Httpheader中包含Content-Length項指明數(shù)據(jù)長度、TSA時間戳服務接口時間戳服務(TimeStampAuthorityService)提供了對數(shù)據(jù)時間的可信服務。時間戳應遵循GM/T0033-2014《時間戳接口規(guī)范》,TSA時間戳服務主要功能有:簽發(fā)時間戳。驗證時間戳。.1、簽發(fā)時間戳URLhttp(s)://[主機地址][:端口號]/tsac.svr參數(shù)digest(必選):所需要簽名數(shù)據(jù)的數(shù)據(jù)摘要信息(hexstring模式,例如摘要是0x010203...,則digest則是string形式的010203...),digest的長度必須和摘要算法所需的長度一致,例如md5應該是32個char,sha1應該是40個charalgo(可選):數(shù)據(jù)摘要算法(md5或者sha1)。algo為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,TSA將根據(jù)digest的長度自動選擇相應的算法。返回以HTTP響應碼的方式返回簽發(fā)的結(jié)果,如:200代表成功.4xx:代表失敗5xx:服務端異常錯誤。如果成功,則將返回DER編碼格式的時間戳。在httpresponseheader里面將指定'Content-Type:application/timestamp-reply'。如果失敗,將記錄日志,并返回400錯。.2、驗證時間戳URLhttp(s)://[主機地址][:端口號]/tsav.svr參數(shù)tsr必選):base64編碼格式的時間戳。digest(可選):數(shù)據(jù)摘要信息(hexstring模式,例如摘要是0x010203...,則digest則是string形式的010203...)。如果digest數(shù)據(jù)為空,則僅僅驗證時間戳簽名,而不驗證時間戳內(nèi)容。algo(可選):數(shù)據(jù)摘要算法(md5或者sha1)。algo為可選參數(shù),如果在request里面沒有包含這些數(shù)據(jù)項,TSA將根據(jù)digest的長度自動選擇相應的算法。如果指定了digest,digest的長度必須和摘要算法所需的長度一致,例如md5應該是32個char;sha1應該是40個char。返回以HTTP響應碼的方式返回驗證的結(jié)果,如:200代表成功。4xx:代表失敗5xx:服務端異常錯誤。如果失敗,將記錄日志,并返回400錯。3.6、應用接入規(guī)范平臺提供了基于多CA數(shù)字證書互通互認的統(tǒng)一認證服務,為接入到平臺的應用系統(tǒng)提供統(tǒng)一身份認證功能。平臺基于多CA數(shù)字證書互通互認的統(tǒng)一認證服務遵循OAuth2.0協(xié)議開發(fā),OAuth2.0的授權(quán)驗證示意圖如下所示:XX平臺提供Java/C#/PHP等多個版本的SDK供應用接入使用,應用接入規(guī)范主要有以下幾點:3.6.1、提交創(chuàng)建應用應用管理員可向平臺提交創(chuàng)建應用。應用管理員可以由XX平臺超級管理員分配。應用系統(tǒng)開發(fā)者或管理者可以向平臺超級管理員申請應用管理員權(quán)限。申請應用管理員權(quán)限時需要提供有效的身份證明材料。提交應用時所需要提交的信息包括:應用名稱、應用LOGO、應用回調(diào)地址、應用URL、應用類型、允許CA機構(gòu)證書、應用圖片介紹等,所提交的信息必須真實有效。應用創(chuàng)建后,可獲得由XX平臺分配的APPID和APPKEY。APPID和APPKEY是應用系統(tǒng)的身份標識,特別是APPKEY不能泄漏或者擴散。3.6.2、應用集成SDK應用開發(fā)者下載平臺提供的平臺接入SDK,使用在上一步中的APPID和APPKEY作為身份標識,修改應用以集成到平臺。修改的內(nèi)容包括:在應用首頁放置“平臺統(tǒng)一認證登錄”鏈接,引導用戶到XX平臺統(tǒng)一認證服務進行身份認證。XX平臺提供了多個API,詳見XX平臺OpenAPI列表。應用開發(fā)者應遵循OAuth2.0規(guī)范,根據(jù)需要使用XX平臺提供的多語言的SDK以更快的實現(xiàn)OpenAPI的調(diào)用,完成用戶授權(quán)確認、身份認證的流程。應用接入完成后,需要進行開發(fā)調(diào)試,開發(fā)調(diào)試完成后,即可由應用管理員為該應用申請上線。3.6.3、平臺提供的OpenAPI、應用授權(quán)URLhttp(s)://[XX統(tǒng)一認證服務URL]/oauth/authorize支持驗證方式OAuth2.0格式html/textHttp請求方式GET請求參數(shù)response_type返回類型,固定值:codeclient_id應用的APPIDscope請求授權(quán)的權(quán)限如userappredirect_uri授權(quán)回調(diào)地址state隨機數(shù)是否需要鑒權(quán)不需要返回值code授權(quán)碼state應用請求的隨機數(shù)、獲取tokenURLhttp(s)://[XX統(tǒng)一認證服務URL]/oauth/token支持驗證方式OAuth2.0格式JSONHttp請求方式POST請求參數(shù)grant_type返回類型,固定值:authorization_codeclient_id應用的APPIDscope請求授權(quán)的權(quán)限如userappredirect_uri授權(quán)回調(diào)地址state隨機數(shù)client_secret應用的APPKEYcode獲得的授權(quán)碼是否需要鑒權(quán)不需要返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼access_tokentokentoken_typetoken類型refresh_token刷新tokenexpire_intoken過期時間scope請求的權(quán)限、獲取OPENIDURLhttp(s)://[XX統(tǒng)一認證服務URL]/oauth/me支持驗證方式OAuth2.0格式JSONHttp請求方式GET請求參數(shù)access_token用戶授權(quán)的tokenclient_id應用的APPID是否需要鑒權(quán)需要返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼openidOPENID、獲取用戶信息URLhttp(s)://[XX統(tǒng)一認證服務URL]/user/get_usr_info支持驗證方式OAuth2.0格式JSONHttp請求方式POST請求參數(shù)access_token用戶授權(quán)的tokenclient_id應用的APPIDopenid用戶與應用唯一對應的ID是否需要鑒權(quán)需要返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼certvalue身份認證時用的證書(Base64編碼之)login_account賬號口令認證方式的帳號nick_name昵稱、獲取用戶應用擴展信息URLhttp(s)://[XX統(tǒng)一認證服務URL]/usr/get_usr_extension參數(shù)描述oid應用擴展mask,如3valueOID對應值返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼app_not_before用戶應用啟用時間app_not_after用戶應用失效時間action擴展動作serial序列號oids擴展OID信息集合,參數(shù)描述oid應用擴展mask,如3valueOID對應值、解析證書URLhttp(s)://[XX統(tǒng)一認證服務URL]/usr/parse_user_cert參數(shù)描述oid應用擴展mask,如3valueOID對應值返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼subject_cn通用名subject_ou組織機構(gòu)subject_o組織subject_l城市subject_s省subject_c國家subject_oids擴展OID信息集合,參數(shù)描述oid應用擴展mask,如3valueOID對應值issuer_cn證書頒發(fā)者通用名issuer_ou證書頒發(fā)者組織機構(gòu)issuer_o證書頒發(fā)者組織issuer_l證書頒發(fā)者城市issuer_s證書頒發(fā)者省issuer_c證書頒發(fā)者國家subject證書主題項issuer證書頒發(fā)者serial_hex十六進制序列號serial_dec十進制序列號not_before有效起始日期not_after有效截止日期algo證書算法keysize密鑰長度fingerprint證書指紋、驗證證書URLhttp(s)://[XX統(tǒng)一認證服務URL]/user/verify/verify_user_cert支持驗證方式OAuth2.0格式JSONHttp請求方式POST請求參數(shù)access_token用戶授權(quán)的tokenclient_id應用的APPIDopenid用戶與應用唯一對應的IDcertvalue可選項。證書的Base64編碼字符串fopenid可選項。證書對應的openid。Fopenid和certvalue至少選一個,若同時存在以certvalue為主。formatAPI返回數(shù)據(jù)的格式,XML/JSON是否需要鑒權(quán)不需要返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼result驗證結(jié)果。驗證結(jié)果為三位由0或者1組成的數(shù)字,由左至右每一位分別代表驗證CRL的結(jié)果、驗證證書鏈的結(jié)果、驗證證書有效期的結(jié)果。每一位值為1代表相應驗證項驗證失敗,0代表相應驗證項驗證通過。即0x01-證書有效期驗證失敗,0x02-證書鏈驗證失敗,0x04-CRL驗證失敗。返回的驗證結(jié)果=(驗證CRL|驗證證書鏈|驗證有效期)、驗證PKCS1簽名URLhttp(s)://[XX統(tǒng)一認證服務URL]/verify/verify_pkcs1支持驗證方式OAuth2.0格式JSONHttp請求方式POST請求參數(shù)access_token用戶授權(quán)的tokenclient_id應用的APPIDopenid用戶與應用唯一對應的IDcertvalue可選項。證書的Base64編碼字符串fopenid可選項。證書對應的openid。Fopenid和certvalue至少選一個,若同時存在以certvalue為主。Pkcs1必選。Base64編碼的pkcs1簽名數(shù)據(jù)data必選。Base64編碼的原文數(shù)據(jù)datatype可選項。簽名數(shù)據(jù)的類型,1代表16進制摘要,0代表原文,默認為原文algo簽名算法是否需要鑒權(quán)不需要返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼result驗證結(jié)果、驗證PKCS7簽名URLhttp(s)://[XX統(tǒng)一認證服務URL]/verify/verify_pkcs7支持驗證方式OAuth2.0格式JSONHttp請求方式POST請求參數(shù)access_token用戶授權(quán)的tokenclient_id應用的APPIDopenid用戶與應用唯一對應的IDpkcs7必選。Base64編碼的pkcs7簽名數(shù)據(jù)verify可選。是否驗證證書有效性是否需要鑒權(quán)不需要返回值ret返回碼msg如果ret<0,會有相應的錯誤提示信息,返回數(shù)據(jù)全部用UTF-8編碼result驗證結(jié)果返回代碼說明見下表:返回碼說明0正確9000無效的請求9001無效的應用標識9002無效的授權(quán)9003未授權(quán)應用9004不支持授權(quán)類型9005無效的SCOPE9006無效的token9007無法匹配回調(diào)地址9008不支持返回類型9009訪問拒絕10000未知異常10001缺少參數(shù)client_id10002沒有提供openid信息10003請求應用與授權(quán)應用不是同一應用10004請求openid不在請求應用中10005沒有查到用戶信息10006沒有查到應用信息10007沒有提供token10009缺少參數(shù)client_secret10010缺少參數(shù)client_cert10011沒有綁定應用,沒有應用擴展信息10012證書解析失敗,請確認證書格式是否正確10016缺少參數(shù)user_extension10017無效的openId10018無效的設(shè)備ID規(guī)范C、電子簽章技術(shù)規(guī)范一、簽章控件接口標準規(guī)范1.1、范圍本規(guī)范規(guī)定了在公共資源電子招投標領(lǐng)域PDF電子簽章軟件產(chǎn)品應用的接口技術(shù)規(guī)范。本標準遵循GB/T38540-2020《信息安全技術(shù)—安全電子簽章密碼技術(shù)規(guī)范》。本規(guī)范適用于基于公鑰密碼基礎(chǔ)設(shè)施應用技術(shù)體系框架內(nèi)的電子簽章相關(guān)產(chǎn)品,以及電子簽章產(chǎn)品跨平臺的開發(fā)和集成。1.2、規(guī)范性引用文件下列文件對于本

溫馨提示

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

評論

0/150

提交評論