openssl: локальная установка вызвала проблему с сертификатом

openssl: локальная установка вызвала проблему с сертификатом

Чтобы установить Python из исходного кода без прав root, мне пришлось установить 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 в новый каталог из системного. OPENSSLDIR для установки openssl по умолчанию в вашей системе зависит от вашей (неизвестной) системы, но это может быть что-то вроде /usr/lib/ssl.

Связанный контент