File: //usr/lib/python3.7/__pycache__/ssl.cpython-37.pyc
B
{ax
@ s d Z ddlZddlZddlmZ ddlmZmZ m
Z ddlZddlm
Z
mZmZ ddlmZmZmZ ddlmZmZmZmZmZmZmZ ddlmZmZ dd lmZmZm Z m!Z! ydd
lm"Z" W n e#k
r Y nX ddlm$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- ddlm.Z.m/Z/ e j0d
e1dd ed ej0de1dd ed e j0de1dd ed e j0de1dd ed ej0de1dd ed e j0de1dd ed e2j3 Z4e2_4dd e2j56 D Z7e8e2ddZ9G dd de Z:ej;d krdd!lm<Z<m=Z= dd"l>m>Z>m?Z?m@Z@mAZA dd#l>mBZBmCZC ddl>ZDddlEZEddlFZFddlGZGeHZId$gZJeKed%ZLe.ZMeZNd&d' ZOd(d) ZPd*d+ ZQd,d- ZRed.d/ZSd0d1 ZTG d2d3 d3ed3d4ZUG d5d6 d6eUeZVG d7d8 d8eZWeVjXfdddd9d:d;ZYe3feZd<eVjXdddddd=d>d?Z[eYZ\e[Z]G d@dA dAZ^G dBdC dCe>Z_e_eW_`e^eW_addd<eZe3ddDdDdf dEdFZbdGdH ZcdIZddJZedKdL ZfdMdN Zge3dfdOdPZhdQdR ZidS )Sa
This module provides some more Pythonic support for SSL.
Object types:
SSLSocket -- subtype of socket.socket which does SSL over the socket
Exceptions:
SSLError -- exception raised for I/O errors
Functions:
cert_time_to_seconds -- convert time string used for certificate
notBefore and notAfter functions to integer
seconds past the Epoch (the time values
returned from time.time())
fetch_server_certificate (HOST, PORT) -- fetch the certificate provided
by the server running on HOST at port PORT. No
validation of the certificate is performed.
Integer constants:
SSL_ERROR_ZERO_RETURN
SSL_ERROR_WANT_READ
SSL_ERROR_WANT_WRITE
SSL_ERROR_WANT_X509_LOOKUP
SSL_ERROR_SYSCALL
SSL_ERROR_SSL
SSL_ERROR_WANT_CONNECT
SSL_ERROR_EOF
SSL_ERROR_INVALID_ERROR_CODE
The following group define certificate requirements that one side is
allowing/requiring from the other side:
CERT_NONE - no certificates from the other side are required (or will
be looked at if provided)
CERT_OPTIONAL - certificates are not required, but if provided will be
validated, and if validation fails, the connection will
also fail
CERT_REQUIRED - certificates are required, and will be validated, and
if validation fails, the connection will also fail
The following constants identify various SSL protocol variants:
PROTOCOL_SSLv2
PROTOCOL_SSLv3
PROTOCOL_SSLv23
PROTOCOL_TLS
PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVER
PROTOCOL_TLSv1
PROTOCOL_TLSv1_1
PROTOCOL_TLSv1_2
The following constants identify various SSL alert message descriptions as per
http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-6
ALERT_DESCRIPTION_CLOSE_NOTIFY
ALERT_DESCRIPTION_UNEXPECTED_MESSAGE
ALERT_DESCRIPTION_BAD_RECORD_MAC
ALERT_DESCRIPTION_RECORD_OVERFLOW
ALERT_DESCRIPTION_DECOMPRESSION_FAILURE
ALERT_DESCRIPTION_HANDSHAKE_FAILURE
ALERT_DESCRIPTION_BAD_CERTIFICATE
ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE
ALERT_DESCRIPTION_CERTIFICATE_REVOKED
ALERT_DESCRIPTION_CERTIFICATE_EXPIRED
ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN
ALERT_DESCRIPTION_ILLEGAL_PARAMETER
ALERT_DESCRIPTION_UNKNOWN_CA
ALERT_DESCRIPTION_ACCESS_DENIED
ALERT_DESCRIPTION_DECODE_ERROR
ALERT_DESCRIPTION_DECRYPT_ERROR
ALERT_DESCRIPTION_PROTOCOL_VERSION
ALERT_DESCRIPTION_INSUFFICIENT_SECURITY
ALERT_DESCRIPTION_INTERNAL_ERROR
ALERT_DESCRIPTION_USER_CANCELLED
ALERT_DESCRIPTION_NO_RENEGOTIATION
ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION
ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE
ALERT_DESCRIPTION_UNRECOGNIZED_NAME
ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE
ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE
ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY
N)
namedtuple)EnumIntEnumIntFlag)OPENSSL_VERSION_NUMBEROPENSSL_VERSION_INFOOPENSSL_VERSION)_SSLContext MemoryBIO
SSLSession)SSLErrorSSLZeroReturnErrorSSLWantReadErrorSSLWantWriteErrorSSLSyscallErrorSSLEOFErrorSSLCertVerificationError)txt2objnid2obj)RAND_statusRAND_add
RAND_bytesRAND_pseudo_bytes)RAND_egd)
HAS_SNIHAS_ECDHHAS_NPNHAS_ALPN HAS_SSLv2 HAS_SSLv3 HAS_TLSv1HAS_TLSv1_1HAS_TLSv1_2HAS_TLSv1_3)_DEFAULT_CIPHERS_OPENSSL_API_VERSION
_SSLMethodc C s | do| dkS )NZ PROTOCOL_PROTOCOL_SSLv23)
startswith)name r* /usr/lib/python3.7/ssl.py<lambda>| r, )sourceOptionsc C s
| dS )NZOP_)r( )r) r* r* r+ r, r- ZAlertDescriptionc C s
| dS )NZALERT_DESCRIPTION_)r( )r) r* r* r+ r, r- ZSSLErrorNumberc C s
| dS )NZ
SSL_ERROR_)r( )r) r* r* r+ r, r- VerifyFlagsc C s
| dS )NZVERIFY_)r( )r) r* r* r+ r, r-
VerifyModec C s
| dS )NZCERT_)r( )r) r* r* r+ r, r- c C s i | ]\}}||qS r* r* ).0r) valuer* r* r+
<dictcomp>