HTTPS経由で多数のURLに接続し、SSL証明書をダウンロードして、CNを抽出するスクリプトを作成しています。無効なSSL証明書があるサイトでつまずいた場合を除いて、すべてが機能します。証明書が有効かどうかは絶対に気にしません。CNが欲しいのですが、証明書が検証されていない場合、Pythonは頑固に証明書情報の抽出を拒否します。この非常に愚かな行動を回避する方法はありますか?ああ、私は組み込みのソケットとsslライブラリのみを使用しています。スクリプトを可能な限り移植可能にしようとしているため、M2CryptoやpyOpenSSLなどのサードパーティライブラリを使用したくありません。
関連するコードは次のとおりです。
file = open("list.txt", "r")
for x in file:
server = socket.getaddrinfo(x.rstrip(), "443")[0][4][0]
sslsocket = socket.socket()
sslsocket.connect((server, 443))
sslsocket = ssl.wrap_socket(sslsocket, cert_reqs=ssl.CERT_REQUIRED, ca_certs="cacerts.txt")
certificate = sslsocket.getpeercert()`