Ë
‚Ö¦iØÆ ã
óp — d Z ddlZddlZddlmZ ddlmZmZ m
Z ddlmZ ddl
Z
ddl
mZmZmZ ddl
mZmZmZ ddl
mZmZmZmZmZmZmZ dd l
mZmZ dd
l
mZm Z m!Z! ddl
m"Z" ddl
m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- dd
l
m.Z.m/Z/ e j` de1d„ e
¬« ej` de1d„ e
¬« e j` de1d„ e
¬« e j` de1d„ e
¬« ej` de1d„ e
¬« e j` de1d„ e
¬« e2jf xZ4e2_4 e2jj jm « D � �ci c] \ } }|| “Œ
c}} Z7 e8e2dd« Z9 ee « G d„ d« « Z: ee « G d„ d« « Z; ee « G d „ d!« « Z< ee « G d"„ d#« « Z=ej| d$k( rdd%l
m?Z?m@Z@ dd&lAmAZAmBZBmCZC dd'lAmDZDmEZEmFZF ddlAZGddlHZHddlIZIddlJZJeKZLd(gZM eNe
d)« ZOe.ZPeZQd*„ ZRd+„ ZSd,„ ZT ed-d.« ZUd/„ ZV G d0„ d1 ed1d2« « ZW G d3„ d4eWe« ZX G d5„ d6e« ZYeXj´ fdddd7œd8„Z[dHe\d9eXj´ dddddd:œd;„Z]e[Z^e]Z_ G d<„ d=« Z`d>„ Za G d?„ d@eA« ZbebeY_c e`eY_d dA„ ZedBZfdCZgdD„ ZhdE„ ZiejdeFfdF„ZkdG„ Zly# e#$ r Y �ŒJw xY wc c}} w )Iañ
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())
get_server_certificate (addr, ssl_version, ca_certs, timeout) -- Retrieve the
certificate from the server at the specified
address and return it as a PEM-encoded string
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)ÚEnumÚIntEnumÚIntFlag)Ú_simple_enum)ÚOPENSSL_VERSION_NUMBERÚOPENSSL_VERSION_INFOÚOPENSSL_VERSION)Ú_SSLContextÚ MemoryBIOÚ
SSLSession)ÚSSLErrorÚSSLZeroReturnErrorÚSSLWantReadErrorÚSSLWantWriteErrorÚSSLSyscallErrorÚSSLEOFErrorÚSSLCertVerificationError)Útxt2objÚnid2obj)ÚRAND_statusÚRAND_addÚ
RAND_bytes)ÚRAND_egd)
ÚHAS_SNIÚHAS_ECDHÚHAS_NPNÚHAS_ALPNÚ HAS_SSLv2Ú HAS_SSLv3Ú HAS_TLSv1ÚHAS_TLSv1_1ÚHAS_TLSv1_2ÚHAS_TLSv1_3)Ú_DEFAULT_CIPHERSÚ_OPENSSL_API_VERSIONÚ
_SSLMethodc ó2 — | j d« xr | dk7 S )NÚ PROTOCOL_ÚPROTOCOL_SSLv23©Ú
startswith©Únames ú/usr/lib64/python3.12/ssl.pyÚ