openssl: ローカルインストールにより証明書の問題が発生しました

openssl: ローカルインストールにより証明書の問題が発生しました

ルート権限なしでソースから 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

--openssldiropenssl 構成ファイルのディレクトリを指定します。これは、デフォルトで CA 証明書を検索するディレクトリでもあります。したがって、システム上の既存の OPENSSLDIR を再利用するには、${HOME}/.local/opensslそのディレクトリにシンボリックリンクを作成するか、システムの CA 証明書をシステムのディレクトリから新しいディレクトリにコピーする必要があります。システム上のデフォルトの openssl インストールの OPENSSLDIR は、(不明な) システムによって異なりますが、次のようになります/usr/lib/ssl

関連情報