Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/site-packages/cryptography/x509/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/site-packages/cryptography/x509/__pycache__/base.cpython-38.pyc
U

O��gi�	@s4ddlmZddlZddlZddlZddlZddlZddlmZddl	m
Zddlm
Z
ddlmZmZmZmZmZmZmZmZddlmZmZddlmZmZmZmZdd	lm Z m!Z!dd
l"m#Z#e�ddd�Z$ej%e
j&e
j'e
j(e
j)e
j*e
j+e
j,e
j-fZ.Gd
d�de/�Z0dddd�dd�Z1dddd�dd�Z2ddd�dd�Z3Gdd�d�Z4Gd d!�d!�Z5Gd"d#�d#ej6�Z7Gd$d%�d%e/�Z8ej9Z9Gd&d'�d'ej:d(�Z;e;�<ej;�Gd)d*�d*e;�Z=ej>Z>ej?Z?ej@Z@ejAZAejBZBejCZCejDZDejEZEejFZFGd+d,�d,�ZGGd-d.�d.�ZHGd/d0�d0�ZIGd1d2�d2�ZJd3d4�d5d6�ZKdS)7�)�annotationsN)�utils)�x509)�hashes)�dsa�ec�ed448�ed25519�padding�rsa�x448�x25519)� CertificateIssuerPrivateKeyTypes�CertificatePublicKeyTypes)�	Extension�
Extensions�
ExtensionType�_make_sequence_methods)�Name�	_ASN1Type)�ObjectIdentifieri��cs&eZdZdddd��fdd�Z�ZS)�AttributeNotFound�strr�None)�msg�oid�returncst��|�||_dS�N)�super�__init__r)�selfrr��	__class__��C/opt/cppython/lib/python3.8/site-packages/cryptography/x509/base.pyr 8szAttributeNotFound.__init__��__name__�
__module__�__qualname__r �
__classcell__r$r$r"r%r7srzExtension[ExtensionType]�list[Extension[ExtensionType]]r)�	extension�
extensionsrcCs"|D]}|j|jkrtd��qdS)Nz$This extension has already been set.)r�
ValueError)r,r-�er$r$r%�_reject_duplicate_extension=sr0r�0list[tuple[ObjectIdentifier, bytes, int | None]])r�
attributesrcCs$|D]\}}}||krtd��qdS)Nz$This attribute has already been set.)r.)rr2Zattr_oid�_r$r$r%�_reject_duplicate_attributeGsr4�datetime.datetime��timercCs:|jdk	r2|��}|r|nt��}|jdd�|S|SdS)z�Normalizes a datetime to a naive datetime in UTC.

    time -- datetime to normalize. Assumed to be in UTC if not timezone
            aware.
    N��tzinfo)r9�	utcoffset�datetime�	timedelta�replace)r7�offsetr$r$r%�_convert_to_naive_utc_timeQs

