《信息安全技術(shù)簽名驗簽服務器技術(shù)規(guī)范》_第1頁
《信息安全技術(shù)簽名驗簽服務器技術(shù)規(guī)范》_第2頁
《信息安全技術(shù)簽名驗簽服務器技術(shù)規(guī)范》_第3頁
《信息安全技術(shù)簽名驗簽服務器技術(shù)規(guī)范》_第4頁
《信息安全技術(shù)簽名驗簽服務器技術(shù)規(guī)范》_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

GB/TXXXXX—XXXX

簽名驗簽服務器技術(shù)規(guī)范

1范圍

本標準規(guī)定了簽名驗簽服務器的功能要求、安全要求、接口要求和消息協(xié)議語法規(guī)范等

有關(guān)內(nèi)容。

本標準適用于簽名驗簽服務器的研制設(shè)計、應用開發(fā)、管理和使用,也可用于指導簽名

驗簽服務器的檢測。

2規(guī)范性引用文件

下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適

用于本文件,凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T9813-2000微型計算機通用規(guī)范

GB/T19713-2005信息技術(shù)安全技術(shù)公鑰基礎(chǔ)設(shè)施在線證書狀態(tài)協(xié)議

GB/T20518-2006信息安全技術(shù)公鑰基礎(chǔ)設(shè)施數(shù)字證書格式

GB/T25056-2010信息安全技術(shù)證書認證系統(tǒng)密碼及其相關(guān)安全技術(shù)規(guī)范

GB/T25069-2010信息安全技術(shù)術(shù)語

GB/T32905-2016信息安全技術(shù)SM3密碼雜湊算法

GB/T32918-2016信息安全技術(shù)SM2橢圓曲線公鑰密碼算法

GB/T33560-2017信息安全技術(shù)密碼應用標識規(guī)范

GB/TAAAA信息安全技術(shù)SM2密碼算法使用規(guī)范

GB/TBBBB信息安全技術(shù)SM2密碼算法加密簽名消息語法規(guī)范

GB/TCCCC信息安全技術(shù)密碼設(shè)備應用接口規(guī)范

GB/TDDDD信息安全技術(shù)智能密碼鑰匙應用接口規(guī)范

GM/T0020證書應用綜合服務接口規(guī)范

3術(shù)語和定義

下列術(shù)語和定義適用于本文件。

3.1

3.2安全域securitydomain

在信息系統(tǒng)中,單一安全策略下運行的實體的匯集。例如,由單個或一組認證機構(gòu)采用

同一安全策略創(chuàng)建的各公鑰證書的匯集。

3.3

3.4簽名驗簽服務器signandverifyserver

用于服務端的,為應用實體提供基于PKI體系和數(shù)字證書的數(shù)字簽名、驗證簽名等運算

功能的服務器,可以保證關(guān)鍵業(yè)務信息的真實性、完整性和不可否認性。

1

GB/TXXXXX—XXXX

3.5

3.6應用實體applicationentity

簽名驗簽服務器的服務對象,可以是個人、機構(gòu)或系統(tǒng),其私鑰存儲在簽名驗簽服務器

的密碼設(shè)備中,能夠使用簽名驗簽服務器進行簽名及驗簽運算。

3.7

3.8用戶user

與應用實體進行通信或認證的個人、機構(gòu)或系統(tǒng),其數(shù)字證書可導入到簽名驗簽服務器

中。

3.9

3.10SM2算法SM2algorithm

由GB/T32918定義的一種算法。

3.11

3.12SM3算法SM3algorithm

由GB/T32905定義的一種算法。

4縮略語

下列縮略語適用于本文件。

API應用程序接口(ApplicationProgramInterface)

CA證書認證機構(gòu)(CertificationAuthority)

CRL證書撤銷列表(CertificateRevocationList)

LDAP輕量級目錄訪問協(xié)議(LightweightDirectoryAccessProtocol)

OCSP在線證書狀態(tài)查詢協(xié)議(OnlineCertificateStatusProtocol)

PKCS公鑰密碼標準(Public-KeyCryptographyStandard)

PKI公鑰密碼基礎(chǔ)設(shè)施(PublicKeyInfrastructure)

5簽名驗簽服務器的功能要求

5.1初始化功能

簽名驗簽服務器的初始化主要包括系統(tǒng)配置、生成管理員等,使設(shè)備處于正常工作狀態(tài)。

5.2與CA基礎(chǔ)設(shè)施的連接配置功能

5.2.1CRL連接配置

簽名驗簽服務器應支持CRL連接配置功能,通過配置管理界面,提供從CRL發(fā)布點獲取

CRL、導入CRL等功能。

