PHP WebShell

Текущая директория: /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__

Просмотр файла: encode_asn1.cpython-310.pyc

o

�)%a�]�@s�ddlZddlZddlmZmZddlmZmZmZddl	m
Z
ddlmZm
Z
mZdd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Z d*d+�Z!d,d-�Z"d.d/�Z#d0d1�Z$d2d3�Z%d4d5�Z&d6d7�Z'd8d9�Z(d:d;�Z)d<d=�Z*d>d?�Z+ej,j-d@ej,j.dAej,j/dBej,j0dCej,j1dDej,j2dEej,j3dFej,j4dGiZ5dHdI�Z6dJdK�Z7dLdM�Z8dNdO�Z9dPdQ�Z:dRdS�Z;dTdU�Z<dVdW�Z=dXdY�Z>ie
j?e$�e
j@e(�e
jAe"�e
jBe'�e
jCe'�e
jDe+�e
jEe#�e
jFe�e
jGe%�e
jHe%�e
jIe9�e
jJe9�e
jKe�e
jLe!�e
jMe:�e
jNe;�e
jOe=�ZPe
jCe'e
jEe#e
jGe%e
jQee
jRee
jSee
jJe9iZTejUe'ejVeejWeiZXejYe>iZZejYe>iZ[dS)Z�N)�utils�x509)�_CRL_ENTRY_REASON_ENUM_TO_CODE�_DISTPOINT_TYPE_FULLNAME�_DISTPOINT_TYPE_RELATIVENAME)�	_ASN1Type)�CRLEntryExtensionOID�ExtensionOID�OCSPExtensionOIDcCsD|�|�}|j�||jj�}|j�||jj�}|�||jjk�|S)a
    Converts a python integer to an ASN1_INTEGER. The returned ASN1_INTEGER
    will not be garbage collected (to support adding them to structs that take
    ownership of the object). Be sure to register it for GC if it will be
    discarded after use.

    )�
_int_to_bn�_ffi�gc�_lib�BN_free�BN_to_ASN1_INTEGER�NULL�openssl_assert��backend�x�i�r�R/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/encode_asn1.py�_encode_asn1_ints

rcC� t||�}|j�||jj�}|S�N)rrr
r�ASN1_INTEGER_freerrrr�_encode_asn1_int_gc+�
rcCs0|j��}|j�||t|��}|�|dk�|S)z@
    Create an ASN1_OCTET_STRING from a Python byte string.
    �)r�ASN1_OCTET_STRING_new�ASN1_OCTET_STRING_set�lenr)r�data�s�resrrr�_encode_asn1_str1s
r&cCs<|j��}|j�||�d�t|�d���}|�|dk�|S)z�
    Create an ASN1_UTF8STRING from a Python unicode string.
    This object will be an ASN1_STRING with UTF8 type in OpenSSL and
    can be decoded with ASN1_STRING_to_UTF8.
    �utf8r)r�ASN1_UTF8STRING_new�ASN1_STRING_set�encoder"r)r�stringr$r%rrr�_encode_asn1_utf8_str;s
�r,cCrr)r&rr
r�ASN1_OCTET_STRING_free)rr#r$rrr�_encode_asn1_str_gcIrr.cC�t||j�Sr)r�
skip_certs)r�inhibit_any_policyrrr�_encode_inhibit_any_policyO�r2cCsh|j��}|jD])}d}|D]"}t||�}|j�||jj�}|j�||d|�}|�|dk�d}qq|S)zP
    The X509_NAME created will not be gc'd. Use _encode_name_gc if needed.
    r���r)	r�
X509_NAME_new�rdns�_encode_name_entryrr
�X509_NAME_ENTRY_free�X509_NAME_add_entryr)r�name�subject�rdn�set_flag�	attribute�
name_entryr%rrr�_encode_nameSs


���r@cCrr)r@rr
r�X509_NAME_free)r�
attributesr;rrr�_encode_name_gchrrCcCs>|j��}|D]}t||�}|j�||�}|�|dk�q|S)z:
    The sk_X509_NAME_ENTRY created will not be gc'd.
    r)r�sk_X509_NAME_ENTRY_new_nullr7�sk_X509_NAME_ENTRY_pushr)rrB�stackr>r?r%rrr�_encode_sk_name_entryns

rGcCsr|jtjur
|j�d�}n|jtjur|j�d�}n|j�d�}t||jj�}|j	�
|jj||jj|t
|��}|S)N�	utf_16_be�	utf_32_ber')�_typer�	BMPString�valuer*�UniversalString�_txt2obj_gc�oid�
dotted_stringr�X509_NAME_ENTRY_create_by_OBJrrr")rr>rL�objr?rrrr7zs�r7cCr/r)r�
crl_number�r�extrrr�&_encode_crl_number_delta_crl_indicator�r3rVcCs�|j��}|�||jjk�|j�||jj�}|jrdnd|_|j	r$dnd|_
|jr,dnd|_|j
r4dnd|_|jrAt||j�|_|jrKt||j�|_|jrUt||j�|_|S�N�r)r�ISSUING_DIST_POINT_newrrrr
�ISSUING_DIST_POINT_free�only_contains_user_certs�onlyuser�only_contains_ca_certs�onlyCA�indirect_crl�indirectCRL�only_contains_attribute_certs�onlyattr�only_some_reasons�_encode_reasonflags�onlysomereasons�	full_name�_encode_full_name�	distpoint�
relative_name�_encode_relative_name)rrU�idprrr�_encode_issuing_dist_point�s 
�rlcCsT|j��}|�||jjk�|j�||jj�}|j�|t|j	�}|�|dk�|S�Nr)
r�ASN1_ENUMERATED_newrrrr
�ASN1_ENUMERATED_free�ASN1_ENUMERATED_setr�reason)r�
crl_reason�asn1enumr%rrr�_encode_crl_reason�s

�rtcCsF|j�|jjt�|j����}|�||jjk�|j�	||jj
�}|Sr)r�ASN1_GENERALIZEDTIME_setrr�calendar�timegm�invalidity_date�	timetuplerr
�ASN1_GENERALIZEDTIME_free)rrx�timerrr�_encode_invalidity_date�s�r|cCs�|j��}|�||jjk�|j�||jj�}|D]�}|j��}|�||jjk�|j�||�}|�|dk�t	||j
j�}||_|j
r�|j��}|�||jjk�|j
D]i}|j��}	|�|	|jjk�|j�||	�}|�|dk�t|t�r�t	|tjj�|	_t||�d��|	j_qUt|tj�s�J�t	|tjj�|	_|j��}
|�|
|jjk�|
|	j_|jr�t||j�|
_ t!||j"�|
_#qU||_$q|S)Nr�ascii)%r�sk_POLICYINFO_new_nullrrrr
�sk_POLICYINFO_free�POLICYINFO_new�sk_POLICYINFO_push�_txt2obj�policy_identifierrP�policyid�policy_qualifiers�sk_POLICYQUALINFO_new_null�POLICYQUALINFO_new�sk_POLICYQUALINFO_push�
isinstance�strr�OID_CPS_QUALIFIER�pqualidr&r*�d�cpsuri�
UserNotice�OID_CPS_USER_NOTICE�USERNOTICE_new�
usernotice�
explicit_textr,�exptext�_encode_notice_reference�notice_reference�	noticeref�
qualifiers)r�certificate_policies�cp�policy_info�pir%rO�pqis�	qualifier�pqi�unrrr�_encode_certificate_policies�sV





�
��
���r�cCs�|dur|jjS|j��}|�||jjk�t||j�|_|j��}||_|j	D]}t
||�}|j�||�}|�|dk�q(|Srm)rrr�
NOTICEREF_newrr,�organization�sk_ASN1_INTEGER_new_null�	noticenos�notice_numbersr�sk_ASN1_INTEGER_push)r�notice�nr�notice_stack�number�numr%rrrr��s



r�cCs.|�d�}|j�|d�}|�||jjk�|S)z_
    Converts a Python string with an ASN.1 object ID in dotted form to a
    ASN1_OBJECT.
    r}r)r*r�OBJ_txt2objrrr�rr:rRrrrr��s
r�cCrr)r�rr
r�ASN1_OBJECT_freer�rrrrN
rrNcCs
|j��Sr)r�
ASN1_NULL_newrTrrr�_encode_ocsp_nochecks
r�cCsb|jj}|j��}|j�||jj�}||d|j�}|�|dk�||d|j�}|�|dk�||d|j	�}|�|dk�||d|j
�}|�|dk�||d|j�}|�|dk�||d|j�}|�|dk�||d|j
�}|�|dk�|jr�||d|j�}|�|dk�||d	|j�}|�|dk�|S||dd�}|�|dk�||d	d�}|�|dk�|S)
Nrr�������)r�ASN1_BIT_STRING_set_bit�ASN1_BIT_STRING_newrr
�ASN1_BIT_STRING_free�digital_signaturer�content_commitment�key_encipherment�data_encipherment�
key_agreement�
key_cert_sign�crl_sign�
encipher_only�
decipher_only)r�	key_usage�set_bit�kur%rrr�_encode_key_usages8
�r�cCsz|j��}|�||jjk�|j�||jj�}|jdur#t||j�|_	|j
dur/t||j
�|_|j
dur;t||j
�|_|Sr)r�AUTHORITY_KEYID_newrrrr
�AUTHORITY_KEYID_free�key_identifierr&�keyid�authority_cert_issuer�_encode_general_names�issuer�authority_cert_serial_numberr�serial)r�authority_keyid�akidrrr� _encode_authority_key_identifier5s"

