随着TLS1.3的发展,openssl已经在1.1.1-dev加入支持TLS1.3-draft18
本文简单记录一下TLS1.3安装过程
什么是TLS1.3
TLS1.3是最新的TLS加密协议,最主要的改进是支持1-RTT握手并初步支持0-RTT
详细了解请访问WIKI
https://zh.wikipedia.org/zh-cn/%E5%82%B3%E8%BC%B8%E5%B1%A4%E5%AE%89%E5%85%A8%E6%80%A7%E5%8D%94%E5%AE%9A
nginx&apache编译启用TLS1.3
1 下载openssl并解压
一定要下载draf-18版本,最新openssl开发版已经支持到draft-26,但是编译会出错
等openssl1.1.1正式发布后再升级吧. 现在仅供尝鲜 (openssl1.1.1已经正式发布,可以升级了 )
wget -O openssl.tar.gz https://github.com/openssl/openssl/archive/tls1.3-draft-18.tar.gz tar -zxvf openssl.tar.gz mv tls1.3-draft-18 openssl
2nginx编译参数设置
wget -c https://nginx.org/download/nginx-1.13.9.tar.gz tar -xzvf nginx-1.13.9.tar.gz cd nginx-1.13.9/ #加上编译参数 ./configure 粘贴你先前的参数 --with-openssl=../openssl --with-openssl-opt=enable-tls1_3 ## 然后编译 make
3 apache编译参数设置
Apache2.4暂时没有支持TLS1.3....
Apache 2.4.37已经正式支持TLSv1.3,赶快升级吧
修改配置文件
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_early_data on; #nginx1.15.4版本正式支持0-RTT,推荐开启
TLS1.3仅支持以下加密方式,必须添加
- TLS13-AES-256-GCM-SHA384
- TLS13-CHACHA20-POLY1305-SHA256
- TLS13-AES-128-GCM-SHA256
- TLS13-AES-128-CCM-8-SHA256
- TLS13-AES-128-CCM-SHA256
浏览器开启 TLS1.3 支持
1 Chrome 开启TLS1.3
在浏览器打开
chrome://flags/#tls13-variant
选择Enabled Draft , 重启chrome
2 Firefox 开启TLS1.3
在地址栏输入 about:config 然后回车键,如下图所示,点击 我了解此风险! ,在搜索框搜索security.tls.version.max,然后将其值由 3 修改成 4 .修改完毕后重启 Firefox。
参考来源:
https://nydnxs.com/2017/Enable_TLS_1_3/
https://www.openssl.org/blog/blog/2017/05/04/tlsv1.3/
https://love4taylor.me/nginx-openssl-dev-tls1.3.html
此处评论已关闭