我确信这已嵌入SSL证书/ HTTPS规范的详细信息中,但我并不完全了解此主题。
如果现代浏览器连接到HTTPS站点,则HTTP请求的主体将被加密。 SSL证书本质上是用于在客户端和服务器之间来回通信的“公共”密钥吗?
黑客无法从公共网站获取公钥,说“https://www.google.com”并监控客户端/服务器流量并解密数据?
此外,客户是否需要验证证书的“颁发者”。例如,自签名证书客户端不需要验证,但对于受信任颁发者提供的证书,证书验证过程中会发生什么?
答案 0 :(得分:1)
服务器的证书包含一个公钥,实际上每个人都可以看到它。反过来,在服务器和客户端之间的握手期间使用此密钥,以便创建将用于加密任何其他消息的唯一会话密钥:
http://en.wikipedia.org/wiki/Secure_Sockets_Layer#TLS_handshake_in_detail
黑客不能从公共网站获取公钥,比如说 “https://www.google.com”并监控客户端/服务器流量并解密 数据?
黑客不会知道会话密钥。他会听(无意义的)加密的东西。
此外,客户是否需要验证证书的“颁发者”。对于 例如,自签名证书客户端不需要验证但是 从受信任的发行人提供的证书,在此期间发生的事情 证书验证过程?
如您所说,证书的颁发者是根据预先定义的受信任机构列表进行验证的。将验证链中的任何证书,包括受信任的颁发者,到期日期。此外,每个证书都包含指向证书吊销列表(CRL分发点)的URL,客户端将尝试从此类URL下载列表,并确保手头的证书尚未被撤销。