Skip to content

Commit 878d476

Browse files
committed
Use version agnostic TLS protocol
Specifically, PROTOCOL_SSLv23 was changed to PROTOCOL_TLS_CLIENT and in the tests, TLSv1_2_METHOD was changed to TLS_CLIENT_METHOD Fixes: scylladb#250 Signed-off-by: Yaniv Kaul <[email protected]>
1 parent 7c9df85 commit 878d476

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

cassandra/scylla/cloud.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def get_server(self, data_center):
100100
return address, port, node_domain
101101

102102
def create_ssl_context(self):
103-
ssl_context = ssl.SSLContext(protocol=ssl.PROTOCOL_SSLv23)
103+
ssl_context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_CLIENT)
104104
ssl_context.verify_mode = ssl.CERT_NONE if self.skip_tls_verify else ssl.CERT_REQUIRED
105105
for data_center in self.data_centers.values():
106106
with file_or_memory(path=data_center.get('certificateAuthorityPath'),
@@ -124,7 +124,7 @@ def create_pyopenssl_context(self):
124124
"PyOpenSSL must be installed to connect to scylla-cloud with the Eventlet or Twisted event loops"),
125125
sys.exc_info()[2]
126126
)
127-
ssl_context = SSL.Context(SSL.TLS_METHOD)
127+
ssl_context = SSL.Context(SSL.TLS_CLIENT_METHOD)
128128
ssl_context.set_verify(SSL.VERIFY_PEER, callback=lambda _1, _2, _3, _4, ok: True if self.skip_tls_verify else ok)
129129
for data_center in self.data_centers.values():
130130
with file_or_memory(path=data_center.get('certificateAuthorityPath'),

tests/integration/long/test_ssl.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
USES_PYOPENSSL = "twisted" in EVENT_LOOP_MANAGER or "eventlet" in EVENT_LOOP_MANAGER
5252
if "twisted" in EVENT_LOOP_MANAGER:
5353
import OpenSSL
54-
ssl_version = OpenSSL.SSL.TLSv1_2_METHOD
54+
ssl_version = OpenSSL.SSL.TLS_METHOD
5555
verify_certs = {'cert_reqs': SSL.VERIFY_PEER,
5656
'check_hostname': True}
5757
else:
@@ -401,7 +401,7 @@ def test_can_connect_with_sslcontext_certificate(self):
401401
@test_category connection:ssl
402402
"""
403403
if USES_PYOPENSSL:
404-
ssl_context = SSL.Context(SSL.TLSv1_2_METHOD)
404+
ssl_context = SSL.Context(SSL.TLS_CLIENT_METHOD)
405405
ssl_context.load_verify_locations(CLIENT_CA_CERTS)
406406
else:
407407
ssl_context = ssl.SSLContext(ssl_version)
@@ -425,7 +425,7 @@ def test_can_connect_with_ssl_client_auth_password_private_key(self):
425425
ssl_options = {}
426426

427427
if USES_PYOPENSSL:
428-
ssl_context = SSL.Context(SSL.TLSv1_2_METHOD)
428+
ssl_context = SSL.Context(SSL.TLS_CLIENT_METHOD)
429429
ssl_context.use_certificate_file(abs_driver_certfile)
430430
with open(abs_driver_keyfile) as keyfile:
431431
key = crypto.load_privatekey(crypto.FILETYPE_PEM, keyfile.read(), b'cassandra')
@@ -446,7 +446,7 @@ def test_can_connect_with_ssl_context_ca_host_match(self):
446446
"""
447447
ssl_options = {}
448448
if USES_PYOPENSSL:
449-
ssl_context = SSL.Context(SSL.TLSv1_2_METHOD)
449+
ssl_context = SSL.Context(SSL.TLS_CLIENT_METHOD)
450450
ssl_context.use_certificate_file(DRIVER_CERTFILE)
451451
with open(DRIVER_KEYFILE_ENCRYPTED) as keyfile:
452452
key = crypto.load_privatekey(crypto.FILETYPE_PEM, keyfile.read(), b'cassandra')
@@ -469,7 +469,7 @@ def test_can_connect_with_ssl_context_ca_host_match(self):
469469
def test_cannot_connect_ssl_context_with_invalid_hostname(self):
470470
ssl_options = {}
471471
if USES_PYOPENSSL:
472-
ssl_context = SSL.Context(SSL.TLSv1_2_METHOD)
472+
ssl_context = SSL.Context(SSL.TLS_CLIENT_METHOD)
473473
ssl_context.use_certificate_file(DRIVER_CERTFILE)
474474
with open(DRIVER_KEYFILE_ENCRYPTED) as keyfile:
475475
key = crypto.load_privatekey(crypto.FILETYPE_PEM, keyfile.read(), b"cassandra")

0 commit comments

Comments
 (0)