diff --git a/Lib/ssl.py b/Lib/ssl.py --- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -707,7 +707,8 @@ d = pem_cert_string.strip()[len(PEM_HEADER):-len(PEM_FOOTER)] return base64.decodebytes(d.encode('ASCII', 'strict')) -def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv3, ca_certs=None): +def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv3, ca_certs=None, + **kwargs): """Retrieve the certificate from the server at the specified address, and return it as a PEM-encoded string. If 'ca_certs' is specified, validate the server cert against it. @@ -719,8 +720,8 @@ else: cert_reqs = CERT_NONE s = create_connection(addr) - s = wrap_socket(s, ssl_version=ssl_version, - cert_reqs=cert_reqs, ca_certs=ca_certs) + s = SSLSocket(s, ssl_version=ssl_version, + cert_reqs=cert_reqs, ca_certs=ca_certs, **kwargs) dercert = s.getpeercert(True) s.close() return DER_cert_to_PEM_cert(dercert)