1、数字签名

用户A将待发送的信息原文经散列函数运算生成摘要信息,并用自己的私有密钥对摘要信息进行加密,将形成的密文和原文传送给用户B。用户B接收到密文后,使用A的公开密钥验证密文,得到摘要信息,并按照约定的摘要算法对原文进行摘要运算,再将两个摘要值进行比对,一致则表明数据未被篡改。

数字签名实现了用户的身份认证,保证了数据在传输过程中的完整性、和交易的不可否认性;但是,任何拥有发送方公开密钥的人都可以验证数字签名的正确性,因此无法保证数据的机密性。

1.1、Attached签名

Attached签名符合PKCS#7 的语法标准,其特点是将数据原文、签名证书(或证书链)、签名算法、签名数据封装成签名结果,因此,在验证签名时,只需提供签名结果便可。

1.2、Detached签名

Detached签名符合PKCS#7的语法标准,其特点是将签名证书(或证书链)、签名算法、签名数据封装成签名结果。

由于签名结果中不包含数据原文,因此验证签名时,需将签名结果和数据原文一起提交到签名服务器。

1.3、RAW签名

RAW签名也称裸签名,签名结果只包含纯粹的签名数据,即将摘要运算结果和算法OID经过PKCS1Padding之后进行RSA私有密钥加密的结果。

由于签名结果中只包含纯粹的签名数据,因此验证签名时,需将签名结果、数据原文、和签名证书三种数据一起提交到签名服务器。

你可能感兴趣的:(安全性测试)