-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第 45 题:HTTPS 握手过程中,客户端如何验证证书的合法性 #74
Comments
|
1、首先什么是HTTP协议? 3、解决困境:权威的证书颁发机构CA来解决; 4、https主要的思想是在http基础上增加了ssl安全层,即以上认证过程;: |
慢慢学 |
(1)首先浏览器读取证书中的证书所有者、有效期等信息进行校验,校验证书的网站域名是否与证书颁发的域名一致,校验证书是否在有效期内 |
有一部分不太理解,既然机构有自己的公-私密钥对,那么机构用自己的私钥加密了服务器上交的公钥key1,之后客户端在拿到服务器传来的证书时,是怎么解密获得服务器的公钥key1呢?这个答案说是拿机构的公钥解密,这也不太对啊? |
能用颁发者CA 的公钥解密成功,不就已经说明是合法的了么 |
加密通信的时候,中间人截取的公钥替换成自己的公钥过后,客户端用替换过的公钥加密对称加密的密钥对,服务端怎么能够通过自己的私钥解密出来用其他公钥加密的这个密钥对呢? |
通过证书链 |
|
1.服务器 用RSA生成公钥和私钥 |
"于是人们又想出来另外一种方式,使用非对称加密的方式;使用公钥/私钥加解密;通信方A发起通信并携带自己的公钥,接收方B通过公钥来加密对称秘钥;然后发送给发起方A;A通过私钥解密;双发接下来通过对称秘钥来进行加密通信;但是这种方式还是会存在一种安全性;中间人虽然不知道发起方A的私钥,但是可以做到偷天换日,将拦截发起方的公钥key;并将自己生成的一对公/私钥的公钥发送给B;接收方B并不知道公钥已经被偷偷换过;按照之前的流程,B通过公钥加密自己生成的对称加密秘钥key2;发送给A; 这段话不对吧,服务端只是不会发送私钥给客户端,而客户端只是需要公钥进行加密,服务端使用私钥进行解密(客户端是不知道私钥的,客户端只能公钥进行加密,无法解密)。就算是要进行签名,也不会使用服务端中那个私钥进行签名(服务端的私钥是不会暴露出来的),而是另外一对公/私钥。怎么进行偷天换日? |
The text was updated successfully, but these errors were encountered: