CasperSecurity

Current Path : /usr/lib/python3/dist-packages/cryptography/x509/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cryptography/x509/__pycache__/extensions.cpython-310.pyc

o

�R�i���@s�ddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
ddlmZmZddlmZddlmZddlmZdd	lmZmZmZdd
lmZddlmZmZm Z m!Z!de
d
e"fdd�Z#dd�Z$Gdd�de%�Z&Gdd�de%�Z'Gdd�dej(d�Z)Gdd�de*�Z+Gdd�de)�Z,Gdd�de)�Z-Gdd �d e)�Z.Gd!d"�d"e)�Z/Gd#d$�d$e)�Z0Gd%d&�d&e*�Z1Gd'd(�d(e)�Z2Gd)d*�d*e)�Z3Gd+d,�d,e)�Z4Gd-d.�d.e)�Z5Gd/d0�d0e*�Z6Gd1d2�d2ej7�Z8Gd3d4�d4e)�Z9Gd5d6�d6e)�Z:Gd7d8�d8e*�Z;Gd9d:�d:e*�Z<Gd;d<�d<e*�Z=Gd=d>�d>e)�Z>Gd?d@�d@e)�Z?GdAdB�dBe)�Z@GdCdD�dDe)�ZAGdEdF�dFej7�ZBdGdH�eBD�ZCGdIdJ�dJe)�ZDGdKdL�dLe)�ZEGdMdN�dNe)�ZFGdOdP�dPe*�ZGGdQdR�dRe*�ZHGdSdT�dTe)�ZIGdUdV�dVe)�ZJGdWdX�dXe)�ZKGdYdZ�dZe)�ZLGd[d\�d\e)�ZMGd]d^�d^e)�ZNGd_d`�d`e)�ZOGdadb�dbe)�ZPGdcdd�dde)�ZQGdedf�dfe)�ZRdS)g�N)�utils)�
BIT_STRING�	DERReader�OBJECT_IDENTIFIER�SEQUENCE)�_PUBLIC_KEY_TYPES)�
constant_time�
serialization)�EllipticCurvePublicKey)�RSAPublicKey)�SignedCertificateTimestamp)�GeneralName�	IPAddress�	OtherName)�RelativeDistinguishedName)�CRLEntryExtensionOID�ExtensionOID�OCSPExtensionOID�ObjectIdentifier�
public_key�returncCst|t�r|�tjjtjj�}nit|t�r |�tjj	tjj
�}nY|�tjjtjj�}t|�}|�
t��}|�t�}|�t�}Wd�n1sHwY|�|�t�|��s]|��Wd�n1sgwY|��dkrvtd��|j}t�|���S)NrzInvalid public key encoding)�
isinstancer�public_bytesr	�Encoding�DER�PublicFormat�PKCS1r
�X962�UncompressedPoint�SubjectPublicKeyInfor�read_single_elementr�read_elementrr�is_empty�read_any_element�	read_byte�
ValueError�data�hashlib�sha1�digest)rr&�
serialized�reader�public_key_info�	algorithm�public_key_data�r/�>/usr/lib/python3/dist-packages/cryptography/x509/extensions.py�_key_identifier_from_public_key$s:
�
��
�
��r1cs.�fdd�}�fdd�}�fdd�}|||fS)Nc�tt|���S�N)�len�getattr��self��
field_namer/r0�
len_methodM�z*_make_sequence_methods.<locals>.len_methodcr2r3)�iterr5r6r8r/r0�iter_methodPr;z+_make_sequence_methods.<locals>.iter_methodcst|��|Sr3)r5)r7�idxr8r/r0�getitem_methodSr;z._make_sequence_methods.<locals>.getitem_methodr/)r9r:r=r?r/r8r0�_make_sequence_methodsLs
r@c�&eZdZdedef�fdd�Z�ZS)�DuplicateExtension�msg�oidc�tt|��|�||_dSr3)�superrB�__init__rD�r7rCrD��	__class__r/r0rGZ�
zDuplicateExtension.__init__��__name__�
__module__�__qualname__�strrrG�
__classcell__r/r/rIr0rBY�rBcrA)�ExtensionNotFoundrCrDcrEr3)rFrSrGrDrHrIr/r0rG`rKzExtensionNotFound.__init__rLr/r/rIr0rS_rRrSc@s eZdZejdefdd��ZdS)�
ExtensionTypercC�dS)zK
        Returns the oid associated with the given extension type.
        Nr/r6r/r/r0rDfszExtensionType.oidN)rMrNrO�abc�abstractpropertyrrDr/r/r/r0rTesrT)�	metaclassc@sReZdZdejdfdd�Zdeddfdd�Zdd	d
�Ze	d�\Z
ZZdd
�Z
dS)�
Extensions�
extensions�	ExtensioncC�
||_dSr3)�_extensions)r7rZr/r/r0rGn�
zExtensions.__init__rDrcCs,|D]}|j|kr
|Sqtd�|�|��)N�No {} extension was found)rDrS�format)r7rD�extr/r/r0�get_extension_for_oidqs

�z Extensions.get_extension_for_oidcCs@|turtd��|D]}t|j|�r|Sq
td�|�|j��)Nz|UnrecognizedExtension can't be used with get_extension_for_class because more than one instance of the class may be present.r_)�UnrecognizedExtension�	TypeErrorr�valuerSr`rD)r7�extclassrar/r/r0�get_extension_for_classxs���z"Extensions.get_extension_for_classr]cC�d�|j�S)Nz<Extensions({})>)r`r]r6r/r/r0�__repr__��zExtensions.__repr__N)rr[)rMrNrO�typing�ListrGrrbrgr@�__len__�__iter__�__getitem__rir/r/r/r0rYms
rYc@�JeZdZejZdefdd�Zdd�Zdd�Z	dd	�Z
d
d�Ze�
d�Zd
S)�	CRLNumber�
crl_numbercC�t|t�s	td��||_dS�Nzcrl_number must be an integer�r�intrd�_crl_number�r7rrr/r/r0rG��

zCRLNumber.__init__cC�t|t�stS|j|jkSr3)rrq�NotImplementedrr�r7�otherr/r/r0�__eq__��
zCRLNumber.__eq__cC�
||kSr3r/r|r/r/r0�__ne__�r^zCRLNumber.__ne__cC�
t|j�Sr3��hashrrr6r/r/r0�__hash__�r^zCRLNumber.__hash__cCrh)Nz<CRLNumber({})>)r`rrr6r/r/r0ri�rjzCRLNumber.__repr__rwN)rMrNrOr�
CRL_NUMBERrDrvrGr~r�r�rir�read_only_propertyrrr/r/r/r0rq��rqc@s�eZdZejZdejedejej	e
dejefdd�Ze
deddfdd	��Ze
	
			ddd
��Zdd�Zdd�Zdd�Zdd�Ze�d�Ze�d�Ze�d�ZdS)�AuthorityKeyIdentifier�key_identifier�authority_cert_issuer�authority_cert_serial_numbercCsr|du|dukrtd��|dur!t|�}tdd�|D��s!td��|dur.t|t�s.td��||_||_||_dS)NzXauthority_cert_issuer and authority_cert_serial_number must both be present or both Nonecs��|]}t|t�VqdSr3�rr
��.0�xr/r/r0�	<genexpr>���

�z2AuthorityKeyIdentifier.__init__.<locals>.<genexpr>z;authority_cert_issuer must be a list of GeneralName objectsz/authority_cert_serial_number must be an integer)	r%�list�allrdrrv�_key_identifier�_authority_cert_issuer�_authority_cert_serial_number)r7r�r�r�r/r/r0rG�s*����
�
zAuthorityKeyIdentifier.__init__rrcCst|�}||ddd�S�N)r�r�r��r1)�clsrr)r/r/r0�from_issuer_public_key�s�z-AuthorityKeyIdentifier.from_issuer_public_key�ski�SubjectKeyIdentifiercCs||jddd�Sr�)r))r�r�r/r/r0�"from_issuer_subject_key_identifier�s
�z9AuthorityKeyIdentifier.from_issuer_subject_key_identifiercC�
d�|�S)Nz�<AuthorityKeyIdentifier(key_identifier={0.key_identifier!r}, authority_cert_issuer={0.authority_cert_issuer}, authority_cert_serial_number={0.authority_cert_serial_number})>�r`r6r/r/r0ri�s�zAuthorityKeyIdentifier.__repr__cC�2t|t�stS|j|jko|j|jko|j|jkSr3)rr�r{r�r�r�r|r/r/r0r~�s

���zAuthorityKeyIdentifier.__eq__cCr�r3r/r|r/r/r0r��r^zAuthorityKeyIdentifier.__ne__cCs,|jdurd}nt|j�}t|j||jf�Sr3)r��tupler�r�r�)r7�acir/r/r0r��s

�zAuthorityKeyIdentifier.__hash__r�r�r�N)r�r�rr�)rMrNrOr�AUTHORITY_KEY_IDENTIFIERrDrk�Optional�bytes�Iterabler
rvrG�classmethodrr�r�rir~r�r�rr�r�r�r�r/r/r/r0r��s<��
�!��
��	
	
