使用开源代码openssl,如何修改代码使其不支持sslv3
1个回答
2014-12-04
展开全部
您好,很高兴能帮助您
公私钥:公钥可以唯一解密私钥加密过的数据,反之亦然。
以下用P指代公钥,V指代私钥。 SSL过程:需要两对公私钥(P1,V1),(P2,V2),假设通信双方是A和B,B是服务器,A要确认和它通信的是B: A->B: hello B->A: 用V2加密过的P1
(即用户证书,A就用P2解密出P1) A->B: ok B->A: 用V1加密的一段信息 A->B: 用P1加密一个自动生成的K(用之前的P1解密成功这段信息则认为B是可信的了)
B->A: 用K加密的数据(之后两对密钥功能结束,由K来加解密数据)
这里,P2就是第3方的CA证书,由于非对称加密很慢,
所以公私钥只是用来保证K的传送安全,之后通信是用K的对称加密算法来保证。
为什么通过以上过程A就能够确定肯定是B,而不是某个C在假装B了呢?
因为这个过程中,B用V1加密过一段信息发给A,A也成功解开了。
我们开头谈到公钥(P1)只可以唯一解密私钥(V1)加密过的信息,
这样A就可以完全相信B是拥有V1的,而V1是严格保密,只被服务提供公司拥有,
所以保证了通信的服务方正确性。 这里(P2,V2)就是certificate authority (CA)用来给客户签名用的公私钥。 (P1,V1)是客户自己的公私钥,提交给CA,CA所做的事情就是用(P2,V2)来给客户的(P1,V1)签名,简单吧? V2是CA公司要保密的,而P2就是公用CA证书。
用V2加密过(签名过)的P1,称为用户证书,一般被安装在服务器端。
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
公私钥:公钥可以唯一解密私钥加密过的数据,反之亦然。
以下用P指代公钥,V指代私钥。 SSL过程:需要两对公私钥(P1,V1),(P2,V2),假设通信双方是A和B,B是服务器,A要确认和它通信的是B: A->B: hello B->A: 用V2加密过的P1
(即用户证书,A就用P2解密出P1) A->B: ok B->A: 用V1加密的一段信息 A->B: 用P1加密一个自动生成的K(用之前的P1解密成功这段信息则认为B是可信的了)
B->A: 用K加密的数据(之后两对密钥功能结束,由K来加解密数据)
这里,P2就是第3方的CA证书,由于非对称加密很慢,
所以公私钥只是用来保证K的传送安全,之后通信是用K的对称加密算法来保证。
为什么通过以上过程A就能够确定肯定是B,而不是某个C在假装B了呢?
因为这个过程中,B用V1加密过一段信息发给A,A也成功解开了。
我们开头谈到公钥(P1)只可以唯一解密私钥(V1)加密过的信息,
这样A就可以完全相信B是拥有V1的,而V1是严格保密,只被服务提供公司拥有,
所以保证了通信的服务方正确性。 这里(P2,V2)就是certificate authority (CA)用来给客户签名用的公私钥。 (P1,V1)是客户自己的公私钥,提交给CA,CA所做的事情就是用(P2,V2)来给客户的(P1,V1)签名,简单吧? V2是CA公司要保密的,而P2就是公用CA证书。
用V2加密过(签名过)的P1,称为用户证书,一般被安装在服务器端。
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询