5.2.2OCSP連接配置

簽名驗簽服務器可支持OCSP連接配置功能,通過配置管理界面,進行OCSP服務的連接

配置管理。OCSP連接配置應遵循GB/T19713-2005。

5.3應用管理功能

簽名驗簽服務器的應用管理功能主要包括應用實體的注冊、配置密鑰、設(shè)置私鑰授權(quán)碼

等,并按照安全機制對應用實體的信息進行安全存儲。應用實體注冊的內(nèi)容應包括設(shè)置應用

實體名稱、配置密鑰索引號、導入證書、設(shè)置IP地址(可選)等。

2

GB/TXXXXX—XXXX

5.4證書管理和驗證功能

5.4.1應用實體的密鑰產(chǎn)生、證書申請

在簽名驗簽服務器注冊的應用實體,應由簽名驗簽服務器產(chǎn)生應用實體的簽名密鑰對和

證書請求,并支持通過管理界面導入應用實體的簽名證書、加密證書和加密密鑰對。加密密

鑰對的保護結(jié)構(gòu)應遵循GB/TDDDD中6.4.10的要求。

5.4.2用戶證書導入和存儲

簽名驗簽服務器應支持用戶證書、根證書或證書鏈的導入,導入時應對證書的有效性進

行驗證。

5.4.3應用實體的證書更新

應用實體的證書更新時應保存原來的證書,以防止以前的簽名不能驗證。

5.4.4證書驗證

簽名驗簽服務器應支持對證書的有效性的驗證,包括驗證證書有效期、驗證證書簽名有

效性、驗證證書狀態(tài)。

5.4.5備份/恢復

簽名驗簽服務器應支持備份/恢復功能,包括密鑰、證書等數(shù)據(jù)的備份/恢復。

備份操作產(chǎn)生的備份文件可存儲到簽名驗簽服務器外的存儲介質(zhì)中,應采取措施保證備

份文件的完整性。

5.5數(shù)字簽名功能

簽名驗簽服務器應支持SM2算法的數(shù)字簽名功能,提供對數(shù)據(jù)、消息、文件等多種格式

的運算方式。

當簽名驗簽服務器的公鑰算法為SM2算法時,數(shù)據(jù)的結(jié)構(gòu)遵循GB/TAAAA或GB/TBBBB。

5.6日志管理功能

簽名驗簽服務器應提供日志記錄、查看、審計和導出功能,具備相應的配置管理和查看

界面。日志內(nèi)容分為系統(tǒng)管理日志、異常事件、系統(tǒng)服務日志等,包括登錄認證、系統(tǒng)配

置、密鑰管理等操作,認證失敗、非法訪問等異常事件的記錄,以及與設(shè)備管理中心連接,

對相應操作進行記錄,對應用接口的調(diào)用進行日志記錄。

5.7時間源同步功能

簽名驗簽服務器應能夠配置時間源服務器,自動同步時間。

6簽名驗簽服務器的安全要求

6.1密碼設(shè)備要求

簽名驗簽服務器應使用國家密碼管理局審批的密碼設(shè)備。調(diào)用密碼設(shè)備的接口API應遵

循GB/TCCCC。

3

GB/TXXXXX—XXXX

6.2系統(tǒng)要求

簽名驗簽服務器所使用的操作系統(tǒng)應進行安全加固,裁減一切不需要的模塊,關(guān)閉所有

不需要的端口和服務。

6.3使用要求

簽名驗簽服務器只接受合法的操作指令,并防止非授權(quán)用戶的使用。

6.4管理要求

6.4.1管理工具

簽名驗簽服務器通過管理工具實現(xiàn)對該簽名驗簽服務器的管理功能。

6.4.2管理員身份鑒別

簽名驗簽服務器的管理界面應具備完善的身份鑒別機制,通過智能密碼鑰匙、智能IC

卡等硬件介質(zhì)與口令相結(jié)合的方式實現(xiàn)管理員身份的鑒別。管理員登錄成功后,通過管理界

面進行應用管理、證書管理、系統(tǒng)配置以及日志查詢等管理操作。

6.4.3設(shè)備管理

設(shè)備初始化

簽名驗簽服務器的初始化,除應由廠商進行的操作外,系統(tǒng)配置、密鑰的生成(恢復)

與安裝、生成管理員等均應由用戶方設(shè)備管理人員完成。

設(shè)備自檢

簽名驗簽服務器應具備自檢功能,包括自身自檢和密碼設(shè)備自檢。簽名驗簽服務器使用

的密碼設(shè)備應具備狀態(tài)和功能自檢功能,能夠進行密碼算法正確性檢查、隨機數(shù)發(fā)生器檢查、

