(
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,
)
| 141 | |
| 142 | |
| 143 | def 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 | |
| 175 | class TestClientCerts(SocketDummyServerTestCase): |
no test coverage detected