我们的服务器运行在旧版本的 Debian 7.10 (Wheezy) 上,我们需要为特定域续订 SSL 证书。
我们的 OpenSSL 版本非常旧,但它是我们 Debian 版本的最后一个版本。
~ apt-cache policy openssl
openssl:
Installed: 1.0.1t-1+deb8u12
Candidate: 1.0.1t-1+deb8u12
这是相当有问题的,~ openssl version
我openssl: symbol lookup error: openssl: undefined symbol: i2d_DHxparams
发现这是因为i2d_DHxparams
它是在 OpenSSL 版本中实现的1.0.2+
。
所以我必须更新 OpenSSL。我仔细遵循了本教程:https://www.howtoforge.com/tutorial/how-to-install-openssl-from-source-on-linux/与我找到的最后一个稳定版本OpenSSL 1.1.1g
。
新版本安装好并编译在文件夹中/usr/local/ssl/lib
。
不可能指向~ which openssl
正确的文件夹,它总是返回/usr/local/bin/openssl
之前的 OpenSSL 版本。我尝试编辑/etc/environment
然后/etc/profile.d/openssl.sh
在 PATH 中获取它,但which openssl
仍然返回/usr/local/bin/openssl
而不是/usr/local/ssl/lib/openssl
.
如果有人知道如何编辑此 PATH 以响应新版本的 OpenSSL,谢谢!