r?c@sxeZdZejjfddddd�dd�Zedd�d	d
��Zedd�dd��Zd
d�dd�Z	ddd�dd�Z
dd�dd�ZdS)�	Attributer�bytes�intr)r�value�_typercCs||_||_||_dSr)�_oid�_valuerD)r!rrCrDr$r$r%r `szAttribute.__init__�rcCs|jSr)rE�r!r$r$r%rjsz
Attribute.oidcCs|jSr)rFrHr$r$r%rCnszAttribute.valuercCsd|j�d|j�d�S)Nz<Attribute(oid=z, value=�)>)rrCrHr$r$r%�__repr__rszAttribute.__repr__�object�bool)�otherrcCs2t|t�stS|j|jko0|j|jko0|j|jkSr)�
isinstancer@�NotImplementedrrCrD)r!rMr$r$r%�__eq__us

�
�zAttribute.__eq__cCst|j|j|jf�Sr)�hashrrCrDrHr$r$r%�__hash__szAttribute.__hash__N)r'r(r)rZ
UTF8StringrCr �propertyrrJrPrRr$r$r$r%r@_s�

r@c@sHeZdZddd�dd�Zed�\ZZZdd�d	d
�Zddd
�dd�Z	dS)�
Attributesztyping.Iterable[Attribute]r)r2rcCst|�|_dSr)�list�_attributes)r!r2r$r$r%r �szAttributes.__init__rVrrGcCsd|j�d�S)Nz<Attributes(rI)rVrHr$r$r%rJ�szAttributes.__repr__rr@)rrcCs2|D]}|j|kr|Sqtd|�d�|��dS)NzNo z attribute was found)rr)r!r�attrr$r$r%�get_attribute_for_oid�s

z Attributes.get_attribute_for_oidN)
r'r(r)r r�__len__�__iter__�__getitem__rJrXr$r$r$r%rT�srTc@seZdZdZdZdS)�Versionr�N)r'r(r)Zv1�v3r$r$r$r%r\�sr\cs&eZdZdddd��fdd�Z�ZS)�InvalidVersionrrBr)r�parsed_versionrcst��|�||_dSr)rr r`)r!rr`r"r$r%r �szInvalidVersion.__init__r&r$r$r"r%r_�sr_c@sleZdZeejdd�dd���Zeejdd�dd���Zeejdd�dd	���Zeejd
d�dd���Z	d
S)�RevokedCertificaterBrGcCsdS)zG
        Returns the serial number of the revoked certificate.
        Nr$rHr$r$r%�
serial_number�sz RevokedCertificate.serial_numberr5cCsdS)zH
        Returns the date of when this certificate was revoked.
        Nr$rHr$r$r%�revocation_date�sz"RevokedCertificate.revocation_datecCsdS)zl
        Returns the date of when this certificate was revoked as a non-naive
        UTC datetime.
        Nr$rHr$r$r%�revocation_date_utc�sz&RevokedCertificate.revocation_date_utcrcCsdS)zW
        Returns an Extensions object containing a list of Revoked extensions.
        Nr$rHr$r$r%r-�szRevokedCertificate.extensionsN)
r'r(r)rS�abc�abstractmethodrbrcrdr-r$r$r$r%ra�sra)�	metaclassc@sfeZdZdddd�dd�Zedd�dd	��Zedd�d
d��Zedd�dd
��Zedd�dd��ZdS)�_RawRevokedCertificaterBr5r�rbrcr-cCs||_||_||_dSr��_serial_number�_revocation_date�_extensions�r!rbrcr-r$r$r%r �sz_RawRevokedCertificate.__init__rGcCs|jSr)rkrHr$r$r%rb�sz$_RawRevokedCertificate.serial_numbercCstjdtjdd�|jS)NukProperties that return a naïve datetime object have been deprecated. Please switch to revocation_date_utc.r])�
stacklevel)�warnings�warnrZDeprecatedIn42rlrHr$r$r%rc�s�z&_RawRevokedCertificate.revocation_datecCs|jjtjjd�S)Nr8)rlr=r;�timezone�utcrHr$r$r%rd�sz*_RawRevokedCertificate.revocation_date_utccCs|jSr)rmrHr$r$r%r-�sz!_RawRevokedCertificate.extensionsN)	r'r(r)r rSrbrcrdr-r$r$r$r%rh�s
	rhc@s�eZdZdggfdddd�dd�Zddd	�d
d�Zdd
dd�dd�Zdd�ddddd�dd�Zd!dd�dddddd�dd �ZdS)"� CertificateSigningRequestBuilderN�Name | Noner+r1)�subject_namer-r2cCs||_||_||_dS)zB
        Creates an empty X.509 certificate request (v1).
        N)�
_subject_namermrV)r!rvr-r2r$r$r%r �s	z)CertificateSigningRequestBuilder.__init__r��namercCs4t|t�std��|jdk	r$td��t||j|j�S)zF
        Sets the certificate requestor's distinguished name.
        �Expecting x509.Name object.N�&The subject name may only be set once.)rNr�	TypeErrorrwr.rtrmrV�r!ryr$r$r%rvs

�z-CertificateSigningRequestBuilder.subject_namerrL��extval�criticalrcCsDt|t�std��t|j||�}t||j�t|j|j|f�|j	�S)zE
        Adds an X.509 extension to the certificate request.
        �"extension must be an ExtensionType)
rNrr|rrr0rmrtrwrV�r!rr�r,r$r$r%�
add_extensions

�z.CertificateSigningRequestBuilder.add_extension)�_tagrrAz_ASN1Type | None)rrCr�rcCs|t|t�std��t|t�s$td��|dk	r>t|t�s>td��t||j�|dk	rZ|j}nd}t|j	|j
|j|||ff��S)zK
        Adds an X.509 attribute with an OID and associated value.
        zoid must be an ObjectIdentifierzvalue must be bytesNztag must be _ASN1Type)rNrr|rArr4rVrCrtrwrm)r!rrCr��tagr$r$r%�
add_attribute&s


�z.CertificateSigningRequestBuilder.add_attribute��rsa_paddingr�_AllowedHashTypes | None�
typing.Any�%padding.PSS | padding.PKCS1v15 | None�CertificateSigningRequest��private_key�	algorithm�backendr�rcCsX|jdkrtd��|dk	rHt|tjtjf�s4td��t|tj�sHtd��t	�
||||�S)zF
        Signs the request using the requestor's private key.
        Nz/A CertificateSigningRequest must have a subject�Padding must be PSS or PKCS1v15�&Padding is only supported for RSA keys)rwr.rNr
�PSS�PKCS1v15r|r�
RSAPrivateKey�	rust_x509Zcreate_x509_csr�r!r�r�r�r�r$r$r%�signFs
�z%CertificateSigningRequestBuilder.sign)N)r'r(r)r rvr�r�r�r$r$r$r%rt�s�
�$��rtc
@s�eZdZUded<ddddddgfddddddddd	�d
d�Zddd
�dd�Zddd
�dd�Zddd�dd�Zddd�dd�Zddd�dd�Z	ddd�dd�Z
d d!dd"�d#d$�Zd.dd%�d&d'd(d)d*d+�d,d-�ZdS)/�CertificateBuilderr+rmNruz CertificatePublicKeyTypes | None�
int | None�datetime.datetime | Noner)�issuer_namerv�
public_keyrb�not_valid_before�not_valid_afterr-rcCs6tj|_||_||_||_||_||_||_||_	dSr)
r\r^�_version�_issuer_namerw�_public_keyrk�_not_valid_before�_not_valid_afterrm)r!r�rvr�rbr�r�r-r$r$r%r bs
zCertificateBuilder.__init__rrxcCsDt|t�std��|jdk	r$td��t||j|j|j|j	|j
|j�S)z3
        Sets the CA's distinguished name.
        rzN�%The issuer name may only be set once.)rNrr|r�r.r�rwr�rkr�r�rmr}r$r$r%r�us

�zCertificateBuilder.issuer_namecCsDt|t�std��|jdk	r$td��t|j||j|j|j	|j
|j�S)z:
        Sets the requestor's distinguished name.
        rzNr{)rNrr|rwr.r�r�r�rkr�r�rmr}r$r$r%rv�s

�zCertificateBuilder.subject_namer)�keyrc	Cs`t|tjtjtjtjt	j
tjt
jf�s.td��|jdk	r@td��t|j|j||j|j|j|j�S)zT
        Sets the requestor's public key (as found in the signing request).
        z�Expecting one of DSAPublicKey, RSAPublicKey, EllipticCurvePublicKey, Ed25519PublicKey, Ed448PublicKey, X25519PublicKey, or X448PublicKey.Nz$The public key may only be set once.)rNrZDSAPublicKeyrZRSAPublicKeyrZEllipticCurvePublicKeyr	ZEd25519PublicKeyrZEd448PublicKeyr