�r�c@s`eZdZejZdefdd�Zede	ddfdd��Z
e�d�Z
d	d
�Zdd�Zd
d�Zdd�ZdS)r�r)cCr\r3)�_digest)r7r)r/r/r0rGr^zSubjectKeyIdentifier.__init__rrcCs|t|��Sr3r�)r�rr/r/r0�from_public_keysz$SubjectKeyIdentifier.from_public_keyr�cCrh)Nz$<SubjectKeyIdentifier(digest={0!r})>)r`r)r6r/r/r0rirjzSubjectKeyIdentifier.__repr__cCst|t�stSt�|j|j�Sr3)rr�r{r�bytes_eqr)r|r/r/r0r~s
zSubjectKeyIdentifier.__eq__cCr�r3r/r|r/r/r0r�r^zSubjectKeyIdentifier.__ne__cCr�r3)r�r)r6r/r/r0r�"r^zSubjectKeyIdentifier.__hash__N)rMrNrOr�SUBJECT_KEY_IDENTIFIERrDr�rGr�rr�rr�r)rir~r�r�r/r/r/r0r�s��
r�c@�TeZdZejZdejdfdd�Ze	d�\Z
ZZdd�Z
dd	�Zd
d�Zdd
�ZdS)�AuthorityInformationAccess�descriptions�AccessDescriptioncC�,t|�}tdd�|D��std��||_dS)Ncsr�r3�rr�r�r/r/r0r�+��z6AuthorityInformationAccess.__init__.<locals>.<genexpr>�@Every item in the descriptions list must be an AccessDescription�r�r�rd�
_descriptions�r7r�r/r/r0rG)��
z#AuthorityInformationAccess.__init__r�cCrh)Nz <AuthorityInformationAccess({})>�r`r�r6r/r/r0ri5rjz#AuthorityInformationAccess.__repr__cCrzr3)rr�r{r�r|r/r/r0r~8rz!AuthorityInformationAccess.__eq__cCr�r3r/r|r/r/r0r�>r^z!AuthorityInformationAccess.__ne__cC�tt|j��Sr3�r�r�r�r6r/r/r0r�Ar;z#AuthorityInformationAccess.__hash__N)rMrNrOr�AUTHORITY_INFORMATION_ACCESSrDrkr�rGr@rmrnrorir~r�r�r/r/r/r0r�&�
r�c@r�)�SubjectInformationAccessr�r�cCr�)Ncsr�r3r�r�r/r/r0r�Jr�z4SubjectInformationAccess.__init__.<locals>.<genexpr>r�r�r�r/r/r0rGHr�z!SubjectInformationAccess.__init__r�cCrh)Nz<SubjectInformationAccess({})>r�r6r/r/r0riTrjz!SubjectInformationAccess.__repr__cCrzr3)rr�r{r�r|r/r/r0r~WrzSubjectInformationAccess.__eq__cCr�r3r/r|r/r/r0r�]r^zSubjectInformationAccess.__ne__cCr�r3r�r6r/r/r0r�`r;z!SubjectInformationAccess.__hash__N)rMrNrOr�SUBJECT_INFORMATION_ACCESSrDrkr�rGr@rmrnrorir~r�r�r/r/r/r0r�Er�r�c@sReZdZdedefdd�Zdd�Zdd�Zd	d
�Zdd�Z	e
�d
�Ze
�d�Z
dS)r��
access_method�access_locationcCs4t|t�s	td��t|t�std��||_||_dS)Nz)access_method must be an ObjectIdentifierz%access_location must be a GeneralName)rrrdr
�_access_method�_access_location)r7r�r�r/r/r0rGes


zAccessDescription.__init__cCr�)NzY<AccessDescription(access_method={0.access_method}, access_location={0.access_location})>r�r6r/r/r0riq��zAccessDescription.__repr__cC�&t|t�stS|j|jko|j|jkSr3)rr�r{r�r�r|r/r/r0r~w�


�zAccessDescription.__eq__cCr�r3r/r|r/r/r0r��r^zAccessDescription.__ne__cC�t|j|jf�Sr3)r�r�r�r6r/r/r0r���zAccessDescription.__hash__r�r�N)rMrNrOrr
rGrir~r�r�rr�r�r�r/r/r/r0r�ds�
�	
r�c@s^eZdZejZdedeje	fdd�Z
e�d�Z
e�d�Zdd�Zd	d
�Zdd�Zd
d�ZdS)�BasicConstraints�ca�path_lengthcCsXt|t�s	td��|dur|std��|dur$t|t�r |dkr$td��||_||_dS)Nzca must be a boolean valuez)path_length must be None when ca is Falserz2path_length must be a non-negative integer or None)r�boolrdr%rv�_ca�_path_length)r7r�r�r/r/r0rG�s
��
zBasicConstraints.__init__r�r�cCr�)Nz:<BasicConstraints(ca={0.ca}, path_length={0.path_length})>r�r6r/r/r0ri�r�zBasicConstraints.__repr__cCr�r3)rr�r{r�r�r|r/r/r0r~��
zBasicConstraints.__eq__cCr�r3r/r|r/r/r0r��r^zBasicConstraints.__ne__cCr�r3)r�r�r�r6r/r/r0r��r�zBasicConstraints.__hash__N)rMrNrOr�BASIC_CONSTRAINTSrDr�rkr�rvrGrr�r�r�rir~r�r�r/r/r/r0r��s

r�c@sJeZdZejZdefdd�Ze�	d�Z
dd�Zdd�Zd	d
�Z
dd�Zd
S)�DeltaCRLIndicatorrrcCrsrtrurxr/r/r0rG�ryzDeltaCRLIndicator.__init__rwcCrzr3)rr�r{rrr|r/r/r0r~�rzDeltaCRLIndicator.__eq__cCr�r3r/r|r/r/r0r��r^zDeltaCRLIndicator.__ne__cCr�r3r�r6r/r/r0r��r^zDeltaCRLIndicator.__hash__cCr�)Nz.<DeltaCRLIndicator(crl_number={0.crl_number})>r�r6r/r/r0ri�r^zDeltaCRLIndicator.__repr__N)rMrNrOr�DELTA_CRL_INDICATORrDrvrGrr�rrr~r�r�rir/r/r/r0r��s
r�c@r�)�CRLDistributionPoints�distribution_points�DistributionPointcCr�)Ncsr�r3�rr�r�r/r/r0r��r�z1CRLDistributionPoints.__init__.<locals>.<genexpr>�?distribution_points must be a list of DistributionPoint objects�r�r�rd�_distribution_points�r7r�r/r/r0rG����
zCRLDistributionPoints.__init__r�cCrh)Nz<CRLDistributionPoints({})>�r`r�r6r/r/r0ri�rjzCRLDistributionPoints.__repr__cCrzr3)rr�r{r�r|r/r/r0r~�rzCRLDistributionPoints.__eq__cCr�r3r/r|r/r/r0r��r^zCRLDistributionPoints.__ne__cCr�r3�r�r�r�r6r/r/r0r��r;zCRLDistributionPoints.__hash__N)rMrNrOr�CRL_DISTRIBUTION_POINTSrDrkr�rGr@rmrnrorir~r�r�r/r/r/r0r���
�
�r�c@r�)�FreshestCRLr�r�cCr�)Ncsr�r3r�r�r/r/r0r��r�z'FreshestCRL.__init__.<locals>.<genexpr>r�r�r�r/r/r0rG�r�zFreshestCRL.__init__r�cCrh)Nz<FreshestCRL({})>r�r6r/r/r0rirjzFreshestCRL.__repr__cCrzr3)rr�r{r�r|r/r/r0r~rzFreshestCRL.__eq__cCr�r3r/r|r/r/r0r�r^zFreshestCRL.__ne__cCr�r3r�r6r/r/r0r�r;zFreshestCRL.__hash__N)rMrNrOr�FRESHEST_CRLrDrkr�rGr@rmrnrorir~r�r�r/r/r/r0r��r�r�c
@s�eZdZdejejedejedejejddejejefdd�Z	dd	�Z
d
d�Zdd
�Zdd�Z
e�d�Ze�d�Ze�d�Ze�d�ZdS)r��	full_name�
relative_name�reasons�ReasonFlags�
crl_issuercCs�|r|rtd��|rt|�}tdd�|D��std��|r&t|t�s&td��|r9t|�}tdd�|D��s9td��|rMt|t�rItdd�|D��sMtd	��|r]tj|vsYtj	|vr]td
��|ri|si|si|sitd��||_
||_||_||_
dS)NzOYou cannot provide both full_name and relative_name, at least one must be None.csr�r3r�r�r/r/r0r�(r�z-DistributionPoint.__init__.<locals>.<genexpr>z/full_name must be a list of GeneralName objectsz1relative_name must be a RelativeDistinguishedNamecsr�r3r�r�r/r/r0r�5r�z2crl_issuer must be None or a list of general namescsr�r3�rr�r�r/r/r0r�<r�z0reasons must be None or frozenset of ReasonFlagszLunspecified and remove_from_crl are not valid reasons in a DistributionPointzPYou must supply crl_issuer, full_name, or relative_name when reasons is not None)r%r�r�rdrr�	frozensetr��unspecified�remove_from_crl�
_full_name�_relative_name�_reasons�_crl_issuer)r7r�r�r�r�r/r/r0rGsR��
����

