7.1 數據格式
7.1.1 簽章數據結構
電子簽章數據由簽章信息、簽章者證書、簽名算法標識、簽名值、時間戳等組成。
電子簽章數據結構如圖6所示:

圖6電子簽章數據結構示意圖
電子簽章數據的ASN.1定義為:
SES_Signature::=SEQUENCE{
toSign TBS_Sign, ——簽章信息
cert OCTET STRING, ——簽章者數字證書
signatureAlgID OBJECT IDENTIFIER, ——簽名算法標識
signature BIT STRING, ——簽名值
timeStamp [0] BIT STRING OPTIONAL ——對簽名值的時間戳
}
7.1.2 簽章信息
簽章信息由版本號、電子印章、簽章時間、原文雜湊值、原文屬性、自定義數據等組成,結構如圖7所示:

圖7簽章信息的數據結構示意圖
TBS_Sign::=SEQUENCE{
version INTEGER, ——電子簽章的版本, 與電子印章版本號保持一致;
eseal SESeal, ——電子印章
timeInfo GeneralizedTime, ——簽章時間
dataHash BIT STRING, ——原文雜湊值
propertyInfo IA5String, ——原文數據的屬性
extDatas [0] ExtensionDatas OPTIONAL ——自定義數據
}
其中:
version:簽章數據格式版本號,該版本號與電子印章版本號保持一致;
eseal:生成電子簽章使用的電子印章;
timeInfo:電子簽章對應的時間,可以是GeneralizedTime時間;
dataHash:待簽名原文的雜湊值;
propertyInfo:原文數據的屬性,如文檔ID、日期、段落、原文內容的字節數、指示信息、簽名保護范圍等,此部分受簽名保護,propertyInfo的具體結構可自行定義,但至少應包含簽名保護范圍;
extDatas:廠商自定義數據;
7.1.3 簽章者證書
cert:簽章者的數字證書,符合GB/T 20518,按DER編碼格式存放;
7.1.4 簽名算法標識
signatureAlgID:簽名算法標識,遵循GB/T 33560,應與簽章者證書中的算法聲明保持一致。
例如,基于SM2和SM3算法的數字簽名OID為1.2.156.10197.1.501;
7.1.5 簽名值
signature:簽章者對簽章信息TBS_Sign進行數字簽名的結果;注意簽名過程中的原文雜湊所采用的算法應與簽名算法保持協調,如果簽名算法是SM2,則雜湊算法應采用SM3算法。如果簽名算法使用SM2,則遵循GB/T 35276。
7.1.6 時間戳
timeStamp:對簽名值的時間戳,遵循GB/T 20520,時間戳格式按DER編碼存放。
GB/T 385400-2020信息安全技術-安全電子簽章密碼技術規范
推薦文章: