관리-도구
편집 파일: ssl_.cpython-312.pyc
� G��eC � �� � d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ d dl m Z mZmZ ddl mZmZmZmZ ddlmZ dd lmZmZ dZdZd Zd Zd ZdgZe eed�Zd � Z eede� Z d dl!Z!d dl!m"Z"m#Z# d dl!mZ ddl%mZ d dl!m&Z& e&Z' d dl!m(Z( d dl!m)Z)m*Z*m+Z+ d dl!m,Z, dj[ g d�� Z. d dl!mZ d� Z0d � Z1d!� Z2 d'd"�Z3 d(d#�Z4d$� Z5d%� Z6d)d&�Z7y# e$$ r Y �zw xY w# e$$ r Y �~w xY w# e$$ r Y ��w xY w# e$$ r d dl!m'Z& e&Z'n# e$$ r dxZ'Z&Y nw xY wY ��w xY w# e$$ r e&Z(Y ��w xY w# e$$ r d\ Z*Z+dZ)Y ��w xY w# e$$ r dZ,Y ��w xY w# e$$ r G d� de/� ZY ��w xY w)*� )�absolute_importN)�hexlify� unhexlify)�md5�sha1�sha256� )�InsecurePlatformWarning�ProxySchemeUnsupported�SNIMissingWarning�SSLError)�six� )�BRACELESS_IPV6_ADDRZ_RE�IPV4_REFzhttp/1.1)� �( �@ c � � t t | � t |� z � }t t | � t |� � D ] \ }}|||z z }� |dk( S )z� Compare two digests of equal length in constant time. The digests must be of type str/bytes. Returns True if the digests match, and False otherwise. r )�abs�len�zip� bytearray)�a�b�result�left�rights ��/builddir/build/BUILDROOT/alt-python312-pip-23.3.1-1.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py�_const_compare_digest_backportr sT � � ��Q��#�a�&�� !�F��9�Q�<��1��6� ���e��$��,�����Q�;�� �compare_digest)� CERT_REQUIRED�wrap_socket)�HAS_SNI)�SSLTransport)�PROTOCOL_TLS)�PROTOCOL_SSLv23)�PROTOCOL_TLS_CLIENT)�OP_NO_COMPRESSION�OP_NO_SSLv2�OP_NO_SSLv3)i i i )�OP_NO_TICKETi @ �:)zECDHE+AESGCMzECDHE+CHACHA20z DHE+AESGCMzDHE+CHACHA20zECDH+AESGCMz DH+AESGCMzECDH+AESzDH+AESz RSA+AESGCMzRSA+AESz!aNULLz!eNULLz!MD5z!DSS)� SSLContextc �. � e Zd Zd� Zd� Zdd�Zd� Zdd�Zy) r/ c � � || _ d| _ t j | _ d | _ d| _ d | _ d | _ d | _ y )NFr ) �protocol�check_hostname�ssl� CERT_NONE�verify_mode�ca_certs�options�certfile�keyfile�ciphers)�self�protocol_versions r �__init__zSSLContext.__init__� s@ � �,�D�M�"'�D��"�}�}�D�� �D�M��D�L� �D�M��D�L��D�Lr! c � � || _ || _ y �N)r9 r: )r<