��
zDistributionPoint.__init__cCr�)Nz}<DistributionPoint(full_name={0.full_name}, relative_name={0.relative_name}, reasons={0.reasons}, crl_issuer={0.crl_issuer})>r�r6r/r/r0riT��zDistributionPoint.__repr__cCs>t|t�stS|j|jko|j|jko|j|jko|j|jkSr3)rr�r{r�r�r�r�r|r/r/r0r~[s

�
�
�zDistributionPoint.__eq__cCr�r3r/r|r/r/r0r�fr^zDistributionPoint.__ne__cCsH|jdurt|j�}nd}|jdurt|j�}nd}t||j|j|f�Sr3)r�r�r�r�r�r�)r7�fnr�r/r/r0r�is

zDistributionPoint.__hash__r�r�r�r�N)rMrNrOrkr�r�r
r�	FrozenSetrGrir~r�r�rr�r�r�r�r�r/r/r/r0r�s$���
�;


r�c@s4eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS)r�r��
keyCompromise�cACompromise�affiliationChanged�
superseded�cessationOfOperation�certificateHold�privilegeWithdrawn�aACompromise�
removeFromCRLN)
rMrNrOr��key_compromise�
ca_compromise�affiliation_changedr��cessation_of_operation�certificate_hold�privilege_withdrawn�
aa_compromiser�r/r/r/r0r�|sr�c@sdeZdZejZdejedejefdd�Z	dd�Z
dd�Zd	d
�Zdd�Z
e�d
�Ze�d�ZdS)�PolicyConstraints�require_explicit_policy�inhibit_policy_mappingcCs\|dur
t|t�s
td��|durt|t�std��|dur&|dur&td��||_||_dS)Nz>require_explicit_policy must be a non-negative integer or Nonez=inhibit_policy_mapping must be a non-negative integer or NonezSAt least one of require_explicit_policy and inhibit_policy_mapping must not be None)rrvrdr%�_require_explicit_policy�_inhibit_policy_mapping)r7rrr/r/r0rG�s$
��
���
zPolicyConstraints.__init__cCr�)Nz{<PolicyConstraints(require_explicit_policy={0.require_explicit_policy}, inhibit_policy_mapping={0.inhibit_policy_mapping})>r�r6r/r/r0ri�r�zPolicyConstraints.__repr__cCr�r3)rrr{rrr|r/r/r0r~�r�zPolicyConstraints.__eq__cCr�r3r/r|r/r/r0r��r^zPolicyConstraints.__ne__cCr�r3)r�rrr6r/r/r0r��s
�zPolicyConstraints.__hash__rrN)rMrNrOr�POLICY_CONSTRAINTSrDrkr�rvrGrir~r�r�rr�rrr/r/r/r0r�s"�
�	��rc@r�)�CertificatePolicies�policies�PolicyInformationcCr�)Ncsr�r3)rrr�r/r/r0r��r�z/CertificatePolicies.__init__.<locals>.<genexpr>z;Every item in the policies list must be a PolicyInformation)r�r�rd�	_policies)r7r
r/r/r0rG�r�zCertificatePolicies.__init__rcCrh)Nz<CertificatePolicies({})>)r`rr6r/r/r0ri�rjzCertificatePolicies.__repr__cCrzr3)rr	r{rr|r/r/r0r~�rzCertificatePolicies.__eq__cCr�r3r/r|r/r/r0r��r^zCertificatePolicies.__ne__cCr�r3)r�r�rr6r/r/r0r��r;zCertificatePolicies.__hash__N)rMrNrOr�CERTIFICATE_POLICIESrDrkr�rGr@rmrnrorir~r�r�r/r/r/r0r	�r�r	c@sheZdZdedejejejedffdd�Z	dd�Z
dd	�Zd
d�Zdd
�Z
e�d�Ze�d�ZdS)r�policy_identifier�policy_qualifiers�
UserNoticecCsHt|t�s	td��||_|rt|�}tdd�|D��std��||_dS)Nz-policy_identifier must be an ObjectIdentifiercss�|]
}t|ttf�VqdSr3)rrPrr�r/r/r0r��s�
�z-PolicyInformation.__init__.<locals>.<genexpr>zMpolicy_qualifiers must be a list of strings and/or UserNotice objects or None)rrrd�_policy_identifierr�r��_policy_qualifiers)r7rrr/r/r0rG�s
��
zPolicyInformation.__init__cCr�)Nze<PolicyInformation(policy_identifier={0.policy_identifier}, policy_qualifiers={0.policy_qualifiers})>r�r6r/r/r0rir�zPolicyInformation.__repr__cCr�r3)rrr{rrr|r/r/r0r~r�zPolicyInformation.__eq__cCr�r3r/r|r/r/r0r�r^zPolicyInformation.__ne__cCs(|jdurt|j�}nd}t|j|f�Sr3)rr�r�r)r7�pqr/r/r0r�s
zPolicyInformation.__hash__rrN)rMrNrOrrkr�r��UnionrPrGrir~r�r�rr�rrr/r/r/r0r�s��
�	
rc@s^eZdZdejddejefdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
e�d�Z
e�d�ZdS)r�notice_reference�NoticeReference�
explicit_textcCs&|rt|t�std��||_||_dS)Nz2notice_reference must be None or a NoticeReference)rrrd�_notice_reference�_explicit_text)r7rrr/r/r0rG s��
zUserNotice.__init__cCr�)NzV<UserNotice(notice_reference={0.notice_reference}, explicit_text={0.explicit_text!r})>r�r6r/r/r0ri/r�zUserNotice.__repr__cCr�r3)rrr{rrr|r/r/r0r~5r�zUserNotice.__eq__cCr�r3r/r|r/r/r0r�>r^zUserNotice.__ne__cCr�r3)r�rrr6r/r/r0r�Ar�zUserNotice.__hash__rrN)rMrNrOrkr�rPrGrir~r�r�rr�rrr/r/r/r0rs�
�	
rc@s^eZdZdejedejefdd�Zdd�Z	dd�Z
d	d
�Zdd�Ze
�d
�Ze
�d�ZdS)r�organization�notice_numberscCs2||_t|�}tdd�|D��std��||_dS)Ncsr�r3)rrvr�r/r/r0r�Pr�z+NoticeReference.__init__.<locals>.<genexpr>z)notice_numbers must be a list of integers)�
_organizationr�r�rd�_notice_numbers)r7rrr/r/r0rGIs

zNoticeReference.__init__cCr�)NzU<NoticeReference(organization={0.organization!r}, notice_numbers={0.notice_numbers})>r�r6r/r/r0riUr�zNoticeReference.__repr__cCr�r3)rrr{rrr|r/r/r0r~[r�zNoticeReference.__eq__cCr�r3r/r|r/r/r0r�dr^zNoticeReference.__ne__cCst|jt|j�f�Sr3)r�rr�rr6r/r/r0r�g�zNoticeReference.__hash__rrN)rMrNrOrkr�rPr�rvrGrir~r�r�rr�rrr/r/r/r0rHs�
�	
rc@�TeZdZejZdejefdd�Z	e
d�\ZZZ
dd�Zdd�Zd	d
�Zdd�Zd
S)�ExtendedKeyUsage�usagescCr�)Ncsr�r3)rrr�r/r/r0r�sr�z,ExtendedKeyUsage.__init__.<locals>.<genexpr>z9Every item in the usages list must be an ObjectIdentifier)r�r�rd�_usages)r7r!r/r/r0rGqs�
zExtendedKeyUsage.__init__r"cCrh)Nz<ExtendedKeyUsage({})>)r`r"r6r/r/r0ri|rjzExtendedKeyUsage.__repr__cCrzr3)rr r{r"r|r/r/r0r~rzExtendedKeyUsage.__eq__cCr�r3r/r|r/r/r0r��r^zExtendedKeyUsage.__ne__cCr�r3)r�r�r"r6r/r/r0r��r;zExtendedKeyUsage.__hash__N)rMrNrOr�EXTENDED_KEY_USAGErDrkr�rrGr@rmrnrorir~r�r�r/r/r/r0r ns	r c@�2eZdZejZdd�Zdd�Zdd�Zdd�Z	d	S)
�OCSPNoCheckcC�t|t�stSdS�NT)rr%r{r|r/r/r0r~��
zOCSPNoCheck.__eq__cCr�r3r/r|r/r/r0r��r^zOCSPNoCheck.__ne__cC�tt�Sr3)r�r%r6r/r/r0r���zOCSPNoCheck.__hash__cCrU)Nz<OCSPNoCheck()>r/r6r/r/r0ri��zOCSPNoCheck.__repr__N)
rMrNrOr�
OCSP_NO_CHECKrDr~r�r�rir/r/r/r0r%��r%c@r$)
�
PrecertPoisoncCr&r')rr.r{r|r/r/r0r~�r(zPrecertPoison.__eq__cCr�r3r/r|r/r/r0r��r^zPrecertPoison.__ne__cCr)r3)r�r.r6r/r/r0r��r*zPrecertPoison.__hash__cCrU)Nz<PrecertPoison()>r/r6r/r/r0ri�r+zPrecertPoison.__repr__N)
rMrNrOr�PRECERT_POISONrDr~r�r�rir/r/r/r0r.�r-r.c@r�)�
TLSFeature�features�TLSFeatureTypecCs8t|�}tdd�|D��rt|�dkrtd��||_dS)Ncsr�r3)rr2r�r/r/r0r��r�z&TLSFeature.__init__.<locals>.<genexpr>rz@features must be a list of elements from the TLSFeatureType enum)r�r�r4rd�	_features)r7r1r/r/r0rG�s��
zTLSFeature.__init__r3cCr�)Nz$<TLSFeature(features={0._features})>r�r6r/r/r0ri�r^zTLSFeature.__repr__cCrzr3)rr0r{r3r|r/r/r0r~�rzTLSFeature.__eq__cCr�r3r/r|r/r/r0r��r^zTLSFeature.__ne__cCr�r3)r�r�r3r6r/r/r0r��r;zTLSFeature.__hash__N)rMrNrOr�TLS_FEATURErDrkr�rGr@rmrnrorir~r�r�r/r/r/r0r0�s
r0c@seZdZdZdZdS)r2��N)rMrNrO�status_request�status_request_v2r/r/r/r0r2�sr2cCsi|]}|j|�qSr/�rer�r/r/r0�
<dictcomp>��r:c@rp)�InhibitAnyPolicy�
skip_certscCs,t|t�s	td��|dkrtd��||_dS)Nzskip_certs must be an integerrz)skip_certs must be a non-negative integer)rrvrdr%�_skip_certs)r7r=r/r/r0rG�s


