Openssl

openssl:本地安裝導致證書問題

  • March 19, 2020

要在沒有 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完美地定製本地安裝作品(也許通過導入現有證書並將它們放在正確的位置?)。

非常感謝您的幫助!

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

--openssldir指定 openssl 配置文件的目錄,該目錄也是預設查找 CA 證書的目錄。因此,您應該通過符號連結重用系統上現有的 OPENSSLDIR,${HOME}/.local/openssl或者將系統 CA 證書從系統證書複製到新目錄中。系統上預設 openssl 安裝的 OPENSSLDIR 取決於您的(未知)系統,但可能類似於/usr/lib/ssl.

引用自:https://unix.stackexchange.com/questions/573671