ホームページ >バックエンド開発 >Python チュートリアル >urllib.request の使用中に「ローカル発行者の証明書を取得できません」というエラーが発生するのはなぜですか?

urllib.request の使用中に「ローカル発行者の証明書を取得できません」というエラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-11-03 19:36:03525ブラウズ

Why Am I Getting

urllib 経由でデータを取得中にローカル発行者証明書を取得できません

Python の urllib.request パッケージを使用してデータを取得しようとすると、次のような問題が発生する可能性があります。次のエラー:

certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)

この問題は、Web サイトの SSL 証明書の検証に問題があることを示しているため、HTTPS URL を使用するときに発生する可能性があります。

エラーを解決するには、 「Install Certificates.command」ユーティリティ。SSL 証明書の信頼チェーンの確立に役立ちます。このプロセス中に何が起こるかは次のとおりです:

  1. トラスト チェーンの確立: HTTPS Web サイトに接続するとき、ブラウザまたは Python プログラムは Web サイトの SSL 証明書をチェックして、その信頼性を確認します。証明書は、Web サイトの ID の検証を担当する信​​頼できるサードパーティ機関である認証局 (CA) によって発行されます。
  2. ローカル証明書ストア: システムのデフォルトの証明書ストアには、さまざまな CA からの信頼されたルート証明書のコレクション。 Web サイトの証明書を検証するとき、システムはローカル ストアにある発行 CA のルート証明書をチェックします。
  3. ローカル発行者証明書がありません: 場合によっては、発行 CA のルート証明書が失われている可能性があります。ローカルストアにはインストールされません。これにより、検証プロセスが失敗し、発生していたエラーが発生する可能性があります。
  4. Install Certificates.command: 提供されたコマンドを実行すると、不足している証明書をオペレーティング システムのからインストールできます。デフォルトのソース。これにより、アクセスしようとしている Web サイトと同様の Web サイトの SSL 証明書を検証するために必要な信頼されたルート証明書がシステムに確実に存在します。

セキュリティと証明書についての理解を深めるには、次のリソース:

  • [SSL/TLS による HTTP および HTTPS 暗号化](https://www.internetsociety.org/resources/deploy360/security/http-https-encryption-ssl-tls/)
  • [初心者のための TLS/SSL 証明書](https://www.globalsign.com/en/information-center/certificate-guides/ssl-certificates-in-5- minutes)
  • [認証局 (CA)](https://www.digicert.com/learn/certificate-authority/)

以上がurllib.request の使用中に「ローカル発行者の証明書を取得できません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。