HTTPSConnectionPool(port=443)、SSLError(“bad handshake:〜), FreeNas-11.3
FreeNASでプラグインをインストールしようとすると、進捗の20%の所で下記のHTTPSConnectionPoolエラーが出ました。
私の場合は最後で実行するPython関係の証明書の更新で、Pythonのパスが違ったので、そこだけ私の環境に合わせました。
python -V で使っているバージョンを確認すると3.7だったので検索すると/usr/local/lib/python3.7の位置にありました。
以上になります
- 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新しいプラグインもインストール出来るようになりました。ありがとうございます。
以上になります