SSL_CERT_DIR 未由 urllib2 评估
SSL_CERT_DIR not avaluated by urrlib2
我有一个小脚本来测试使用 `urllib2:
与自签名 https
站点的连接
#!/usr/bin/env python
try:
import urllib2 # python2
except:
import urllib.request as urllib2 # python3
import sys
req = urllib2.Request(sys.argv[1], headers={'User-Agent':'Mozilla/5.0'})
urllib2.urlopen(req)
我正在测试我的自签名 https 站点,如下所示:
SSL_CERT_FILE="/certs-dir/self-signed-site.crt" python urllib2_test.py https://localhost:5554
这行得通。
但这不是:
SSL_CERT_DIR="/certs-dir" python urllib2_test.py https://localhost:5554
这也行不通:
SSL_CERT_DIR="/certs-dir/self-signed-site.crt" python urllib2_test.py https://localhost:5554
discussion 向 requests
添加对此的支持,但我在 urllib2
中找不到对 SSL_CERT_DIR
的引用。一定有什么东西,也许是通过底层的 ssl
库?
SSL_CERT_FILE
/ SSL_CERT_DIR
的处理在哪里为 urrlib2
定义?
SSL_CERT_DIR 和 SSL_CERT_FILE 不是 urllib2 或请求的特性,而是底层 OpenSSL 库的特性。但是,仅仅将新证书放入给定目录是不够的,您需要使用带有证书哈希的正确文件名。有关详细信息,请参阅 rehash。
我有一个小脚本来测试使用 `urllib2:
与自签名https
站点的连接
#!/usr/bin/env python
try:
import urllib2 # python2
except:
import urllib.request as urllib2 # python3
import sys
req = urllib2.Request(sys.argv[1], headers={'User-Agent':'Mozilla/5.0'})
urllib2.urlopen(req)
我正在测试我的自签名 https 站点,如下所示:
SSL_CERT_FILE="/certs-dir/self-signed-site.crt" python urllib2_test.py https://localhost:5554
这行得通。
但这不是:
SSL_CERT_DIR="/certs-dir" python urllib2_test.py https://localhost:5554
这也行不通:
SSL_CERT_DIR="/certs-dir/self-signed-site.crt" python urllib2_test.py https://localhost:5554
discussion 向 requests
添加对此的支持,但我在 urllib2
中找不到对 SSL_CERT_DIR
的引用。一定有什么东西,也许是通过底层的 ssl
库?
SSL_CERT_FILE
/ SSL_CERT_DIR
的处理在哪里为 urrlib2
定义?
SSL_CERT_DIR 和 SSL_CERT_FILE 不是 urllib2 或请求的特性,而是底层 OpenSSL 库的特性。但是,仅仅将新证书放入给定目录是不够的,您需要使用带有证书哈希的正确文件名。有关详细信息,请参阅 rehash。