openssl:本地安装导致证书问题

openssl:本地安装导致证书问题

要在没有 root 权限的情况下从源代码安装 Python,我必须安装openssl,我使用以下命令进行安装:

wget https://www.openssl.org/source/openssl-1.1.1e.tar.gz
tar -xzvf openssl-1.1.1e.tar.gz
cd openssl-1.1.1e
./config --prefix=${HOME}/.local/openssl --openssldir=${HOME}/.local/openssl
make -j$(nproc)
make install_sw

然后我在中设置以下内容~/.bashrc

export PATH=$HOME/.local/openssl/bin:$PATH
export LD_LIBRARY_PATH=$HOME/.local/openssl/lib:$LD_LIBRARY_PATH

在此之后,我不能再wget像以前一样使用:

ERROR: cannot verify github.com's certificate, issued by ‘CN=DigiCert SHA2 Extended Validation Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US’:
  Unable to locally verify the issuer's authority.
To connect to github.com insecurely, use `--no-check-certificate'.

似乎任何需要证书的连接都会失败。

我的问题是如何openssl完美地进行自定义的本地安装(也许通过导入现有证书并将它们放在正确的位置?)。

预先非常感谢您的帮助!

答案1

./config --prefix=${HOME}/.local/openssl --openssldir=${HOME}/.local/openssl

--openssldir指定 openssl 配置文件的目录,默认情况下也是查找 CA 证书的目录。因此,您应该通过符号链接来重用系统上现有的 OPENSSLDIR ${HOME}/.local/openssl,或者将系统 CA 证书从系统目录复制到新目录中。系统上默认 openssl 安装的 OPENSSLDIR 取决于您的(未知)系统,但它可能类似于/usr/lib/ssl.

相关内容