(一)簽章部分
1、驗證PIN碼
2、通過印章ID從Key里獲取印章的信息
3、驗證簽章人證書的有效性
1、證書信任鏈驗證
2、證書有效期驗證
3、證書是否被吊銷(還沒實現)
4、算法OID對比
4、驗證電子印章的合規性和有效性
1、驗證電子印章簽名值是否正確
1、組印章簽名信息中被簽名內容的結構體(包括印章信息和制章人公鑰和算法ID)
2、對上面的內容做摘要
3、通過制章人公鑰,摘要,簽名值驗證簽名值的正確性
2、驗證電子印章制章人證書的有效性
1、證書信任鏈驗證
2、證書有效期驗證
3、證書是否被吊銷(還沒實現)
4、算法OID對比
3、驗證電子印章的有效期( 判斷印章有效起始日期和有效終止日期,驗證電子印章是否過期)
5、組7項,即待簽章的數據(包括版本號,印章數據,時間信息,原文雜湊值,原文屬性信息,簽章人數字證書,簽名算法標識)
6、對待簽章數據進行ECC簽名獲得簽名值
7、組電子簽章數據(包含待簽章數據和對待簽章數據的簽名值)
(二)驗簽部分
1、驗證PIN碼
2、驗證印章數據格式合規性(DER解碼就行)
3、電子驗章流程驗證
1、驗證簽章人證書的有效性(
其中驗證簽章人證書的有效性是和當前時間比較會有問題么?)
2、驗證簽章時間有效性(簽章時間和簽章人證書的有效期比較)
3、電子印章驗證
1、驗證電子印章簽名值是否正確
1、組印章簽名信息中,被簽名內容的結構體(包括印章信息和制章人公鑰和算法ID)
2、對上面的內容做摘要
3、通過制章人公鑰,摘要,簽名值驗證簽名值的正確性
2、驗證電子印章制章人證書的有效性
1、證書信任鏈驗證
2、證書有效期驗證
3、證書是否被吊銷(還沒實現)
4、算法OID對比
3、驗證電子印章的有效期(分在線和離線兩種)
1、離線:通過印章有效期,印章制作時間和當前時間比較,驗證電子印章是否過期
2、在線:通過調用服務器獲取數據通過判斷狀態等信息來判斷是否有效
4、根據簽章數據獲取版本號、待簽章數據、章的公鑰、對待簽章數據的ECC簽名值
5、對獲取的待簽章數據做摘要
6、根據入參組7項,即待簽章數據,然后對該部分的待簽章數據做摘要
7、判斷摘要是否相等,不相等則返回
8、通過章的公鑰和6的摘要和4獲取的簽名值做ECC驗簽