存儲密鑰和數(shù)據(jù)的完整性檢查等。簽名驗簽服務器的自身自檢包括密碼功能檢測、存儲信息

的完整性檢查等。在檢查不通過時應報警并停止工作。

6.5設(shè)備物理安全防護

簽名驗簽服務器在工藝設(shè)計、硬件配置等方面要采取相應的保護措施,保證設(shè)備基本的

物理安全防護功能。

6.6網(wǎng)絡部署要求

簽名驗簽服務器應部署在應用系統(tǒng)的安全域內(nèi),只為安全域內(nèi)的應用實體和用戶服務,

不能為安全域外的用戶使用,不能連接互聯(lián)網(wǎng)。

6.7服務接口

以消息包方式提供服務的簽名驗簽服務器,其接口應遵循附錄A的要求,響應碼的定義

應遵循附錄D的要求。

以WEB方式提供服務的簽名驗簽服務器,其接口應遵循附錄B或附錄C的要求,響應碼

的定義應遵循附錄D的要求。

以應用程序接口提供服務的簽名驗簽服務器,其接口應遵循GM/T0020的要求。

應用實體可以通過內(nèi)部網(wǎng)絡、USB或者其他接口形式與簽名驗簽服務器連接。

4

GB/TXXXXX—XXXX

6.8環(huán)境適應性

簽名驗簽服務器的工作環(huán)境應遵循GB/T9813中關(guān)于“氣候環(huán)境適應性”的要求。

6.9可靠性

簽名驗簽服務器的平均無故障工作時間應不低于20000小時。

5

GB/TXXXXX—XXXX

附錄A

(規(guī)范性附錄)

消息協(xié)議語法規(guī)范

A.1概述

簽名驗簽服務的消息協(xié)議接口采用請求響應模式,如圖A.1所示。協(xié)議模型由請求者、

響應者和它們之間的交互協(xié)議組成。通過本協(xié)議,請求者將數(shù)字簽名、驗證數(shù)字簽名等請求

發(fā)送給響應者,由響應者完成簽名驗簽服務并返回結(jié)果。本規(guī)范中的接口消息協(xié)議包括導出

證書、解析證書、驗證證書有效性、數(shù)字簽名、驗證數(shù)字簽名、消息簽名、驗證消息簽名等

服務功能,每個服務都按照請求--響應的步驟執(zhí)行。請求者可通過本協(xié)議獲得簽名驗簽功能,

而不必關(guān)心下層PKI公鑰密碼基礎(chǔ)設(shè)施的實現(xiàn)細節(jié)。

圖A.1簽名驗簽服務消息協(xié)議

請求者組織業(yè)務服務請求,發(fā)送到響應者,并延緩自身的事務處理過程,等待響應者響

應返回;響應者接收到來自請求者的業(yè)務服務請求后,檢查請求的合法性,根據(jù)請求類型處

理服務請求,并將處理結(jié)果返回給請求者。

下面的協(xié)議內(nèi)容將按照圖A.1所示的框架進行。

A.2協(xié)議內(nèi)容

協(xié)議內(nèi)容如下:

a)請求:

也稱業(yè)務服務請求,包含請求者業(yè)務請求的類型、性質(zhì)以及特性數(shù)據(jù)等,該請求將被發(fā)

送到響應者并得到服務。服務請求包括如下數(shù)據(jù):

——協(xié)議版本(當前版本為1);

——請求類型;

——請求包;

——請求時間。

b)響應:

指響應者對來自請求者請求的處理響應。響應者的響應包括如下數(shù)據(jù):

——協(xié)議版本(當前版本為1);

6

GB/TXXXXX—XXXX

——響應類型;

——響應包;

——響應時間。

c)異常情況:

當響應者處理發(fā)生錯誤時,需要向請求者發(fā)送錯誤信息。錯誤可以是下列兩類:

——請求失?。喉憫唑炞C來自請求者業(yè)務請求數(shù)據(jù)失敗,請求者收到該響應后應重新

組織業(yè)務請求數(shù)據(jù)進行發(fā)送。

——內(nèi)部處理失?。喉憫咛幚碚埱笳邩I(yè)務請求過程中發(fā)生內(nèi)部錯誤,響應者通知請求

者該請求處理失敗,請求者需重新組織業(yè)務請求數(shù)據(jù)進行發(fā)送。

本規(guī)范采用抽象語法表示法(ASN.1)來描述具體協(xié)議內(nèi)容。如果無特殊說明,默認使

用ASN.1顯式標記。

A.3請求協(xié)議

A.3.1請求數(shù)據(jù)格式