ZX25519PublicKeyrZ
X448PublicKeyr|r�r.r�r�rwrkr�r�rm)r!r�r$r$r%r��s2���
�zCertificateBuilder.public_keyrB��numberrcCsht|t�std��|jdk	r$td��|dkr4td��|��dkrHtd��t|j|j|j	||j
|j|j�S)z5
        Sets the certificate serial number.
        �'Serial number must be of integral type.N�'The serial number may only be set once.rz%The serial number should be positive.��3The serial number should not be more than 159 bits.)
rNrBr|rkr.�
bit_lengthr�r�rwr�r�r�rm�r!r�r$r$r%rb�s&

��z CertificateBuilder.serial_numberr5r6cCszt|tj�std��|jdk	r&td��t|�}|tkr>td��|jdk	rZ||jkrZtd��t|j	|j
|j|j||j|j
�S)z7
        Sets the certificate activation time.
        �Expecting datetime object.Nz*The not valid before may only be set once.z>The not valid before date must be on or after 1950 January 1).zBThe not valid before date must be before the not valid after date.)rNr;r|r�r.r?�_EARLIEST_UTC_TIMEr�r�r�rwr�rkrm�r!r7r$r$r%r��s,
���z#CertificateBuilder.not_valid_beforecCszt|tj�std��|jdk	r&td��t|�}|tkr>td��|jdk	rZ||jkrZtd��t|j	|j
|j|j|j||j
�S)z7
        Sets the certificate expiration time.
        r�Nz)The not valid after may only be set once.z<The not valid after date must be on or after 1950 January 1.zAThe not valid after date must be after the not valid before date.)rNr;r|r�r.r?r�r�r�r�rwr�rkrmr�r$r$r%r��s2
�����z"CertificateBuilder.not_valid_afterrrLr~c	CsTt|t�std��t|j||�}t||j�t|j|j	|j
|j|j|j
|j|f��S)z=
        Adds an X.509 extension to the certificate.
        r�)rNrr|rrr0rmr�r�rwr�rkr�r�r�r$r$r%r�s

�z CertificateBuilder.add_extensionr�rr�r�r��Certificater�cCs�|jdkrtd��|jdkr$td��|jdkr6td��|jdkrHtd��|jdkrZtd��|jdkrltd��|dk	r�t|tj	tj
f�s�td��t|tj
�s�td	��t�||||�S)
zC
        Signs the certificate using the CA's private key.
        Nz&A certificate must have a subject namez&A certificate must have an issuer namez'A certificate must have a serial numberz/A certificate must have a not valid before timez.A certificate must have a not valid after timez$A certificate must have a public keyr�r�)rwr.r�rkr�r�r�rNr
r�r�r|rr�r�Zcreate_x509_certificater�r$r$r%r�,s.





�zCertificateBuilder.sign)N)
r'r(r)�__annotations__r r�rvr�rbr�r�r�r�r$r$r$r%r�_s(
�% ��r�c@s�eZdZUded<ded<dddggfdddddd�d	d
�Zddd�d
d�Zddd�dd�Zddd�dd�Zdddd�dd�Zddd�dd�Z	d(dd�d d!d"d#d$d%�d&d'�Z
dS))� CertificateRevocationListBuilderr+rmzlist[RevokedCertificate]�_revoked_certificatesNrur�)r��last_update�next_updater-�revoked_certificatescCs"||_||_||_||_||_dSr)r��_last_update�_next_updatermr�)r!r�r�r�r-r�r$r$r%r Xs
z)CertificateRevocationListBuilder.__init__r)r�rcCs<t|t�std��|jdk	r$td��t||j|j|j|j	�S)Nrzr�)
rNrr|r�r.r�r�r�rmr�)r!r�r$r$r%r�fs

�z,CertificateRevocationListBuilder.issuer_namer5)r�rcCsrt|tj�std��|jdk	r&td��t|�}|tkr>td��|jdk	rZ||jkrZtd��t|j	||j|j
|j�S)Nr��!Last update may only be set once.�8The last update date must be on or after 1950 January 1.z9The last update date must be before the next update date.)rNr;r|r�r.r?r�r�r�r�rmr�)r!r�r$r$r%r�us(
���z,CertificateRevocationListBuilder.last_update)r�rcCsrt|tj�std��|jdk	r&td��t|�}|tkr>td��|jdk	rZ||jkrZtd��t|j	|j||j
|j�S)Nr�r�r�z8The next update date must be after the last update date.)rNr;r|r�r.r?r�r�r�r�rmr�)r!r�r$r$r%r��s(
���z,CertificateRevocationListBuilder.next_updaterrLr~cCsLt|t�std��t|j||�}t||j�t|j|j	|j
|j|f�|j�S)zM
        Adds an X.509 extension to the certificate revocation list.
        r�)rNrr|rrr0rmr�r�r�r�r�r�r$r$r%r��s