zInhibitAnyPolicy.__init__cCr�)Nz-<InhibitAnyPolicy(skip_certs={0.skip_certs})>r�r6r/r/r0ri�r^zInhibitAnyPolicy.__repr__cCrzr3)rr<r{r=r|r/r/r0r~�rzInhibitAnyPolicy.__eq__cCr�r3r/r|r/r/r0r��r^zInhibitAnyPolicy.__ne__cCr�r3)r�r=r6r/r/r0r��r^zInhibitAnyPolicy.__hash__r>N)rMrNrOr�INHIBIT_ANY_POLICYrDrvrGrir~r�r�rr�r=r/r/r/r0r<�s	r<c@s�eZdZejZdedededededededed	efd
d�Ze�	d�Z
e�	d
�Ze�	d�Ze�	d�Z
e�	d�Ze�	d�Ze�	d�Zedd��Zedd��Zdd�Zdd�Zdd�Zdd�ZdS) �KeyUsage�digital_signature�content_commitment�key_encipherment�data_encipherment�
key_agreement�
key_cert_sign�crl_sign�
encipher_only�
decipher_onlyc

CsN|s
|s|	r
td��||_||_||_||_||_||_||_||_|	|_	dS)NzKencipher_only and decipher_only can only be true when key_agreement is true)
r%�_digital_signature�_content_commitment�_key_encipherment�_data_encipherment�_key_agreement�_key_cert_sign�	_crl_sign�_encipher_only�_decipher_only)
r7rArBrCrDrErFrGrHrIr/r/r0rGs�
zKeyUsage.__init__rJrKrLrMrNrOrPcC�|jstd��|jS)Nz7encipher_only is undefined unless key_agreement is true)rEr%rQr6r/r/r0rH'�
�zKeyUsage.encipher_onlycCrS)Nz7decipher_only is undefined unless key_agreement is true)rEr%rRr6r/r/r0rI0rTzKeyUsage.decipher_onlycCs:z|j}|j}Wn
tyd}d}Ynwd�|||�S)NFa-<KeyUsage(digital_signature={0.digital_signature}, content_commitment={0.content_commitment}, key_encipherment={0.key_encipherment}, data_encipherment={0.data_encipherment}, key_agreement={0.key_agreement}, key_cert_sign={0.key_cert_sign}, crl_sign={0.crl_sign}, encipher_only={1}, decipher_only={2})>)rHrIr%r`)r7rHrIr/r/r0ri9s
�
�zKeyUsage.__repr__cCszt|t�stS|j|jko<|j|jko<|j|jko<|j|jko<|j|jko<|j|jko<|j	|j	ko<|j
|j
ko<|j|jkSr3)rr@r{rArBrCrDrErFrGrQrRr|r/r/r0r~Ns&

�
�
�
�
�
�
�
�zKeyUsage.__eq__cCr�r3r/r|r/r/r0r�^r^zKeyUsage.__ne__c
Cs,t|j|j|j|j|j|j|j|j|j	f	�Sr3)
r�rArBrCrDrErFrGrQrRr6r/r/r0r�as��zKeyUsage.__hash__N)rMrNrOr�	KEY_USAGErDr�rGrr�rArBrCrDrErFrG�propertyrHrIrir~r�r�r/r/r/r0r@sH�������	�

�








r@c@sxeZdZejZdejeje	dejeje	fdd�Z
dd�Zdd�Zd	d
�Z
dd�Zd
d�Ze�d�Ze�d�ZdS)�NameConstraints�permitted_subtrees�excluded_subtreescCs�|durt|�}tdd�|D��std��|�|�|dur4t|�}tdd�|D��s/td��|�|�|dur@|dur@td��||_||_dS)Ncsr�r3r�r�r/r/r0r�{r�z+NameConstraints.__init__.<locals>.<genexpr>z@permitted_subtrees must be a list of GeneralName objects or Nonecsr�r3r�r�r/r/r0r��r�z?excluded_subtrees must be a list of GeneralName objects or NonezIAt least one of permitted_subtrees and excluded_subtrees must not be None)r�r�rd�_validate_ip_namer%�_permitted_subtrees�_excluded_subtrees)r7rXrYr/r/r0rGts(�
�
�
zNameConstraints.__init__cCr�r3)rrWr{rYrXr|r/r/r0r~�r�zNameConstraints.__eq__cCr�r3r/r|r/r/r0r��r^zNameConstraints.__ne__cCstdd�|D��r
td��dS)Ncss0�|]}t|t�ot|jtjtjf�VqdSr3)rrre�	ipaddress�IPv4Network�IPv6Network)r��namer/r/r0r��s�
��
�z4NameConstraints._validate_ip_name.<locals>.<genexpr>zGIPAddress name constraints must be an IPv4Network or IPv6Network object)�anyrd)r7�treer/r/r0rZ�s���z!NameConstraints._validate_ip_namecCr�)Nze<NameConstraints(permitted_subtrees={0.permitted_subtrees}, excluded_subtrees={0.excluded_subtrees})>r�r6r/r/r0ri�r�zNameConstraints.__repr__cCs@|jdurt|j�}nd}|jdurt|j�}nd}t||f�Sr3)rXr�rYr�)r7�ps�esr/r/r0r��s

zNameConstraints.__hash__r[r\N)rMrNrOr�NAME_CONSTRAINTSrDrkr�r�r
rGr~r�rZrir�rr�rXrYr/r/r/r0rWqs�
�"	


rWc@s`eZdZdededefdd�Ze�d�Z	e�d�Z
e�d�Zd	d
�Zdd�Z
d
d�Zdd�ZdS)r[rD�criticalrecCs:t|t�s	td��t|t�std��||_||_||_dS)Nz2oid argument must be an ObjectIdentifier instance.z critical must be a boolean value)rrrdr��_oid�	_critical�_value)r7rDrfrer/r/r0rG�s
�

