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
新しいプラグインもインストール出来るようになりました。ありがとうございます。
以上になります

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする

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