分类: SSL/TLS (3)

理解HTTP CONNECT通道

为了确保数据通信的安全,HTTPS已广泛应用于互联网,浏览器与服务器之间的HTTPS通信都是加密的。然而当浏览器需要通过代理服务器发起HTTPS请求时,由于请求的站点地址和端口号都是加密保存于HTTPS请求头中的,代理服务器是如何既确保通信是加密的(代理服务器自身也无法读取通信内容)又知道该往哪里发送请求呢?为了解决这个问题,浏览器需要先通过明文HTTP形式向代理服务器发送一个CONNECT请求告诉它目标站点地址及端口号。当代理服务器收到这个请求后,会在对应的端口上与目标站点建立一个TCP连接,连接建立成功后返回一个HTTP 200状态码告诉浏览器与该站点的加密通道已建成。接下来代理服务器仅仅是来回传输浏览器与该服务器之间的加密数据包,代理服务器并不需要解析这些内容以保证HTTPS的安全性。


2018年8月12日
阅读全文

如何搭建要求客户端证书的IIS站点(使用自签名证书)

有些IE、IIS的问题会牵涉到客户端证书,每次搭建一个要求客户端证书的网站测试环境都要花费较长时间,痛定思痛决定把所有步骤:创建自签名根证书、服务端证书、客户端证书、配置IIS记录下来。


2016年7月31日
阅读全文

如何通过Wireshark查看HTTPS、HTTP/2网络包(解码TLS、SSL)

最近正在做HTTP/2相关的研究,由于目前所有的浏览器仅支持在HTTPS上使用HTTP/2,所以通过Wireshark只能查看到加密后的TLS网络包。其实Wireshark提供了一些设置允许我们解码TLS、SSL网络包。


2015年12月15日
阅读全文