目前我正在使用此代码来获取SSL证书:
import socket
from OpenSSL import SSL
import requests
context = SSL.Context(method=SSL.SSLv23_METHOD)
for bundle in [requests.certs.where(), '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem', '/etc/ssl/certs/ca-certificates.crt']:
try:
context.load_verify_locations(cafile=bundle)
except Exception:
pass
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_conn = SSL.Connection(context=context, socket=sock)
ssl_conn.set_tlsext_host_name(url.encode())
ssl_conn.settimeout(5)
ssl_conn.connect((url, port))
ssl_conn.setblocking(1)
ssl_conn.do_handshake()
peer_cert = ssl_conn.get_peer_certificate()
如何复制命令:
openssl s_client -connect ip_addr:port -servername url
1条答案
按热度按时间zpf6vheq1#