�
�
�r�cCsN|j��}|j�||jj�}|jrdnd|_|jr%|jdur%t||j�|_|SrW)	r�BASIC_CONSTRAINTS_newrr
�BASIC_CONSTRAINTS_free�ca�path_lengthr�pathlen)r�basic_constraints�constraintsrrr�_encode_basic_constraintsLs
��r�cs��j��}��|�jjk��j�|�fdd��}|D]'}�j��}t�|jj	�}t
�|j|j�||_
�j�||�}��|dk�q|S)Ncs�j�|�j��jjd��S)N�ACCESS_DESCRIPTION_free)r�sk_ACCESS_DESCRIPTION_pop_freer�	addressof�
_original_lib)r�rrr�<lambda>_s��z,_encode_information_access.<locals>.<lambda>r)r�sk_ACCESS_DESCRIPTION_new_nullrrrr
�ACCESS_DESCRIPTION_newr��
access_methodrP�!_encode_general_name_preallocated�access_location�location�method�sk_ACCESS_DESCRIPTION_push)r�info_access�aia�access_description�adr�r%rr�r�_encode_information_accessZs$

�	
�
�r�cCsP|j��}|�||jjk�|D]}t||�}|j�||�}|�|dk�q|S)Nr)r�GENERAL_NAMES_newrrr�_encode_general_name�sk_GENERAL_NAME_push)r�names�
general_namesr:�gnr%rrrr�us

r�cCrr)r�rr
r�GENERAL_NAMES_free)r�sanr�rrr�_encode_alt_name�s

�r�cCr/r)r.�digest)r�skirrr�_encode_subject_key_identifier�r3r�cCs|j��}t|||�|Sr)r�GENERAL_NAME_newr�)rr:r�rrrr��s
r�cCsLt|tj�r?|�||jjk�|jj|_|j�	�}|�||jjk�|j
�d�}|j�||t
|��}|�|dk�||j_dSt|tj�rn|�||jjk�|jj|_|j�|j
j�d�d�}|�||jjk�||j_dSt|tj�r�|�||jjk�t||j
�}|jj|_||j_dSt|tj�r�|�||jjk�t|j
tj�r�|j
jjt�d|j
j d�}nt|j
tj!�r�|j
jjt�dd>|j
j d�}n|j
j}t"||�}	|jj#|_|	|j_$dSt|tj%��rS|�||jjk�|j�&�}
|�|
|jjk�|j�|j'j�d�d�}|�||jjk�|j�(d|j
�}|j�(d	�}
||
d
<|j�)|jj|
t
|j
��}||jjk�rB|�*�t+d��||
_'||
_
|jj,|_|
|j_-dSt|tj.��ry|�||jjk�|j
�d�}t"||�}|jj/|_||j_0dSt|tj1��r�|�||jjk�|j
�d�}t"||�}|jj2|_||j_3dSt+d�4|���)
Nr'rr}lr���zunsigned char[]zunsigned char **rzInvalid ASN.1 dataz!{} is an unknown GeneralName type)5r�r�DNSNamerrrr�GEN_DNS�type�ASN1_IA5STRING_newrLr*r)r"r��dNSName�RegisteredID�GEN_RIDr�rP�registeredID�
DirectoryNamer@�GEN_DIRNAME�
directoryName�	IPAddress�	ipaddress�IPv4Network�network_address�packedr�int_to_bytes�
num_addresses�IPv6Networkr&�	GEN_IPADD�	iPAddress�	OtherName�
OTHERNAME_new�type_id�new�
d2i_ASN1_TYPE�_consume_errors�
ValueError�
GEN_OTHERNAME�	otherName�
RFC822Name�	GEN_EMAIL�
rfc822Name�UniformResourceIdentifier�GEN_URI�uniformResourceIdentifier�format)rr:r��ia5rLr%rR�dir_namer�ipaddr�
other_namerr#�data_ptr_ptr�asn1_strrrrr��s�


�
��


��




