实际上 OpenSSL 确实支持 OCSP。我实际上能够使用 SSL.Connection 建立一个开放的套接字,但是我的问题是通过该套接字建立一个实际的 HTTP 连接。
我不知道这是否有帮助 实际上 OpenSSL 确实支持 OCSP。我实际上能够使用 SSL.Connection 建立一个开放的套接字,但是我的问题是通过该套接字建立一个实际的 HTTP 连接。
使用以下代码,您可以打开一个 ocsp 连接并执行整个 ocsp 握手。下一步是从中创建一个 http 连接
ssl_context = Context(tls_method)
ssl_context.use_certificate_file(clientcert)
ssl_context.use_privatekey_file(clientkey)
ssl_context.load_verify_locations(cafile=None, capath=trusted_ca)
ssl_context.set_verify(VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT |VERIFY_CLIENT_ONCE, callback=self.verify_callback)
ssl_context.set_ocsp_client_callback(
callback=self.ocsp_callback, data=None)
tcp_conn = socket.create_connection((host, port))
ssl_conn = Connection(ssl_context, tcp_conn)
ssl_conn.set_tlsext_host_name(host.encode())
ssl_conn.request_ocsp()
ssl_conn.set_connect_state()
ssl_conn.do_handshake()