
    WwgE                       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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     h/var/www/horilla/myenv/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                  l    e Zd ZU  e       Z e       Z e       ZdZ	de
d<   	 	 	 	 	 	 ddZedd       Zy)	PSSzEMSA-PSS(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   c                    | j                   S Nr   r"   s    r   r#   zPSS.mgf;       yyr   N)r#   MGFr$   r   returnNoner,   r+   )r	   r
   r   r   
MAX_LENGTHr   AUTOr   DIGEST_LENGTHr   __annotations__r%   propertyr#   r   r   r   r   r       sW    J7D!OMD::(( >( 
	((  r   r   c                  H    e Zd ZdZ	 	 	 	 	 	 ddZedd       Ze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__C   s5     )V%9%9:HII	#r   c                    | j                   S r'   )r9   r)   s    r   r;   zOAEP.algorithmP   s    r   c                    | j                   S r'   r(   r)   s    r   r#   zOAEP.mgfT   r*   r   N)r#   r+   r;   hashes.HashAlgorithmr<   zbytes | None)r,   r?   r.   )r	   r
   r   r   r%   r3   r;   r#   r   r   r   r5   r5   @   sP    D ( 	    r   r5   c                      e Zd ZU ded<   y)r+   r?   r9   N)r	   r
   r   r2   r   r   r   r+   r+   Y   s    $$r   r+   )	metaclassc                  "    e Zd Z e       ZddZy)MGF1c                \    t        |t        j                        st        d      || _        y r7   )r   r   r8   r    r9   )r"   r;   s     r   r%   zMGF1.__init__`   s%    )V%9%9:HII#r   N)r;   r?   )r	   r
   r   r   r/   r%   r   r   r   rC   rC   ]   s    J$r   rC   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_lengthrP   g   sg     cC--s/?/?@ABCC\\A!#E.444q8K!r   )rM   z$rsa.RSAPrivateKey | rsa.RSAPublicKeyrN   r?   r,   r   )
__future__r   abccryptography.hazmat.primitivesr   *cryptography.hazmat.primitives._asymmetricr   )cryptography.hazmat.primitives.asymmetricr   r   r   r   r   r   r5   ABCMetar+   rC   rP   r   r   r   <module>rW      s   
 # 
 1 :  ' '! !* *
 @ 2%CKK %$3 $
	-
(
 	
r   