r�cCsR|j��}|j�||jj�}|D]}t||j�}|j�||�}|�|dk�q|Srm)	r�sk_ASN1_OBJECT_new_nullrr
�sk_ASN1_OBJECT_freer�rP�sk_ASN1_OBJECT_pushr)r�extended_key_usage�ekurOrRr%rrr�_encode_extended_key_usage�s
r/rr�r�r�r�r�r�r�cCsL|j��}|�||jjk�|D]}|j�|t|d�}|�|dk�q|Srm)rr�rrrr��_CRLREASONFLAGS)r�reasons�bitmaskrqr%rrrrd�s

�rdcC�4|j��}|�||jjk�t|_t||�|j_	|Sr)
r�DIST_POINT_NAME_newrrrrrr�r:�fullname)rrf�dpnrrrrg	�

rgcCr3r)
rr4rrrrrrGr:�relativename)rrir6rrrrjr7rjcCs�|j��}|j�||jj�}|D]F}|j��}|�||jjk�|jr*t	||j�|_|j
r4t||j
�|_|j
r>t||j
�|_|jrHt||j�|_|j�||�}|�|dk�q|Srm)r�sk_DIST_POINT_new_nullrr
�sk_DIST_POINT_free�DIST_POINT_newrrr1rdrfrgrhrirj�
crl_issuerr��	CRLissuer�sk_DIST_POINT_push)r�cdps�cdp�point�dpr%rrr�_encode_cdps_freshest_crls 

rCcCsV|j��}|�||jjk�|j�||jj�}t||j�}||_	t||j
�}||_|Sr)r�NAME_CONSTRAINTS_newrrrr
�NAME_CONSTRAINTS_free�_encode_general_subtree�permitted_subtrees�permittedSubtrees�excluded_subtrees�excludedSubtrees)r�name_constraints�nc�	permitted�excludedrrr�_encode_name_constraints2s
��rOcCsb|j��}|�||jjk�|j�||jj�}|jdur#t||j�|_	|j
dur/t||j
�|_|Sr)r�POLICY_CONSTRAINTS_newrrrr
�POLICY_CONSTRAINTS_free�require_explicit_policyr�requireExplicitPolicy�inhibit_policy_mapping�inhibitPolicyMapping)r�policy_constraints�pcrrr�_encode_policy_constraintsBs

�
�rXcCsZ|dur|jjS|j��}|D]}|j��}t||�|_|j�||�}|�|dk�q|Srm)	rrr�sk_GENERAL_SUBTREE_new_null�GENERAL_SUBTREE_newr��base�sk_GENERAL_SUBTREE_pushr)r�subtrees�general_subtreesr:�gsr%rrrrFSs

rFcCsZ|j��}|�||jjk�|j�||jj�}|D]}|j�||j�}|�|dk�q|Srm)	r�sk_SCT_new_nullrrrr
�sk_SCT_free�sk_SCT_push�_sct)r�scts�	sct_stack�sctr%rrr�-_encode_precert_signed_certificate_timestampsas
rgcCr/r)r.�nonce)rrhrrr�
_encode_noncekr3ri)\rvr�cryptographyrr�0cryptography.hazmat.backends.openssl.decode_asn1rrr�cryptography.x509.namer�cryptography.x509.oidrr	r
rrr&r,r.r2r@rCrGr7rVrlrtr|r�r�r�rNr�r�r�r�r�r�r�r�r�r�r/�ReasonFlags�key_compromise�
ca_compromise�affiliation_changed�
superseded�cessation_of_operation�certificate_hold�privilege_withdrawn�
aa_compromiser0rdrgrjrCrOrXrFrgri�BASIC_CONSTRAINTS�SUBJECT_KEY_IDENTIFIER�	KEY_USAGE�SUBJECT_ALTERNATIVE_NAME�ISSUER_ALTERNATIVE_NAME�EXTENDED_KEY_USAGE�AUTHORITY_KEY_IDENTIFIER�CERTIFICATE_POLICIES�AUTHORITY_INFORMATION_ACCESS�SUBJECT_INFORMATION_ACCESS�CRL_DISTRIBUTION_POINTS�FRESHEST_CRL�INHIBIT_ANY_POLICY�
OCSP_NO_CHECK�NAME_CONSTRAINTS�POLICY_CONSTRAINTS�%PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS�_EXTENSION_ENCODE_HANDLERS�
CRL_NUMBER�DELTA_CRL_INDICATOR�ISSUING_DISTRIBUTION_POINT�_CRL_EXTENSION_ENCODE_HANDLERS�CERTIFICATE_ISSUER�
CRL_REASON�INVALIDITY_DATE�$_CRL_ENTRY_EXTENSION_ENCODE_HANDLERS�NONCE�'_OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS�)_OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERSrrrr�<module>s�
1 T�
��������	�
���
���������

Выполнить команду


Для локальной разработки. Не используйте в интернете!