HTTPSConnectionPool(port=443)、SSLError(“bad handshake:〜), FreeNas-11.3

FreeNASでプラグインをインストールしようとすると、進捗の20%の所で下記のHTTPSConnectionPoolエラーが出ました。
  • Version: FreeNAS-11.3-U5
HTTPSConnectionPool(host='update-master.ixsystems.com', port=443): Max retries exceeded with url: /FreeNAS/trains.txt (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),))
443ポートなので暗号化関係だろうとは想像できるのですが、何をどうすれば良いのかさっぱり分からず。しばらくほっておいたのですが、試してみたいプラグインがあったので解決方法を調べてみました。

下記を参考に解決

英語なので詳細は分からないのですが、pem関係のファイルを入れ替えているので、新しい証明書に更新しているんだと思います。
私の場合は最後で実行するPython関係の証明書の更新で、Pythonのパスが違ったので、そこだけ私の環境に合わせました。

詳細はリンク先を確認していただきたく…

下記コマンドを実行していきました。
$ wget https://extranet.www.sol.net/files/misc/ca-root-nss.crt.src

$ mv /usr/local/share/certs/ca-root-nss.crt /usr/local/share/certs/ca-root-nss.crt.old
$ cp ./ca-root-nss.crt.src /usr/local/share/certs/ca-root-nss.crt

$ mv /etc/ssl/cert.pem /etc/ssl/cert.pem.old
$ ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem

$ mv /usr/local/etc/ssl/cert.pem /usr/local/etc/ssl/cert.pem.old
$ ln -s /usr/local/share/certs/ca-root-nss.crt /usr/local/etc/ssl/cert.pem
ココまではスムーズに行ったのですが、私の環境ではPythonのパスが違ったので、私の環境に合わせてコマンド実行しました。
python -V で使っているバージョンを確認すると3.7だったので検索すると/usr/local/lib/python3.7の位置にありました。
$ mv /usr/local/lib/python3.7/site-packages/certifi/cacert.pem /usr/local/lib/python3.7/site-packages/certifi/cacert.pem.old
$ cp /usr/local/usr/local/share/certs/ca-root-nss.crt /usr/local/lib/python3.7/site-packages/certifi/cacert.pem
下記restartを実行したらネットワークが切れてしまったので、私はFreeNASを再起動しました。
$ service middlewared restart
新しいプラグインもインストール出来るようになりました。ありがとうございます。
以上になります

こういうブログもありました。

人気のあるブログ:

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください