Como posso recuperar o certificado de mesmo nível TLS / SSL de um host remoto usando pytho
Preciso verificar uma lista de IPs e recuperar o nome comum do certificado nesse IP (para cada IP que permita conexões da porta 443). Consegui fazer isso com êxito usando os soquetes e os módulos ssl. Ele funciona para todos os IPs com certificados assinados válidos, mas não está funcionando para certificados autoassinado
Se eu usar esse método, ele exige um certificado válido verificado pelo meu pacote CA:
from socket import socket
import ssl
s = socket()
c = ssl.wrap_socket(s,cert_reqs=ssl.CERT_REQUIRED, ca_certs='ca-bundle.crt')
c.connect(('127.0.0.1', 443))
print c.getpeercert()
Se eu remover ocert_reqs=ssl.CERT_REQUIRED
então ele se conecta, mas não recebe o certificad
Como posso recuperar o nome comum de um certificado em um IP, se ele valida ou não no pacote C