Package Info

python-backports.ssl_match_hostname


The ssl.match_hostname() function from Python 3.5


Development/Languages/Python

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:
    ...

License: Python-2.0
URL: http://bitbucket.org/brandon/backports.ssl_match_hostname

Categories

Releases

Package Version Update ID Released Package Hub Version Platforms Subpackages
3.5.0.1-bp152.2.16 info GA Release 2020-04-17 15 SP2
3.5.0.1-bp150.1.2 info GA Release 2018-07-30 15
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python2-backports.ssl_match_hostname