
    +h
                       d dl mZ 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e      Z
 G d d	      Z G d
 d      Z G d d      Z G d de      Z G d de      Z G d dej                         Z G d de      Z	 	 	 	 	 	 ddZy)    )annotationsN)hashes)AsymmetricPadding)rsac                      e Zd ZdZy)PKCS1v15zEMSA-PKCS1-v1_5N)__name__
__module____qualname__name     d/var/www/html/venv/lib/python3.12/site-packages/cryptography/hazmat/primitives/asymmetric/padding.pyr   r      s    Dr   r   c                      e Zd ZdZy)
_MaxLengthz Sentinel value for `MAX_LENGTH`.Nr	   r
   r   __doc__r   r   r   r   r      s    &r   r   c                      e Zd ZdZy)_AutozSentinel value for `AUTO`.Nr   r   r   r   r   r      s     r   r   c                      e Zd ZdZy)_DigestLengthz#Sentinel value for `DIGEST_LENGTH`.Nr   r   r   r   r   r      s    )r   r   c                  Z    e Zd ZU  e       Z e       Z e       ZdZ	de
d<   	 	 	 	 	 	 ddZy)PSSzEMSA-PSS3typing.Union[int, _MaxLength, _Auto, _DigestLength]_salt_lengthc                    || _         t        |t        t        t        t
        f      st        d      t        |t              r|dk  rt        d      || _        y )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   )selfmgfsalt_lengths      r   __init__zPSS.__init__(   s[    
 	#z5-@
 ) 
 k3'K!OCDD'r   N)r#   MGFr$   r   returnNone)r	   r
   r   r   
MAX_LENGTHr   AUTOr   DIGEST_LENGTHr   __annotations__r%   r   r   r   r   r   !   sD    J7D!OMDEE(( I( 
	(r   r   c                  $    e Zd ZdZ	 	 	 	 	 	 ddZy)OAEPzEME-OAEPc                x    t        |t        j                        st        d      || _        || _        || _        y Nz*Expected instance of hashes.HashAlgorithm.)r   r   HashAlgorithmr    r   
_algorithm_label)r"   r#   	algorithmlabels       r   r%   zOAEP.__init__@   s5     )V%9%9:HII	#r   N)r#   r&   r4   hashes.HashAlgorithmr5   ztyping.Optional[bytes])r	   r
   r   r   r%   r   r   r   r.   r.   =   s(    D ( &	r   r.   c                      e Zd ZU ded<   y)r&   r6   r2   N)r	   r
   r   r,   r   r   r   r&   r&   N   s    $$r   r&   )	metaclassc                  "    e Zd Z e       ZddZy)MGF1c                \    t        |t        j                        st        d      || _        y r0   )r   r   r1   r    r2   )r"   r4   s     r   r%   zMGF1.__init__U   s%    )V%9%9:HII#r   N)r4   r6   )r	   r
   r   r   r)   r%   r   r   r   r:   r:   R   s    J$r   r:   c                    t        | t        j                  t        j                  f      st	        d      | j
                  dz   dz  }||j                  z
  dz
  }|dk\  sJ |S )Nz(key must be an RSA public or private key         r   )r   r   RSAPrivateKeyRSAPublicKeyr    key_sizedigest_size)keyhash_algorithmemlenr$   s       r   calculate_max_pss_salt_lengthrG   \   sg     cC--s/?/?@ABCC\\A!#E.444q8K!r   )rD   z1typing.Union[rsa.RSAPrivateKey, rsa.RSAPublicKey]rE   r6   r'   r   )
__future__r   abctypingcryptography.hazmat.primitivesr   *cryptography.hazmat.primitives._asymmetricr   )cryptography.hazmat.primitives.asymmetricr   r   r   r   r   r   r.   ABCMetar&   r:   rG   r   r   r   <module>rO      s   
 # 
  1 :  ' '! !* *(
 (8 "%CKK %$3 $
	:
(
 	
r   