python脚本获取SSL证书的common name
pip install pyOpenSSL
import socket import ssl import OpenSSL.crypto as crypto dst = ('kele.im',443) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(dst) # upgrade the socket to SSL without checking the certificate # !!!! don't transfer any sensitive data over this socket !!!! ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE s = ctx.wrap_socket(s, server_hostname=dst[0]) # get certificate cert_bin = s.getpeercert(True) x509 = crypto.load_certificate(crypto.FILETYPE_ASN1,cert_bin) print("CN=" + x509.get_subject().CN)