MCPcopy
hub / github.com/urllib3/urllib3 / original_ssl_wrap_socket

Function original_ssl_wrap_socket

test/with_dummyserver/test_socketlevel.py:143–172  ·  view source on GitHub ↗
(
    sock: socket.socket,
    keyfile: StrOrBytesPath | None = None,
    certfile: StrOrBytesPath | None = None,
    server_side: bool = False,
    cert_reqs: ssl.VerifyMode = ssl.CERT_NONE,
    ssl_version: int = ssl.PROTOCOL_TLS,
    ca_certs: str | None = None,
    do_handshake_on_connect: bool = True,
    suppress_ragged_eofs: bool = True,
    ciphers: str | None = None,
)

Source from the content-addressed store, hash-verified

141
142
143def original_ssl_wrap_socket(
144 sock: socket.socket,
145 keyfile: StrOrBytesPath | None = None,
146 certfile: StrOrBytesPath | None = None,
147 server_side: bool = False,
148 cert_reqs: ssl.VerifyMode = ssl.CERT_NONE,
149 ssl_version: int = ssl.PROTOCOL_TLS,
150 ca_certs: str | None = None,
151 do_handshake_on_connect: bool = True,
152 suppress_ragged_eofs: bool = True,
153 ciphers: str | None = None,
154) -> ssl.SSLSocket:
155 if server_side and not certfile:
156 raise ValueError("certfile must be specified for server-side operations")
157 if keyfile and not certfile:
158 raise ValueError("certfile must be specified")
159 context = ssl.SSLContext(ssl_version)
160 context.verify_mode = cert_reqs
161 if ca_certs:
162 context.load_verify_locations(ca_certs)
163 if certfile:
164 context.load_cert_chain(certfile, keyfile)
165 if ciphers:
166 context.set_ciphers(ciphers)
167 return context.wrap_socket(
168 sock=sock,
169 server_side=server_side,
170 do_handshake_on_connect=do_handshake_on_connect,
171 suppress_ragged_eofs=suppress_ragged_eofs,
172 )
173
174
175class TestClientCerts(SocketDummyServerTestCase):

Callers 6

_wrap_in_sslMethod · 0.85
consume_ssl_socketMethod · 0.85
socket_handlerMethod · 0.85
proxy_ssl_oneMethod · 0.85
echo_socket_handlerMethod · 0.85
socket_handlerMethod · 0.85

Calls 4

load_verify_locationsMethod · 0.80
load_cert_chainMethod · 0.80
set_ciphersMethod · 0.80
wrap_socketMethod · 0.80

Tested by

no test coverage detected