請求者請求數(shù)據(jù)的基本格式如下:

SVSRequest::=SEQUENCE{

versionVersionDEFAULTv1,

reqTypeReqType,

requestRequest,

reqTime[0]IMPLICITGeneralizedTimeOPTIONAL,

reqTimeStampToken[1]IMPLICITReqTimeStampTokenOPTIONAL,

extAttributes[2]IMPLICITExtAttributesOPTIONAL

}

其中:

Version::=INTEGER{v1(0)}

ReqType::=INTEGER{

exportCert(0),

parseCert(1),

validateCert(2),

signData(3),

verifySignedData(4),

signDataInit(5),

7

GB/TXXXXX—XXXX

signDataUpdate(6),

signDataFinal(7),

verifySignedDataInit(8),

verifySignedDataUpdate(9),

verifySignedDataFinal(10),

signMessage(11),

verifySignedMessage(12)

}

Request::=OCTETSTRING{

exportUserCertReq[0]IMPLICTExportUserCertReq,

parseCertReq[1]IMPLICTParseCertReq,

validateCertReq[2]IMPLICTValidateCertReq,

signDataReq[3]IMPLICTSignDataReq,

verifySignedDataReq[4]IMPLICTVerifySignedDataReq,

signDataInitReq[5]IMPLICTSignDataInitReq,

signDataUpdateReq[6]IMPLICTSignDataUpdateReq,

signDataFinalReq[7]IMPLICTSignDataFinalReq,

verifySignedDataInitReq[8]IMPLICTVerifySignedDataInitReq,

verifySignedDataUpdateReq[9]IMPLICTVerifySignedDataUpdateReq,

verifySignedDataFinalReq[10]IMPLICTVerifySignedDataFinalReq,

signMessageReq[11]IMPLICTSignMessageReq,

verifySignedMessageReq[12]IMPLICTVerifySignedMessageReq

}

ReqTimeStampToken::=TimeStampToken

ExtAttributes::=SETOFAttribute

A.3.2SVSRequest及其結(jié)構(gòu)解釋

SVSRequest包含了請求語法中的重要信息,本節(jié)將對該結(jié)構(gòu)作詳細的描述和解釋。

a)協(xié)議版本

本項描述了請求語法的版本號,當前版本為1,取整型值0。

b)請求類型

本項描述了不同業(yè)務的請求類型值,0~999為保留值,不可占用。

c)請求包

8

GB/TXXXXX—XXXX

請求包與請求類型值之間的對應關(guān)系如表A.1所示。

表A.1請求包與請求類型值的對應關(guān)系

請求類型字符描述請求類型值申請包說明

exportCert0導出證書申請包

parseCert1解析證書申請包

validateCert2驗證證書有效性申請包

signData3單包數(shù)字簽名申請包

verifySignedData4單包驗證數(shù)字簽名申請包

signDataInit5多包數(shù)字簽名初始化申請包

signDataUpdate6多包數(shù)字簽名更新申請包

signDataFinal7多包數(shù)字簽名結(jié)束申請包

verifySignedDataInit8多包驗證數(shù)字簽名初始化申請包

verifySignedDataUpdate9多包驗證數(shù)字簽名更新申請包

verifySignedDataFinal10多包驗證數(shù)字簽名結(jié)束申請包

signMessage11單包消息簽名申請包

verifySignedMessage12單包驗證消息簽名申請包

d)請求時間

本項描述請求生成時間,該時間即為請求者產(chǎn)生請求的時間,采用GeneralizedTime

語法表示。

e)請求時間戳

request內(nèi)容的時間戳。如包含此項數(shù)據(jù),簽名服務器應驗證該時間戳。

9

GB/TXXXXX—XXXX

f)擴展數(shù)據(jù)

依據(jù)實際業(yè)務需求添加的擴展數(shù)據(jù)。

A.4響應協(xié)議

A.4.1響應數(shù)據(jù)格式

響應者響應的基本格式如下:

SVSRespond::=SEQUENCE{

versionVersionDEFAULTv1,

respTypeRespType,

respondRespond,

respTime[0]IMPLICITGeneralizedTimeOPTIONAL,

respTimeStampToken[1]IMPLICITRespTimeStampTokenOPTIONAL,

extAttributes[2]IMPLICITExtAttributesOPTIONAL

}

其中:

Version::=INTEGER{v1(0)}

RespType::=INTEGER{

exportCert(0),

parseCert(1),

validateCert(2),

signData(3),

verifySignedData(4),

signDataInit(5),

signDataUpdate(6),

signDataFinal(7),

verifySignedDataInit(8),

verifySignedDataUpdate(9),

verifySignedDataFinal(10),

signMessage(11),

verifySignedMessage(12)

}

