https://www.csdn.net/gather_22/MtzaIgysNDgtYmxvZwO0O0OO0O0O.html
什么加密,签名
下面这个博客解释的很好: https://www.cnblogs.com/f-ck-need-u/p/6089523.html
签名
在保证了数据的安全性后,还需要保证数据的完整性、一致性以及数据来源的可靠性。
对于数据的完整性和一致性,使用单向加密算法,通过hash函数计算出数据独一无二的校验码,这个校验码称为“信息摘要(Message Digest)”。
对于数据来源可靠性,使用自己的私钥加密即可验证身份,因为获得数据后使用公钥不能解密的就证明数据不是配对私钥加密的。但是私钥加密速度慢,所以只用私钥加密摘要信息,加密后的摘要信息称为“数字签名(Signature)”。
用户获得数字签名后的数据,首先使用数据来源方的公钥解密,这样获得了数据和信息摘要部分,并确认了数据来源的可靠性。由于这时候数据部分是没有被加密的,所以用户也可以使用同种单向加密算法计算出摘要信息,然后对比来源方的摘要信息和自己计算出的摘要信息,如果相等则证明数据完全未被修改过,是完整一致的。
因此只要使用数字签名就能保证数据来源的可靠性、数据的完整性和一致性。
什么是CA:
CA(Certificate Authority)是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。
CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。
SSL证书中DN(Distiguish Name)识别名的结构:
遵循x.50