CentOS6升级OpenSSL

最近在研究自动签发证书,更新了最新的Go语言acme包后发现这个包里默认使用一个叫做tls-alpn-01 challenge的协议。问题是使用这个协议老是签发失败,网上说ALPN协议需要建立在OpenSSL 1.0.2版本以上才行,查了一下我VPS上的OpenSSL版本只有1.0.1。好吧,那就更新一下试试看。

OpenSSL只支持手动编译更新,下面以最新的OpenSSL 1.1.1为例来介绍一下在CentOS6下如何升级OpenSSL。

1
2
3
4
5
6
7
8
9
10
11
cd ~/Downloads
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
sudo ./config --prefix=/usr/local/openssl
sudo make
sudo make install
sudo mv /usr/bin/openssl /usr/bin/openssl.old
sudo mv /usr/include/openssl /usr/include/openssl.old
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/openssl/include/openssl /usr/include/openssl

上面这些步骤中,特别要注意sudo make && make install不要这样写,最好分开来。我就遇到好几次系统提示我创建/usr/local/openssl目录失败的情况。

接下来要注意,在目录/etc/ld.so.conf.d/下创建一个配置文件

1
sudo vi /etc/ld.so.conf.d/openssl.conf

内容如下

1
/usr/local/openssl/lib

保存退出后,执行命令

1
sudo ldconfig

这条命令很关键,如果不执行的话,有可能会出现以下错误

error while loading shared libraries: libcrypto.so.1.1

到此,整个OpenSSL在CentOS 6环境下的升级就完成了。执行命令查看一下最新的OpenSSL版本吧。

1
openssl version
avatar

chilihotpot

You Are The JavaScript In My HTML