Respond::=OCTETSTRING{

10

GB/TXXXXX—XXXX

exportUserCertResp[0]IMPLICTExportUserCertResp,

parseCertResp[1]IMPLICTParseCertResp,

validateCertResp[2]IMPLICTValidateCertResp,

signDataResp[3]IMPLICTSignDataResp,

verifySignedDataResp[4]IMPLICTVerifySignedDataResp,

signDataInitResp[5]IMPLICTSignDataInitResp,

signDataUpdateResp[6]IMPLICTSignDataUpdateResp,

signDataFinalResp[7]IMPLICTSignDataFinalResp,

verifySignedDataInitResp[8]IMPLICTVerifySignedDataInitResp,

verifySignedDataUpdateResp[9]IMPLICTVerifySignedDataUpdateResp,

verifySignedDataFinalResp[10]IMPLICTVerifySignedDataFinalResp,

signMessageResp[11]IMPLICTSignMessageResp,

verifySignedMessageResp[12]IMPLICTVerifySignedMessageResp

}

respTimeStampToken::=TimeStampToken

ExtAttributes::=SETOFAttribute

A.4.2SVSRespond及其結(jié)構(gòu)解釋

SVSRespond包含了響應語法中的重要信息,本節(jié)將對該結(jié)構(gòu)作詳細的描述和解釋。

a)協(xié)議版本

本項描述了響應語法的版本號,當前版本為1,取整型值0。

b)響應類型

本項描述了不同業(yè)務的響應類型值,0~999為保留值,不可占用。

c)響應包

響應包與響應類型值之間的對應關(guān)系如表A.2所示。

表A.2響應包與相應類型值的對應關(guān)系

應答類型字符描述應答類型值響應包說明

exportCert0導出證書響應包

parseCert1解析證書響應包

11

GB/TXXXXX—XXXX

validateCert2驗證證書有效性響應包

signData3單包數(shù)字簽名響應包

verifySignedData4單包驗證數(shù)字簽名響應包

signDataInit5多包數(shù)字簽名初始化響應包

signDataUpdate6多包數(shù)字簽名更新響應包

signDataFinal7多包數(shù)字簽名結(jié)束響應包

verifySignedDataInit8多包驗證數(shù)字簽名初始化響應包

verifySignedDataUpdate9多包驗證數(shù)字簽名更新響應包

verifySignedDataFinal10多包驗證數(shù)字簽名結(jié)束響應包

signMessage11單包消息簽名響應包

verifySignedMessage12單包驗證消息簽名響應包

d)響應時間

本項描述響應生成時間,該時間即為響應者產(chǎn)生響應的時間,采用GeneralizedTime語

法表示。

e)響應時間戳

respond內(nèi)容的時間戳。如包含此項數(shù)據(jù),客戶端應驗證該時間戳。

f)擴展數(shù)據(jù)

依據(jù)實際業(yè)務需求添加的擴展數(shù)據(jù)。

A.5協(xié)議接口功能說明

A.5.1導出證書

——ExportCertReq包

ExportCertReq包為導出證書請求格式包,當reqType取值exportCert時,請求

包采用本子包,其具體格式如下:

ExportCertReq::=SEQUENCE{

12

GB/TXXXXX—XXXX

identificationOCTETSTRING

}

identification表明要導出證書的標識。

——ExportCertResp包

ExportCertResp包為導出證書響應格式包,當respType取值exportCert時,響

應包采用本子包,其具體格式如下:

