share facebook facebook twitter menu hatena pocket slack

2019.01.29 TUE

Pythonで参照しているSSL証明書リストのファイルパスを確認する方法

甲斐 甲

WRITTEN BY 甲斐 甲

PythonでHTTPS通信する場合、requestsライブラリを利用することが多いですが、たまーに証明書リストが古かったり、独自の証明書を追加したい場合があります。

その際に、プログラム実行時にどの*.pemファイルを参照しているのか確認する方法です。

> python -c "import requests;print(requests.certs.where())"

これで、*.pemファイルのフルパスが確認できます。
pyenvやvenvなどで、都度、どのバージョンでどの仮想環境でとか調べるのが面倒な際に使えます。

requestsを利用しない場合、sslライブラリが参照しているパスは以下で確認できます。

> python -c "import ssl;print(ssl.get_default_verify_paths())"

参考

requests/certs.py at master · requests/requests
https://github.com/requests/requests/blob/master/requests/certs.py

ssl — TLS/SSL wrapper for socket objects — Python 3.7.2 documentation
https://docs.python.org/3/library/ssl.html#ssl.get_default_verify_paths

Python requestsライブラリは認証局の証明書をどう管理する? | DevelopersIO
https://dev.classmethod.jp/server-side/python/how-to-manage-ca-root-certs-for-requets-library/

Python requests で SSLError が起きて毎回ググってるのでまとめた – Qiita
https://qiita.com/sta/items/6d08151fd9b20fa8b319

元記事はこちら

Pythonで参照しているSSL証明書リストのファイルパスを確認する方法

甲斐 甲

甲斐 甲

2018/7にJOIN。 最近の好みはサーバレスです。なんでもとりあえず試します。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。