Help us understand the problem. What is going on with this article?

【仮】Windows + Discord.pyで発生してるSSL関連のエラーの解決策([SSL: CERTIFICATE_VERIFY_FAILED])

注: この記事はとりあえず見つけた解決策を記したものです。これが安全であるという保証はできませんので何が起きても自己責任でお願いします。またこの記事が正確である保証もいたしません。

概要

Discord.pyのbotをWindows上で動かそうとしたらSSL関連のエラーを吐いた。

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1108)

環境

  • Windows 10 Ver 1903 (Build 18362.900)
  • Python 3.8.2
  • Discord.py 1.3.3

原因・解決方法

https://github.com/Rapptz/discord.py/issues/4159 を見た。
5/30日にルート証明書が切れてたらしい。(参考: https://crt.sh/?id=1)

本来アプデで入るはずの証明書4つが、何かしらの要因で1つだけ入ってなかったんじゃないかと推測してる人もいる。
何にしろ、見た感じ皆欠けてる証明書は同じっぽい?
ということでこちらからDLする。→ https://crt.sh/?id=2835394
ちなみにcrt.shはSectigo(COMODO CAのブランド)が運営してるサイトなので信頼できる。

画像左下の"Download Certificate: PEM"から"2835394.crt"をDL。
SnapCrab_NoName_2020-6-17_1-47-15_No-00.png
ダブルクリックで実行し、証明書をインストールする。
出てきたウィザードに従ってインストールを進めていく。
ローカルコンピュータにインストールするかユーザーにインストールするかはお好みで良いと思うけどコンピュータにインストールしたほうがよさそう。

これで解決。

まあでもWindowsかSectigoのアプデミスってことなら今後適切にアップデートしていけば治るんじゃないかな?

追記

IEでdiscord.comに行って鍵マーククリックして云々という方法もあるのだが、件のIssueではこの方法は良くないとい書かれていたので解説しなかった。

nnn-school
IT×グローバル社会を生き抜く“創造力”を身につけ、世界で活躍する人材を育成する。
https://nnn.ed.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away