ExportCertResp::=SEQUENCE{

respValueINTEGER,

certCertificateOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤。

cert表明導出的證書。

A.5.2解析證書

——ParseCertReq包

ParseCertReq包為解析證書請求格式包,當reqType取值parseCert時,請求包

采用本子包,其具體格式如下:

ParseCertReq::=SEQUENCE{

infoTypeINTEGER,

certCertificate

}

infoType表明要解析證書信息的類型,詳細定義見GB/T33560-2017中的6.3.4

證書解析項標識;

cert表示要解析的數(shù)字證書。

——ParseCertResp包

ParseCertResp包為解析證書響應格式包,當respType取值parseCert時,響應

包采用本子包,其具體格式如下:

ParseCertResp::=SEQUENCE{

respValueINTEGER,

infoOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤。

13

GB/TXXXXX—XXXX

info表示獲取的證書信息。

A.5.3驗證證書有效性

——ValidateCertReq包

ValidateCertReq包為驗證證書有效性請求格式包,當reqType取值validateCert

時,請求包采用本子包,其具體格式如下:

ValidateCertReq::=SEQUENCE{

certCertificate,

ocspBOOLEANDEFAULTFALSE

}

cert表示要驗證證書有效性的數(shù)字證書;

ocsp表示是否獲取證書OCSP狀態(tài),默認值為FALSE。

——ValidateCertResp包

ValidateCertResp包為驗證證書有效性響應格式包,當respType取值

validateCert時,響應包采用本子包,其具體格式如下:

ValidateCertResp::=SEQUENCE{

respValueINTEGER,

stateINTEGEROPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

state表明獲取的證書OCSP狀態(tài)標識。

A.5.4單包數(shù)字簽名

——SignDataReq包

SignDataReq包為單包數(shù)字簽名請求格式包,當reqType取值signData時,請求

包采用本子包,其具體格式如下:

SignDataReq::=SEQUENCE{

signMethodINTEGER,

keyIndexINTEGER,

keyValueOCTETSTRING,

signerIDLen[0]IMPLICTINTEGEROPTIONAL,

signerID[1]IMPLICTOCTETSTRINGOPTIONAL,

inDataLenINTEGER,

inDataOCTETSTRING

14

GB/TXXXXX—XXXX

}

signMethod表明使用的簽名算法類型,詳細定義見GB/T33560-2017中的6.2.4

簽名算法標識;

keyIndex表示簽名者私鑰的索引值,如十進制1表示索引值為1的密鑰;

keyValue表示簽名者私鑰權(quán)限標識碼;

signerIDLen表示簽名者的ID長度,當signMethod為SGD_SM3_SM2時有效;

signerID表示簽名者的ID值,當signMethod為SGD_SM3_SM2時有效;

inDataLen表示待簽名的數(shù)據(jù)原文長度;

inData表示待簽名的數(shù)據(jù)原文。

——SignDataResp包

SignDataResp包為單包數(shù)字簽名響應格式包,當respType取值signData時,響

應包采用本子包,其具體格式如下:

SignDataResp::=SEQUENCE{

respValueINTEGER,

signatureOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

signature表示簽名值,當公鑰算法為RSA時,數(shù)據(jù)的結(jié)構(gòu)遵循PKCS#1;當公鑰算

法為SM2時,數(shù)據(jù)的結(jié)構(gòu)遵循GB/TAAAA。

A.5.5單包驗證數(shù)字簽名

——VerifySignedDataReq包

VerifySignedDataReq包為單包驗證數(shù)字簽名請求格式包,當reqType取值

verifySignedData時,請求包采用本子包,其具體格式如下:

VerifySignedDataReq::=SEQUENCE{

signMethodINTEGER,

typeINTEGER,

cert[0]IMPLICTCertificateOPTIONAL,

certSN[1]IMPLICTOCTETSTRINGOPTIONAL,

signerIDLen[2]IMPLICTINTEGEROPTIONAL,

signerID[3]IMPLICTOCTETSTRINGOPTIONAL,

inDataLenINTEGER,

15

GB/TXXXXX—XXXX

inDataOCTETSTRING,

signatureOCTETSTRING,

verifyLevelINTEGER

}

signMethod表明使用的簽名算法類型,詳細定義見GB/T33560-2017中的6.2.4

簽名算法標識;

type表示使用驗證數(shù)字簽名時使用證書或證書序列號,1表示使用證書,2表示使

用證書序列號;

cert表示簽名證書,type取值1時有效;

certSN表示簽名證書序列號,type取值2時有效;

signerIDLen表示簽名者的ID長度,當signMethod為SGD_SM3_SM2時有效;

signerID表示簽名者的ID值,當signMethod為SGD_SM3_SM2時有效;

inDataLen表示待簽名的數(shù)據(jù)原文長度;

inData表示待簽名的數(shù)據(jù)原文;

signature表示簽名值,當公鑰算法為RSA時,數(shù)據(jù)的結(jié)構(gòu)遵循PKCS#1;當公鑰算

法為SM2時,數(shù)據(jù)的結(jié)構(gòu)遵循GB/TAAAA;

verifyLevel表示證書驗證級別,0:驗證時間,1:驗證時間和根證書簽名,2:驗

證時間、根證書簽名和CRL。

——VerifySignedDataResp包

VerifySignedDataResp包為單包驗證數(shù)字簽名響應格式包,當respType取值

verifySignedData時,響應包采用本子包,其具體格式如下:

VerifySignedDataResp::=SEQUENCE{

respValueINTEGER

}

respValue表明響應碼,0表示成功,非0表示錯誤。

A.5.6多包數(shù)字簽名初始化

——SignDataInitReq包

SignDataInitReq包為多包數(shù)字簽名初始化請求格式包,當reqType取值

signDataInit時,請求包采用本子包,其具體格式如下:

SignDataInitReq::=SEQUENCE{

signMethodINTEGER,

signerPublicKey[0]IMPLICTOCTETSTRINGOPTIONAL,

signerIDLen[1]IMPLICTINTEGEROPTIONAL,

16

GB/TXXXXX—XXXX

signerID[2]IMPLICTOCTETSTRINGOPTIONAL,

}

signMethod表明使用的簽名算法類型,詳細定義見GB/T33560-2017中6.2.4簽

名算法標識;

signerPublicKey表示簽名者公鑰,當signMethod為SGD_SM3_SM2時有效;

signerIDLen表示簽名者的ID長度,當signMethod為SGD_SM3_SM2時有效;

signerID表示簽名者的ID值,當signMethod為SGD_SM3_SM2時有效;

——SignDataInitResp包

SignDataInitResp包為多包數(shù)字簽名初始化響應格式包,當respType取值

signDataInit時,響應包采用本子包,其具體格式如下:

SignDataInitResp::=SEQUENCE{

respValueINTEGER,

SessionIDOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

SessionID表示會話標識。

A.5.7多包數(shù)字簽名更新

——SignDataUpdateReq包

SignDataInitReq包為多包數(shù)字簽名更新請求格式包,當reqType取值

signDataUpdate時,請求包采用本子包,其具體格式如下:

SignDataUpdateReq::=SEQUENCE{

SessionIDOCTETSTRING,

inDataLenINTEGER,

inDataOCTETSTRING

}

SessionID表示會話標識;

inDataLen表示數(shù)據(jù)明文長度;

inData表示數(shù)據(jù)明文。

——SignDataUpdateResp包

SignDataUpdateResp包為多包數(shù)字簽名更新響應格式包,當respType取值

17

GB/TXXXXX—XXXX

signDataUpdate時,響應包采用本子包,其具體格式如下:

SignDataUpdateResp::=SEQUENCE{

respValueINTEGER,

SessionIDOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

SessionID表示會話標識。

A.5.8多包數(shù)字簽名結(jié)束

——SignDataFinalReq包

SignDataReq包為多包數(shù)字簽名結(jié)束請求格式包,當reqType取值signDataFinal

時,請求包采用本子包,其具體格式如下:

SignDataFinalReq::=SEQUENCE{

keyIndexINTEGER,

keyValueOCTETSTRING,

SessionIDOCTETSTRING

}

keyIndex表示簽名者私鑰的索引值,如十進制1表示索引值為1的密鑰;

keyValue表示簽名者私鑰權(quán)限標識碼;

SessionID表示會話標識。

——SignDataFinalResp包

SignDataResp包為多包數(shù)字簽名結(jié)束響應格式包,當respType取值signDataFinal

時,響應包采用本子包,其具體格式如下:

SignDataFinalResp::=SEQUENCE{

respValueINTEGER,

signatureOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

signature表示簽名值,當公鑰算法為RSA時,數(shù)據(jù)的結(jié)構(gòu)遵循PKCS#1;當公鑰算

法為SM2時,數(shù)據(jù)的結(jié)構(gòu)遵循GB/TAAAA。

A.5.9多包驗證數(shù)字簽名初始化

——VerifySignedDataInitReq包

VerifySignedDataInitReq包為多包驗證數(shù)字簽名初始化請求格式包,當reqType

取值verifySignedDataInit時,請求包采用本子包,其具體格式如下:

18

GB/TXXXXX—XXXX

VerifySignedDataInitReq::=SEQUENCE{

signMethodINTEGER,

signerPublicKey[0]IMPLICTOCTETSTRINGOPTIONAL,

signerIDLen[1]IMPLICTINTEGEROPTIONAL,

signerID[2]IMPLICTOCTETSTRINGOPTIONAL,

}

signMethod表明使用的簽名算法類型,詳細定義見GB/T33560-2017中6.2.4簽

名算法標識;

signerPublicKey表示簽名者公鑰。當signMethod為SGD_SM3_SM2時有效;

signerIDLen表示簽名者的ID長度,當signMethod為SGD_SM3_SM2時有效;

signerID表示簽名者的ID值,當signMethod為SGD_SM3_SM2時有效;

——VerifySignedDataInitResp包

VerifySignedDataInitResp包為多包驗證數(shù)字簽名初始化響應格式包,當

respType取值verifySignedDataInit時,響應包采用本子包,其具體格式如下:

VerifySignedDataInitResp::=SEQUENCE{

respValueINTEGER,

SessionIDOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

SessionID表示會話標識。

A.5.10多包驗證數(shù)字簽名更新

——VerifySignedDataUpdateReq包

VerifySignedDataUpdateReq包為多包驗證數(shù)字簽名更新請求格式包,當reqType

取值verifySignedDataUpdate時,請求包采用本子包,其具體格式如下:

VerifySignedDataUpdateReq::=SEQUENCE{

SessionIDOCTETSTRING,

inDataLenINTEGER,

inDataOCTETSTRING

}

SessionID表示會話標識;

inDataLen表示數(shù)據(jù)明文長度;

19

GB/TXXXXX—XXXX

inData表示數(shù)據(jù)明文。

——VerifySignedDataUpdateResp包

VerifySignedDataUpdateResp包為多包驗證數(shù)字簽名更新響應格式包,當

respType取值verifySignedDataUpdate時,響應包采用本子包,其具體格式如下:

VerifySignedDataUpdateResp::=SEQUENCE{

respValueINTEGER,

SessionIDOCTETSTRINGOPTIONAL

}

respValue表明響應碼,0表示成功,非0表示錯誤;

SessionID表示會話標識。

A.5.11多包驗證數(shù)字簽名結(jié)束

——VerifySignedDataFinalReq包

VerifySignedDataReq包為多包驗證數(shù)字簽名結(jié)束請求格式包,當reqType取值

verifySignedDataFinal時,請求包采用本子包,其具體格式如下:

VerifySignedDataFinalReq::=SEQUENCE{

typeINTEGER,

cert[0]IMPLICTCertificateOPTIONAL,

certSN[1]IMPLICTOCTETSTRINGOPTIONAL,

SessionIDOCTETSTRING,

signatureOCTETSTRING,

verifyLevelINTEGER

}

type表示使用驗證數(shù)字簽名時使用證書或證書序列號,1表示使用證書,2表示使

用證書序列號;

cert表示簽名證書,type取值1時有效;

certSN表示簽名證書序列號,type取值2時有效;

SessionID表示會話標識;

signature表示簽名值,當公鑰算法為RSA時,數(shù)據(jù)的結(jié)構(gòu)遵循PKCS#1;當公鑰算

法為SM2時,數(shù)據(jù)的結(jié)構(gòu)遵循GB/TAAAA。

verifyLevel表示證書驗證級別,0:驗證時間,1:驗證時間和根證書簽名,2:驗

證時間、根證書簽名和CRL。

——VerifySignedDataFinalResp包

VerifySignedDataFinalResp包為多包驗證數(shù)字簽名結(jié)束響應格式包,當respType

20

GB/TXXXXX—XXXX

取值verifySignedDataFinal時,響應包采用本子包,其具體格式如下:

VerifySignedDataFinalResp::=SEQUENCE{

respValueINTEGER

}

respValue表明響應碼,0表示成功,非0表示錯誤。

A.5.12消息簽名

——SignMessageReq包

SignMessageReq包為消息簽名請求格式包,當reqType取值signMessage時,請

求包采用本子包,其具體格式如下:

SignMessageReq::=SEQUENCE{

signMethodINTEGER,

keyIndexINTEGER,

keyValueOCTETSTRING,

signerIDLen[0]IMPLICTINTEGEROPTIONAL,

signerID[1]IMPLICTOCTETSTRINGOPTIONAL,

inDataLenINTEGER,

inDataOCTETSTRING,

originalText[0]IMPLICTBOOLEANOPTIONAL,

certificateChain[1]IMPLICTBOOLEANOPTIONAL,

crl[2]IMPLICTBOOLEANOPTIONAL,

}

signMethod表明使用的簽名算法類型,詳細定義見GB/T33560-2017中6.2.4簽

名算法標識;

keyIndex表示簽名者私鑰的索引值,如十進制1表示索引值為1的密鑰;

keyValue表示簽名者私鑰權(quán)限標識碼;

signerIDLen表示簽名者的ID長度,當signMethod為SGD_SM3_SM2時有效;

signerID表示簽名者的ID值,當signMethod為SGD_SM3_SM2時有效;

inDataLen表示待簽名的數(shù)據(jù)長度;

inData表示待簽名的數(shù)據(jù);

originalText表示是否附加原文選項;

certificateChain表示是否附加證書鏈選項;

21

GB/TXXXXX—XXXX

crl表示是否附加黑名單選項。

——SignMessageResp包

SignMessageResp包為消息簽名響應格式包,當respType取值signMessage時,

響應包采用本子包,其具體格式如下:

SignMessageResp::=SEQUENCE{

respValueINTEGER,

signedMessageOCTETSTRINGOPTIONAL

溫馨提示

  • 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

提交評論