zExtension.__init__rgrhricCr�)Nz@<Extension(oid={0.oid}, critical={0.critical}, value={0.value})>r�r6r/r/r0ri�r�zExtension.__repr__cCr�r3)rr[r{rDrfrer|r/r/r0r~�s

�
�zExtension.__eq__cCr�r3r/r|r/r/r0r��r^zExtension.__ne__cCst|j|j|jf�Sr3)r�rDrfrer6r/r/r0r��rzExtension.__hash__N)rMrNrOrr�rTrGrr�rDrfrerir~r�r�r/r/r/r0r[�s��
�



r[c@sbeZdZdejefdd�Zed�\ZZ	Z
dejefdd�Zdd	�Z
d
d�Zdd
�Zdd�ZdS)�GeneralNames�
general_namescCr�)Ncsr�r3r�r�r/r/r0r��r�z(GeneralNames.__init__.<locals>.<genexpr>z^Every item in the general_names list must be an object conforming to the GeneralName interface)r�r�rd�_general_names�r7rkr/r/r0rG�r�zGeneralNames.__init__rl�typecs0�fdd�|D�}�tkrdd�|D�}t|�S)Nc3s�|]
}t|��r|VqdSr3)r�r��i�rnr/r0r�s�z3GeneralNames.get_values_for_type.<locals>.<genexpr>css�|]}|jVqdSr3r9ror/r/r0r�s�)rr�)r7rn�objsr/rqr0�get_values_for_type�sz GeneralNames.get_values_for_typecCrh)Nz<GeneralNames({})>�r`rlr6r/r/r0rirjzGeneralNames.__repr__cCrzr3)rrjr{rlr|r/r/r0r~
rzGeneralNames.__eq__cCr�r3r/r|r/r/r0r�r^zGeneralNames.__ne__cCr�r3)r�r�rlr6r/r/r0r�r;zGeneralNames.__hash__N)rMrNrOrkr�r
rGr@rmrnro�Typersrir~r�r�r/r/r/r0rj�s
	rjc@�\eZdZejZdejefdd�Z	e
d�\ZZZ
dd�Zdd�Zd	d
�Zdd�Zd
d�ZdS)�SubjectAlternativeNamerkcC�t|�|_dSr3�rjrlrmr/r/r0rGr;zSubjectAlternativeName.__init__rlcC�|j�|�Sr3�rlrs�r7rnr/r/r0rsrjz*SubjectAlternativeName.get_values_for_typecCrh)Nz<SubjectAlternativeName({})>rtr6r/r/r0ri"rjzSubjectAlternativeName.__repr__cCrzr3)rrwr{rlr|r/r/r0r~%rzSubjectAlternativeName.__eq__cCr�r3r/r|r/r/r0r�+r^zSubjectAlternativeName.__ne__cCr�r3�r�rlr6r/r/r0r�.r^zSubjectAlternativeName.__hash__N)rMrNrOr�SUBJECT_ALTERNATIVE_NAMErDrkr�r
rGr@rmrnrorsrir~r�r�r/r/r/r0rw�rwc@rv)�IssuerAlternativeNamerkcCrxr3ryrmr/r/r0rG5r;zIssuerAlternativeName.__init__rlcCrzr3r{r|r/r/r0rs:rjz)IssuerAlternativeName.get_values_for_typecCrh)Nz<IssuerAlternativeName({})>rtr6r/r/r0ri=rjzIssuerAlternativeName.__repr__cCrzr3)rr�r{rlr|r/r/r0r~@rzIssuerAlternativeName.__eq__cCr�r3r/r|r/r/r0r�Fr^zIssuerAlternativeName.__ne__cCr�r3r}r6r/r/r0r�Ir^zIssuerAlternativeName.__hash__N)rMrNrOr�ISSUER_ALTERNATIVE_NAMErDrkr�r
rGr@rmrnrorsrir~r�r�r/r/r/r0r�2rr�c@rv)�CertificateIssuerrkcCrxr3ryrmr/r/r0rGPr;zCertificateIssuer.__init__rlcCrzr3r{r|r/r/r0rsUrjz%CertificateIssuer.get_values_for_typecCrh)Nz<CertificateIssuer({})>rtr6r/r/r0riXrjzCertificateIssuer.__repr__cCrzr3)rr�r{rlr|r/r/r0r~[rzCertificateIssuer.__eq__cCr�r3r/r|r/r/r0r�ar^zCertificateIssuer.__ne__cCr�r3r}r6r/r/r0r�dr^zCertificateIssuer.__hash__N)rMrNrOr�CERTIFICATE_ISSUERrDrkr�r
rGr@rmrnrorsrir~r�r�r/r/r/r0r�Mrr�c@rp)�	CRLReason�reasoncCrs)Nz*reason must be an element from ReasonFlags)rr�rd�_reason)r7r�r/r/r0rGkryzCRLReason.__init__cCrh)Nz<CRLReason(reason={})>)r`r�r6r/r/r0riqrjzCRLReason.__repr__cCrzr3)rr�r{r�r|r/r/r0r~trzCRLReason.__eq__cCr�r3r/r|r/r/r0r�zr^zCRLReason.__ne__cCr�r3)r�r�r6r/r/r0r�}r^zCRLReason.__hash__r�N)rMrNrOr�
CRL_REASONrDr�rGrir~r�r�rr�r�r/r/r/r0r�hsr�c@sLeZdZejZdejfdd�Zdd�Zdd�Z	dd	�Z
d
d�Ze�
d�Zd
S)�InvalidityDate�invalidity_datecCst|tj�s
td��||_dS)Nz+invalidity_date must be a datetime.datetime)r�datetimerd�_invalidity_date)r7r�r/r/r0rG�s
zInvalidityDate.__init__cCrh)Nz$<InvalidityDate(invalidity_date={})>)r`r�r6r/r/r0ri�s�zInvalidityDate.__repr__cCrzr3)rr�r{r�r|r/r/r0r~�rzInvalidityDate.__eq__cCr�r3r/r|r/r/r0r��r^zInvalidityDate.__ne__cCr�r3)r�r�r6r/r/r0r��r^zInvalidityDate.__hash__r�N)rMrNrOr�INVALIDITY_DATErDr�rGrir~r�r�rr�r�r/r/r/r0r��sr�c@r)�)PrecertificateSignedCertificateTimestamps�signed_certificate_timestampscCr�)Ncsr�r3�rr�r��sctr/r/r0r���
��
�zEPrecertificateSignedCertificateTimestamps.__init__.<locals>.<genexpr>�YEvery item in the signed_certificate_timestamps list must be a SignedCertificateTimestamp�r�r�rd�_signed_certificate_timestamps�r7r�r/r/r0rG����
z2PrecertificateSignedCertificateTimestamps.__init__r�cC�d�t|��S)Nz/<PrecertificateSignedCertificateTimestamps({})>�r`r�r6r/r/r0ri�s�z2PrecertificateSignedCertificateTimestamps.__repr__cCr�r3�r�r�r�r6r/r/r0r��r;z2PrecertificateSignedCertificateTimestamps.__hash__cCrzr3)rr�r{r�r|r/r/r0r~��
��z0PrecertificateSignedCertificateTimestamps.__eq__cCr�r3r/r|r/r/r0r��r^z0PrecertificateSignedCertificateTimestamps.__ne__N)rMrNrOr�%PRECERT_SIGNED_CERTIFICATE_TIMESTAMPSrDrkr�rrGr@rmrnrorir�r~r�r/r/r/r0r��s�
�
�	r�c@r)�SignedCertificateTimestampsr�cCr�)Ncsr�r3r�r�r/r/r0r��r�z7SignedCertificateTimestamps.__init__.<locals>.<genexpr>r�r�r�r/r/r0rG�r�z$SignedCertificateTimestamps.__init__r�cCr�)Nz!<SignedCertificateTimestamps({})>r�r6r/r/r0ri�r;z$SignedCertificateTimestamps.__repr__cCr�r3r�r6r/r/r0r��r;z$SignedCertificateTimestamps.__hash__cCrzr3)rr�r{r�r|r/r/r0r~�r�z"SignedCertificateTimestamps.__eq__cCr�r3r/r|r/r/r0r��r^z"SignedCertificateTimestamps.__ne__N)rMrNrOr�SIGNED_CERTIFICATE_TIMESTAMPSrDrkr�rrGr@rmrnrorir�r~r�r/r/r/r0r��s�
�
�	r�c@rp)�	OCSPNonce�noncecCrs)Nznonce must be bytes)rr�rd�_nonce)r7r�r/r/r0rG�ryzOCSPNonce.__init__cCrzr3)rr�r{r�r|r/r/r0r~rzOCSPNonce.__eq__cCr�r3r/r|r/r/r0r�r^zOCSPNonce.__ne__cCr�r3)r�r�r6r/r/r0r�
r^zOCSPNonce.__hash__cCr�)Nz<OCSPNonce(nonce={0.nonce!r})>r�r6r/r/r0ri
r^zOCSPNonce.__repr__r�N)rMrNrOr�NONCErDr�rGr~r�r�rirr�r�r/r/r/r0r��r�r�c@s�eZdZejZdd�Zdd�Zdd�Zdd�Z	d	d
�Z
e�d�Z
e�d�Ze�d
�Ze�d�Ze�d�Ze�d�Ze�d�ZdS)�IssuingDistributionPointc	Cs�|rt|t�rtdd�|D��std��|r$tj|vs tj|vr$td��t|t�r8t|t�r8t|t�r8t|t�s<td��||||g}t	dd�|D��dkrQtd	��t
|||||||g�s`td
��||_||_||_
||_||_||_||_dS)Ncsr�r3r�r�r/r/r0r�"r�z4IssuingDistributionPoint.__init__.<locals>.<genexpr>z:only_some_reasons must be None or frozenset of ReasonFlagszTunspecified and remove_from_crl are not valid reasons in an IssuingDistributionPointzuonly_contains_user_certs, only_contains_ca_certs, indirect_crl and only_contains_attribute_certs must all be boolean.cSsg|]}|r|�qSr/r/r�r/r/r0�
<listcomp>Dr;z5IssuingDistributionPoint.__init__.<locals>.<listcomp>�z�Only one of the following can be set to True: only_contains_user_certs, only_contains_ca_certs, indirect_crl, only_contains_attribute_certsz�Cannot create empty extension: if only_contains_user_certs, only_contains_ca_certs, indirect_crl, and only_contains_attribute_certs are all False, then either full_name, relative_name, or only_some_reasons must have a value.)rr�r�rdr�r�r�r%r�r4ra�_only_contains_user_certs�_only_contains_ca_certs�
_indirect_crl�_only_contains_attribute_certs�_only_some_reasonsr�r�)	r7r�r��only_contains_user_certs�only_contains_ca_certs�only_some_reasons�indirect_crl�only_contains_attribute_certs�crl_constraintsr/r/r0rGsl
���

�����������
z!IssuingDistributionPoint.__init__cCr�)NaG<IssuingDistributionPoint(full_name={0.full_name}, relative_name={0.relative_name}, only_contains_user_certs={0.only_contains_user_certs}, only_contains_ca_certs={0.only_contains_ca_certs}, only_some_reasons={0.only_some_reasons}, indirect_crl={0.indirect_crl}, only_contains_attribute_certs={0.only_contains_attribute_certs})>r�r6r/r/r0rifs�z!IssuingDistributionPoint.__repr__cCsbt|t�stS|j|jko0|j|jko0|j|jko0|j|jko0|j|jko0|j|jko0|j	|j	kSr3)
rr�r{r�r�r�r�r�r�r�r|r/r/r0r~rs"

�
�
�
�
���zIssuingDistributionPoint.__eq__cCr�r3r/r|r/r/r0r��r^zIssuingDistributionPoint.__ne__cCs$t|j|j|j|j|j|j|jf�Sr3)r�r�r�r�r�r�r�r�r6r/r/r0r��s��z!IssuingDistributionPoint.__hash__r�r�r�r�r�r�r�N)rMrNrOr�ISSUING_DISTRIBUTION_POINTrDrGrir~r�r�rr�r�r�r�r�r�r�r�r/r/r/r0r�s(P

��

�r�c@sReZdZdedefdd�Ze�d�Ze�d�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dS)rcrDrecCs"t|t�s	td��||_||_dS)Nzoid must be an ObjectIdentifier)rrrdrgri)r7rDrer/r/r0rG�s

zUnrecognizedExtension.__init__rgricCr�)Nz7<UnrecognizedExtension(oid={0.oid}, value={0.value!r})>r�r6r/r/r0ri�r�zUnrecognizedExtension.__repr__cCr�r3)rrcr{rDrer|r/r/r0r~�r�zUnrecognizedExtension.__eq__cCr�r3r/r|r/r/r0r��r^zUnrecognizedExtension.__ne__cCr�r3)r�rDrer6r/r/r0r��r�zUnrecognizedExtension.__hash__N)rMrNrOrr�rGrr�rDrerir~r�r�r/r/r/r0rc�s

rc)SrVr�r'r]rk�cryptographyr�cryptography.hazmat._derrrrr�cryptography.hazmat._typesr�cryptography.hazmat.primitivesrr	�,cryptography.hazmat.primitives.asymmetric.ecr
�-cryptography.hazmat.primitives.asymmetric.rsar�*cryptography.x509.certificate_transparencyr�cryptography.x509.general_namer
rr�cryptography.x509.namer�cryptography.x509.oidrrrrr�r1r@�	ExceptionrBrS�ABCMetarT�objectrYrqr�r�r�r�r�r�r�r�r�r��Enumr�rr	rrrr r%r.r0r2�_TLS_FEATURE_TYPE_TO_ENUMr<r@rWr[rjrwr�r�r�r�r�r�r�r�rcr/r/r/r0�<module>sx(
!_&)%%d
@7)&"qU+&-+
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY