Centos7安装OpenSSL小记
前言
最近给博客网站nginx编译支持TLS1.3协议,TLS1.3在加密上有所提升,还有一点是握手过程中,第一次握手只需要一个RTT而第二次访问则是0-RTT,因此特意去升级尝鲜。由于TLS1.3还需要OpenSSL1.1.1以上的版本,而系统自带OpenSSL是1.1.0版本。
安装
# gcc编译工具
yum install gcc -y
# 源码下载
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1g.tar.gz
tar zxvf OpenSSL_1_1_1g.tar.gz
# 配置
cd openssl-OpenSSL_1_1_1g
./config --prefix=/usr
# 编译安装
make
ldconfig
# 验证版本
openssl version
nginx部分
- 编译
# nginx configure时候加入以下支持TLS1.3
--with-openssl=/usr/bin/openssl --with-openssl-opt=enable-tls1_3
- SSL证书配置
# 添加TLSv1.3
ssl_protocols TLSv1.2 TLSv1.3;
# 加入TLS1.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+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
可以在Console控制台看到使用TLS1.3
或者使用shell中检查(以下两个命令均可验证)
curl -Ivvv --tlsv1.3 https://icharle.com
openssl s_client -connect icharle.com:443 -state