o
    "“i&  ã                   @  sÄ   d dl mZ d dlZd dlmZ d dlmZ d dlmZ G dd„ deƒZ	G dd	„ d	ƒZ
G d
d„ dƒZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd„ dejd�ZG dd„ deƒZddd„ZdS ) é    )ÚannotationsN)Úhashes)ÚAsymmetricPadding)Úrsac                   @  ó   e Zd ZdZdS )ÚPKCS1v15zEMSA-PKCS1-v1_5N)Ú__name__Ú
__module__Ú__qualname__Úname© r   r   úq/var/www/html/premium_crap/venv/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/padding.pyr      ó    r   c                   @  r   )Ú
_MaxLengthz Sentinel value for `MAX_LENGTH`.N©r   r	   r
   Ú__doc__r   r   r   r   r      r   r   c                   @  r   )Ú_AutozSentinel value for `AUTO`.Nr   r   r   r   r   r      r   r   c                   @  r   )Ú_DigestLengthz#Sentinel value for `DIGEST_LENGTH`.Nr   r   r   r   r   r      r   r   c                   @  sD   e Zd ZU eƒ Zeƒ Zeƒ ZdZ	de
d< dd	d
„Zeddd„ƒZdS )ÚPSSzEMSA-PSSú(int | _MaxLength | _Auto | _DigestLengthÚ_salt_lengthÚmgfÚMGFÚsalt_lengthÚreturnÚNonec                 C  sD   || _ t|ttttfƒstdƒ‚t|tƒr|dk rtdƒ‚|| _d S )NzBsalt_length must be an integer, MAX_LENGTH, DIGEST_LENGTH, or AUTOr   z$salt_length must be zero or greater.)	Ú_mgfÚ
isinstanceÚintr   r   r   Ú	TypeErrorÚ
ValueErrorr   )Úselfr   r   r   r   r   Ú__init__'   s   ÿÿ
zPSS.__init__c                 C  ó   | j S ©N©r   ©r!   r   r   r   r   ;   ó   zPSS.mgfN)r   r   r   r   r   r   ©r   r   )r   r	   r
   r   Ú
MAX_LENGTHr   ÚAUTOr   ÚDIGEST_LENGTHr   Ú__annotations__r"   Úpropertyr   r   r   r   r   r       s   
 
r   c                   @  s6   e Zd ZdZddd	„Zeddd„ƒZeddd„ƒZdS )ÚOAEPzEME-OAEPr   r   Ú	algorithmúhashes.HashAlgorithmÚlabelúbytes | Nonec                 C  s*   t |tjƒs
tdƒ‚|| _|| _|| _d S ©Nz*Expected instance of hashes.HashAlgorithm.)r   r   ÚHashAlgorithmr   r   Ú
_algorithmÚ_label)r!   r   r/   r1   r   r   r   r"   C   s
   
zOAEP.__init__r   c                 C  r#   r$   )r5   r&   r   r   r   r/   P   r'   zOAEP.algorithmc                 C  r#   r$   r%   r&   r   r   r   r   T   r'   zOAEP.mgfN)r   r   r/   r0   r1   r2   )r   r0   r(   )r   r	   r
   r   r"   r-   r/   r   r   r   r   r   r.   @   s    
r.   c                   @  s   e Zd ZU ded< dS )r   r0   r5   N)r   r	   r
   r,   r   r   r   r   r   Y   s   
 r   )Ú	metaclassc                   @  s   e Zd Zddd„ZdS )ÚMGF1r/   r0   c                 C  s   t |tjƒs
tdƒ‚|| _d S r3   )r   r   r4   r   r5   )r!   r/   r   r   r   r"   ^   s   
zMGF1.__init__N)r/   r0   )r   r	   r
   r"   r   r   r   r   r8   ]   s    r8   Úkeyú$rsa.RSAPrivateKey | rsa.RSAPublicKeyÚhash_algorithmr0   r   r   c                 C  sF   t | tjtjfƒstdƒ‚| jd d }||j d }|dks!J ‚|S )Nz(key must be an RSA public or private keyé   é   é   r   )r   r   ÚRSAPrivateKeyÚRSAPublicKeyr   Úkey_sizeÚdigest_size)r9   r;   Úemlenr   r   r   r   Úcalculate_max_pss_salt_lengthe   s   rD   )r9   r:   r;   r0   r   r   )Ú
__future__r   ÚabcÚcryptography.hazmat.primitivesr   Ú*cryptography.hazmat.primitives._asymmetricr   Ú)cryptography.hazmat.primitives.asymmetricr   r   r   r   r   r   r.   ÚABCMetar   r8   rD   r   r   r   r   Ú<module>   s    