linux升级OpenSSL
本例子中将OpenSSL 1.0.2k升级到OpenSSL 1.1.1t
1、首先查看openssl的版本以及目录,命令如下:
openssl version -a

/etc/pki/tls目录下就是openssl的配置文件,不过此处升级用不上此目录
2、将openssl-1.1.1t.tar.gz文件上传到服务器上,并解压,如下:
rz -y openssl-1.1.1t.tar.gz
tar xf openssl-1.1.1t.tar.gz
3、进入解压目录下,执行命令编译,如下:
cd openssl-1.1.1t
yum -y install gcc* #安装依赖
#prefix执行可执行文件安装路径
./config --prefix=/opt/openssl --openssldir=/usr/local/openssl
#编译和安装
make && make install
4、备份原来的openssl文件,可通过whereis openssl查询位置,如下:
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
5、用新的文件替换旧的文件,执行命令如下:
ln -sf /opt/openssl/bin/openssl /usr/bin/openssl
ln -s /opt/openssl/include/openssl /usr/include/openssl
6、执行命令查看openssl版本,报错如下:
openssl version
报错:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 缺少依赖库,执行如下命令解决:
ln -s /opt/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /opt/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
7、查看openssl链接库位置,命令如下:
ldconfig -p | grep ssl

8、将新的库文件添加到so库的配置文件,更新动态链接库数据,如下:
echo "/lib64" >> /etc/ld.so.conf
9、再次查看openssl版本,如下:

至此,升级完成!!
生成自签名证书命令:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /tmp/server.key -out /tmp/server.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/CN=www.registry.com"
说明:证书有效期为10年,生成位置在/tmp下,指定域名为www.registry.com,将此证书配置到nginx中即可,自签名证书浏览器不认,可用于内部用,比如docker registry仓库


