数字签名的技术流程描述

1、发送者使用摘要算法对发送信息产生信息摘要

2、发送者使用自己的私钥对信息摘要进行签名

3、发送者将信息本身和已签名的摘要一起发送出去

4、接收者使用相同的摘要算法对信息本身计算信息摘要

5、接收者使用发送者的公钥对签名的摘要就行验签,获得信息发送者的信息摘要

6、接收者比对自己产生的摘要与发送者产生的摘要,是否一致。如果相同则信息没有被修改过,否则就是被修改过。

数字签名

PKCS#1规范规定了使用RSA算法进行签名时的摘要格式,摘要格式用ASN.1描述:

DigestInfo::=SEQUENCE{

    digetstAlgorithm   DigetstAlgorithm ,

    digest  OCTET STRING

}

PKCS#7规定了数字起那么消息的具体封装格式,封装格式使用ASN.1描述:

SignedData::=SEQUECE{

    version    Version,

    digetstAlgorithms    digetstAlgorithmIdentifiers,

    contentInfo  ContentInfo,

   certificates[0] IMPLICIT ExtendedCertificatesAndCertificates OPTIONAL,

   crls[1] IMPLICIT    CertificateRevocationLists OPTIONAL,

    signerInfos     SignerInfos

}

相关文章:

猜你喜欢
  • 2021-06-08
  • 2021-12-30
相关资源
相似解决方案