0
0

Cartopy利用時のプロキシ認証について

Last updated at Posted at 2024-07-05

はじめに

pythonライブラリのCartopyの地図データはインストール時にはローカルに保存せず、利用する際にネット経由でダウンロードする。その際に標準ライブラリurllib.requestを利用する。
ただしCartopyでプロキシ設定やSSLサーバ証明書の設定ができないという問題があり、外部の設定で行わなければならない。
標準ライブラリurllib.requestのうちSSLに関係するものは標準ライブラリsslが関係し、sslopensslを使用している。

プロキシ設定について

環境変数

  • http_proxy=protocol://[user:passwd@]host:port
  • https_proxy=protocol://[user:passwd@]host:port

SSLサーバ証明書について

pipの場合

こちらのca-certificatesの仕組みでSSLサーバ証明書を更新するとopensslでデフォルト利用している証明書が更新される。

anacondaの場合

import ssl
ssl.get_default_verify_paths()
# DefaultVerifyPaths(
# cafile='/home/XXXX/miniconda3/envs/XXXX/ssl/cert.pem', 
# capath='/home/XXXX/miniconda3/envs/XXXX/ssl/certs',
# openssl_cafile_env='SSL_CERT_FILE',
# openssl_cafile='/home/XXXX/miniconda3/envs/XXXX/ssl/cert.pem',
# openssl_capath_env='SSL_CERT_DIR',
# openssl_capath='/home/XXXX/miniconda3/envs/XXXX/ssl/certs'
# )

で指定されているcafileやcapathにSSLサーバ証明書を更新するか、あるいはca-certificatesの仕組みで更新したcafileやcapathを環境変数SSL_CERT_FILE,SSL_CERT_DIRで指定するかのどちらかである。簡単な方は後者。

Ubuntu 22.04での環境変数

SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
SSL_CERT_DIR=/etc/ssl/certs

CentOS Stream 9での環境変数

SSL_CERT_FILE=/etc/pki/tls/cert.pem
SSL_CERT_DIR=/etc/pki/tls/certs

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0