U
    ÒZj‚
  ã                   @   sÐ   d dl 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ejd ejedœdd„ZdS )é    N)Úhashes)ÚAsymmetricPadding)Úrsac                   @   s   e Zd ZdZdS )ÚPKCS1v15zEMSA-PKCS1-v1_5N)Ú__name__Ú
__module__Ú__qualname__Úname© r
   r
   út/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/padding.pyr      s   r   c                   @   s   e Zd ZdZdS )Ú
_MaxLengthz Sentinel value for `MAX_LENGTH`.N©r   r   r   Ú__doc__r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdZdS )Ú_AutozSentinel value for `AUTO`.Nr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdZdS )Ú_DigestLengthz#Sentinel value for `DIGEST_LENGTH`.Nr   r
   r
   r
   r   r      s   r   c                   @   sZ   e Zd ZU eƒ Zeƒ Zeƒ ZdZ	e
jeeeef ed< de
jeeeef ddœdd„ZdS )ÚPSSzEMSA-PSSÚ_salt_lengthÚMGFN)ÚmgfÚsalt_lengthÚreturnc                 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__)r   r   r   r   Ú
MAX_LENGTHr   ZAUTOr   ZDIGEST_LENGTHr	   ÚtypingÚUnionr   Ú__annotations__r   r
   r
   r
   r   r       s   
ür   c                   @   s*   e Zd ZdZdejeje dœdd„Z	dS )ÚOAEPzEME-OAEPr   )r   Ú	algorithmÚlabelc                 C   s*   t |tjƒstdƒ‚|| _|| _|| _d S ©Nz*Expected instance of hashes.HashAlgorithm.)r   r   ÚHashAlgorithmr   r   Ú
_algorithmZ_label)r   r   r#   r$   r
   r
   r   r   ?   s
    zOAEP.__init__N)
r   r   r   r	   r   r&   r   ÚOptionalÚbytesr   r
   r
   r
   r   r"   <   s
   ür"   c                   @   s   e Zd ZU ejed< dS )r   r'   N)r   r   r   r   r&   r!   r
   r
   r
   r   r   M   s   
r   )Ú	metaclassc                   @   s"   e Zd Zeƒ Zejdœdd„ZdS )ÚMGF1)r#   c                 C   s   t |tjƒstdƒ‚|| _d S r%   )r   r   r&   r   r'   )r   r#   r
   r
   r   r   T   s    zMGF1.__init__N)r   r   r   r   r   r   r&   r   r
   r
   r
   r   r+   Q   s   r+   )zrsa.RSAPrivateKeyzrsa.RSAPublicKey)ÚkeyÚhash_algorithmr   c                 C   sF   t | tjtjfƒstdƒ‚| jd d }||j d }|dksBt‚|S )Nz(key must be an RSA public or private keyé   é   é   r   )r   r   ZRSAPrivateKeyZRSAPublicKeyr   Zkey_sizeÚdigest_sizeÚAssertionError)r,   r-   Zemlenr   r
   r
   r   Úcalculate_max_pss_salt_length[   s    r3   )Úabcr   Zcryptography.hazmat.primitivesr   Z*cryptography.hazmat.primitives._asymmetricr   Z)cryptography.hazmat.primitives.asymmetricr   r   r   r   r   r   r"   ÚABCMetar   r+   r    r&   r   r3   r
   r
   r
   r   Ú<module>   s    ý