§
¿w(ZïÞŽã
ó´ — d Z ddlZddlZddlmZ ddlmZmZ m
Z ddlmZ ddl
Z
ddl
mZmZmZ ddl
mZmZmZ ddl
mZmZmZmZmZmZmZ dd l
mZmZ dd
l
mZm Z m!Z!m"Z" ddl
m#Z# n# e$$ r Y nw xY wddl
m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. dd
l
m/Z/m0Z0 e j1 de2d„ e
¬¦ « ej1 de2d„ e
¬¦ « e j1 de2d„ e
¬¦ « e j1 de2d„ e
¬¦ « ej1 de2d„ e
¬¦ « e j1 de2d„ e
¬¦ « e3j4 xZ5e3_5 d„ e3j6 7 ¦ « D ¦ « Z8 e9e3dd¦ « Z: 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@mAZA dd'lBmBZBmCZCmDZD dd(lBmEZEmFZFmGZG ddlBZHddlIZIddlJZJddlKZKeLZMd)gZN eOe
d*¦ « ZPe/ZQeZRd+„ ZSd,„ ZTd-„ ZUd.„ ZV ed/d0¦ « ZWd1„ ZX G d2„ d3 ed3d4¦ « ¦ « ZY G d5„ d6eYe¦ « ZZ G d7„ d8e¦ « Z[eZj\ fdddd9œd:„Z]dLe^d;eZj\ dddddd<œd=„Z_e]Z`e_Za G d>„ d?¦ « Zbd@„ Zc G dA„ dBeB¦ « Zdede[_e ebe[_f ddd;e^e4ddCdCdf dD„ZgdE„ ZhdFZidGZjdH„ ZkdI„ ZlemdeGfdJ„ZndK„ ZodS )Mañ
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_pseudo_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 ó8 — | d¦ « o| dk S )NÚ PROTOCOL_ÚPROTOCOL_SSLv23©Ú
startswith©Únames ú*/opt/alt/python311/lib64/python3.11/ssl.pyú