客户端服务器非对称加密流程

本文详细解析了数字证书的概念、作用以及加密流程的核心要素。通过实例演示,阐述了如何验证证书的真实性以及确保通信安全的过程。从数字签名到公钥加密,再到对称加密的运用,一步步揭示了信息安全领域的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了一下午数字证书的内容,总结一下。

 

1.数字证书是数字证书,数字签名是数字签名,两回事。

2.公钥加密,私钥解密;私钥加密,公钥解密;只有这两种情况

3.所谓签名,就是用一个签名算法,把需要签名的内容计算成你不认识的一段字符串,然后附在内容的后边。

4.只要内容改变,签名的字符串就会完全改变。不信的请自己测试“1”和“11”的sha1值。

5.(重点)个人认为整个加密流程的要点是两件事:

a.内容有没有被修改

b.是不是当事人发送的(不管是双方中的哪一方)

6.CA机构颁发证书的时候会用CA机构的私钥加密指纹和指纹算法。而当客户端拿到一个证书的时候,会在windows系统中找到这个CA机构的公钥,并用这个公钥来解密指纹和指纹算法。

 

 

最后,做个举例总结:

 

服务器为了跟别人安全通信,去CA认证机构申请了数字证书。数字证书包括服务器的公钥,认证机构,指纹,指纹算法等信息。客户端向服务器请求通信,服务器把数字证书给了客户端。客户端需要一个可以信任的证书机构,所以客户端在windows系统中查找所获证书的颁发机构,找到后使用系统自带的证书公钥解开指纹和指纹算法,客户端使用获得的指纹算法对证书内容本身进行了计算,使用计算后的指纹和证书中的指纹对比,如果一致则认为证书没有被修改。此时就可确定证书中的公钥确实是服务器的公钥。
客户端用服务器的公钥加密了一个随机字符串发送给服务器,服务器收到后用对应私钥加密,然后将加密的字符串发送给客户端。客户端如果使用证书中得到的公钥成功解密,则认为证书的发送方确实是服务器。此时既确定了证书(实际就是公钥内容)没有被修改,也确定了证书发送方确实是服务器。
此时客户端生成一个对称加密密钥(对称加密无所谓公钥私钥),客户端使用服务端的公钥将对称加密算法和密钥发送给服务端,之后客户端和服务端使用该对称加密密钥进行通讯,至此大功告成。
参考:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值