电子签章项目流程

(一)签章部分
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验签
原文地址:https://www.cnblogs.com/405845829qq/p/4369341.html