36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
"""TLS-specific tests"""
|
|
|
|
import ssl
|
|
import pytest
|
|
import utils
|
|
|
|
|
|
def test_tls_no_cert(kresd, sock_family):
|
|
"""Use TLS without certificates."""
|
|
sock, dest = kresd.stream_socket(sock_family, tls=True)
|
|
ctx = utils.make_ssl_context(insecure=True)
|
|
ssock = ctx.wrap_socket(sock)
|
|
ssock.connect(dest)
|
|
|
|
utils.ping_alive(ssock)
|
|
|
|
|
|
def test_tls_selfsigned_cert(kresd_tt, sock_family):
|
|
"""Use TLS with a self signed certificate."""
|
|
sock, dest = kresd_tt.stream_socket(sock_family, tls=True)
|
|
ctx = utils.make_ssl_context(verify_location=kresd_tt.tls_cert_path)
|
|
ssock = ctx.wrap_socket(sock, server_hostname='transport-test-server.com')
|
|
ssock.connect(dest)
|
|
|
|
utils.ping_alive(ssock)
|
|
|
|
|
|
def test_tls_cert_hostname_mismatch(kresd_tt, sock_family):
|
|
"""Attempt to use self signed certificate and incorrect hostname."""
|
|
sock, dest = kresd_tt.stream_socket(sock_family, tls=True)
|
|
ctx = utils.make_ssl_context(verify_location=kresd_tt.tls_cert_path)
|
|
ssock = ctx.wrap_socket(sock, server_hostname='wrong-host-name')
|
|
|
|
with pytest.raises(ssl.CertificateError):
|
|
ssock.connect(dest)
|