Repository URL to install this package:
Version:
3.4.36 ▾
|
ó wEYc @ s d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m Z d d l Z d d l m Z m Z y d d l Z Wn e k r d Z n Xd d d d d g Z d j j Z y e j j Z e j Z Wn e k rõ e Z Z n Xe d k oe e e f k Z y d d l m Z m Z WnU e k r y$ d d l m Z d d l m Z Wqe k rd Z d Z qXn Xe s¥d e f d YZ n e sÃd d Z d Z n d e f d YZ d e f d YZ d d Z d a d Z! d Z" d S( iÿÿÿÿN( t urllibt http_clientt map( t ResolutionErrort ExtractionErrort VerifyingHTTPSHandlert find_ca_bundlet is_availablet cert_pathst opener_forsë /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt /usr/share/ssl/certs/ca-bundle.crt /usr/local/share/certs/ca-root.crt /etc/ssl/cert.pem /System/Library/OpenSSL/certs/cert.pem /usr/local/share/certs/ca-root-nss.crt ( t CertificateErrort match_hostname( R ( R R c B s e Z RS( ( t __name__t __module__( ( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/setuptools/ssl_support.pyR 4 s i c C sR g } | s t S| j d } | d } | d } | j d } | | k rg t d t | n | s | j | j k S| d k r | j d nY | j d s½ | j d rÖ | j t j | n" | j t j | j d d x$ | D] } | j t j | qÿ Wt j d d j | d t j } | j | S( sp Matching according to RFC 6125, section 6.4.3 http://tools.ietf.org/html/rfc6125#section-6.4.3 t .i i t *s, too many wildcards in certificate DNS name: s [^.]+s xn--s \*s [^.]*s \As \.s \Z( t Falset splitt countR t reprt lowert appendt startswitht ret escapet replacet compilet joint IGNORECASEt match( t dnt hostnamet max_wildcardst patst partst leftmostt remaindert wildcardst fragt pat( ( sK /home/tvault/.virtenv/lib/python2.7/site-packages/setuptools/ssl_support.pyt _dnsname_match8 s* " &c C s[ | s t d n g } | j d d } xC | D]; \ } } | d k r4 t | | r_ d S| j | q4 q4 W| sß xc | j d d D]L } xC | D]; \ } } | d k r t | | rÄ d S| j | q q Wq Wn t | d k rt d | d j t t | f n; t | d k rKt d | | d f n t d d S( s= Verify that *cert* (in decoded format as returned by SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 rules are followed, but IP addresses are not accepted for *hostname*. CertificateError is raised on failure. On success, the function returns nothing. s empty or no certificatet subjectAltNamet DNSNt subjectt commonNamei s&