�z.CertificateRevocationListBuilder.add_extensionra)�revoked_certificatercCs2t|t�std��t|j|j|j|j|j|f��S)z8
        Adds a revoked certificate to the CRL.
        z)Must be an instance of RevokedCertificate)	rNrar|r�r�r�r�rmr�)r!r�r$r$r%�add_revoked_certificate�s

�z8CertificateRevocationListBuilder.add_revoked_certificater�rr�r�r��CertificateRevocationListr�cCs||jdkrtd��|jdkr$td��|jdkr6td��|dk	rlt|tjtjf�sXtd��t|t	j
�sltd��t�||||�S)NzA CRL must have an issuer namez"A CRL must have a last update timez"A CRL must have a next update timer�r�)
r�r.r�r�rNr
r�r�r|rr�r�Zcreate_x509_crlr�r$r$r%r��s"


�z%CertificateRevocationListBuilder.sign)N)r'r(r)r�r r�r�r�r�r�r�r$r$r$r%r�Ts"
���r�c@sjeZdZddgfdddd�dd�Zddd	�d
d�Zddd
�dd�Zdddd�dd�Zdddd�dd�ZdS)�RevokedCertificateBuilderNr�r�r+ricCs||_||_||_dSrrjrnr$r$r%r �sz"RevokedCertificateBuilder.__init__rBr�cCsXt|t�std��|jdk	r$td��|dkr4td��|��dkrHtd��t||j|j�S)Nr�r�rz$The serial number should be positiver�r�)	rNrBr|rkr.r�r�rlrmr�r$r$r%rb�s

��z'RevokedCertificateBuilder.serial_numberr5r6cCsNt|tj�std��|jdk	r&td��t|�}|tkr>td��t|j||j	�S)Nr�z)The revocation date may only be set once.z7The revocation date must be on or after 1950 January 1.)
rNr;r|rlr.r?r�r�rkrmr�r$r$r%rcs
��z)RevokedCertificateBuilder.revocation_daterrLr~cCsDt|t�std��t|j||�}t||j�t|j|j	|j|f��S)Nr�)
rNrr|rrr0rmr�rkrlr�r$r$r%r�s

�z'RevokedCertificateBuilder.add_extensionr�ra)r�rcCs:|jdkrtd��|jdkr$td��t|j|jt|j��S)Nz/A revoked certificate must have a serial numberz1A revoked certificate must have a revocation date)rkr.rlrhrrm)r!r�r$r$r%�build s

��zRevokedCertificateBuilder.build)N)r'r(r)r rbrcr�r�r$r$r$r%r��s�
r�rBrGcCst�t�d�d�d?S)N��bigr)rB�
from_bytes�os�urandomr$r$r$r%�random_serial_number.sr�)L�
__future__rrer;r��typingrpZcryptographyrZ"cryptography.hazmat.bindings._rustrr�Zcryptography.hazmat.primitivesrZ)cryptography.hazmat.primitives.asymmetricrrrr	r
rrr
Z/cryptography.hazmat.primitives.asymmetric.typesrrZcryptography.x509.extensionsrrrrZcryptography.x509.namerrZcryptography.x509.oidrr��Union�SHA224�SHA256�SHA384�SHA512ZSHA3_224ZSHA3_256ZSHA3_384ZSHA3_512Z_AllowedHashTypes�	Exceptionrr0r4r?r@rT�Enumr\r_r��ABCMetara�registerrhr�r�Zload_pem_x509_certificateZload_der_x509_certificateZload_pem_x509_certificatesZload_pem_x509_csrZload_der_x509_csrZload_pem_x509_crlZload_der_x509_crlrtr�r�r�r�r$r$r$r%�<module>sj(
��

$ "evI

F1le Man4ger