LogoopenSUSE Build Service > Projects
Sign Up | Log In

The ssl.match_hostname() function from Python 3.5

The Secure Sockets layer is only actually *secure*
if you check the hostname in the certificate returned
by the server to which you are connecting,
and verify that it matches to hostname
that you are trying to reach.

But the matching logic, defined in `RFC2818`_,
can be a bit tricky to implement on your own.
So the ``ssl`` package in the Standard Library of Python 3.2
and greater now includes a ``match_hostname()`` function
for performing this check instead of requiring every application
to implement the check separately.

This backport brings ``match_hostname()`` to users
of earlier versions of Python.
Simply make this distribution a dependency of your package,
and then use it like this::

    from backports.ssl_match_hostname import match_hostname, CertificateError
    ...
    sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv3,
                              cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
    try:
        match_hostname(sslsock.getpeercert(), hostname)
    except CertificateError, ce:
        ...

Source Files

Filename Size Changed Actions
backports.ssl_match_hostname-3.5.0.1.tar.gz 5.47 KB over 2 years ago Download File
python-backports.ssl_match_hostname.changes 1.73 KB 7 months ago Download File
python-backports.ssl_match_hostname.spec 3.64 KB 7 months ago Download File

Comments for home:lenovo-lico:lico-dep:5.1:suse (0)

Login required, please login or signup in order to comment