
    #	h                    ~   S SK Jr  S SKrS SKJr  S SKJr   " S S\R                  5      r " S S\R                  5      r	 " S	 S
\R                  5      r
 " S S\R                  5      r " S S\R                  5      r " S S\R                  S9r " S S\5      r " S S\5      r " S S5      r " S S\5      rg)    )annotationsN)utils)HashAlgorithmc                      \ rS rSrSrSrSrg)PBES   z%PBESv1 using SHA1 and 3-Key TripleDESz)PBESv2 using SHA256 PBKDF2 and AES256 CBC N)__name__
__module____qualname____firstlineno__PBESv1SHA1And3KeyTripleDESCBCPBESv2SHA256AndAES256CBC__static_attributes__r	       _/var/www/html/env/lib/python3.13/site-packages/cryptography/hazmat/primitives/_serialization.pyr   r      s    $K!Jr   r   c                  ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
Encoding   PEMDEROpenSSHRawz
ANSI X9.62zS/MIMEr	   N)r
   r   r   r   r   r   r   r   X962SMIMEr   r	   r   r   r   r      s     
C
CG
CDEr   r   c                  2    \ rS rSrSrSrSrSrSrS
S jr	Sr
g	)PrivateFormat   PKCS8TraditionalOpenSSLr   r   PKCS12c                v    U [         R                  [         R                  4;  a  [        S5      e[	        U 5      $ )NzUencryption_builder only supported with PrivateFormat.OpenSSH and PrivateFormat.PKCS12)r   r   r!   
ValueError!KeySerializationEncryptionBuilder)selfs    r   encryption_builder PrivateFormat.encryption_builder%   s:    --}/C/CDD,  166r   r	   N)returnr$   )r
   r   r   r   r   r    r   r   r!   r&   r   r	   r   r   r   r      s!    E-
CGF7r   r   c                  ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
PublicFormat.   z&X.509 subjectPublicKeyInfo with PKCS#1z
Raw PKCS#1r   r   zX9.62 Compressed PointzX9.62 Uncompressed Pointr	   N)r
   r   r   r   SubjectPublicKeyInfoPKCS1r   r   CompressedPointUncompressedPointr   r	   r   r   r*   r*   .   s"    CEG
C.O2r   r*   c                      \ rS rSrSrSrg)ParameterFormat7   PKCS3r	   N)r
   r   r   r   r3   r   r	   r   r   r1   r1   7   s    Er   r1   c                      \ rS rSrSrg)KeySerializationEncryption;   r	   Nr
   r   r   r   r   r	   r   r   r5   r5   ;       r   r5   )	metaclassc                      \ rS rSrSS jrSrg)BestAvailableEncryption?   c                n    [        U[        5      (       a  [        U5      S:X  a  [        S5      eXl        g )Nr   !Password must be 1 or more bytes.)
isinstancebyteslenr#   passwordr%   rB   s     r   __init__ BestAvailableEncryption.__init__@   s+    (E**c(mq.@@AA r   )rB   N)rB   r@   r
   r   r   r   rD   r   r	   r   r   r;   r;   ?   s    !r   r;   c                      \ rS rSrSrg)NoEncryptionG   r	   Nr7   r	   r   r   rH   rH   G   r8   r   rH   c                  t    \ rS rSrSSSS.         S
S jjrSS jr    SS jr    SS jrSS jrS	r	g)r$   K   N_kdf_rounds
_hmac_hash_key_cert_algorithmc               4    Xl         X l        X0l        X@l        g N)_formatrM   rN   rO   )r%   formatrM   rN   rO   s        r   rD   *KeySerializationEncryptionBuilder.__init__L   s     &$#6 r   c                    U R                   b  [        S5      e[        U[        5      (       d  [	        S5      eUS:  a  [        S5      e[        U R                  UU R                  U R                  S9$ )Nzkdf_rounds already setzkdf_rounds must be an integer   z%kdf_rounds must be a positive integerrL   )	rM   r#   r?   int	TypeErrorr$   rR   rN   rO   )r%   roundss     r   
kdf_rounds,KeySerializationEncryptionBuilder.kdf_roundsZ   sm    '566&#&&;<<A:DEE0LL $ 8 8	
 	
r   c                    U R                   [        R                  La  [        S5      eU R                  b  [        S5      e[        U R                   U R                  UU R                  S9$ )Nz2hmac_hash only supported with PrivateFormat.PKCS12zhmac_hash already setrL   )	rR   r   r!   rX   rN   r#   r$   rM   rO   r%   	algorithms     r   	hmac_hash+KeySerializationEncryptionBuilder.hmac_hashk   sg     <<}333D  ??&4550LL((  $ 8 8	
 	
r   c                    U R                   [        R                  La  [        S5      eU R                  b  [        S5      e[        U R                   U R                  U R                  US9$ )Nz;key_cert_algorithm only supported with PrivateFormat.PKCS12zkey_cert_algorithm already setrL   )	rR   r   r!   rX   rO   r#   r$   rM   rN   r]   s     r   key_cert_algorithm4KeySerializationEncryptionBuilder.key_cert_algorithm|   si     <<}333'  ##/=>>0LL(( )	
 	
r   c                    [        U[        5      (       a  [        U5      S:X  a  [        S5      e[	        U R
                  UU R                  U R                  U R                  S9$ )Nr   r>   )rZ   r_   rb   )	r?   r@   rA   r#   _KeySerializationEncryptionrR   rM   rN   rO   rC   s     r   build'KeySerializationEncryptionBuilder.build   sV    (E**c(mq.@@AA*LL''oo#77
 	
r   )rR   rN   rM   rO   )
rS   r   rM   
int | NonerN   HashAlgorithm | NonerO   PBES | Noner(   None)rY   rW   r(   r$   )r^   r   r(   r$   )r^   r   r(   r$   )rB   r@   r(   r5   )
r
   r   r   r   rD   rZ   r_   rb   rf   r   r	   r   r   r$   r$   K   sv    
 #'+/+/77  	7
 )7 )7 
7
"
&
	*
"

	*
"

r   r$   c                  2    \ rS rSr          SS jrSrg)re      c               @    Xl         X l        X0l        X@l        XPl        g rQ   )rR   rB   rM   rN   rO   )r%   rS   rB   rZ   r_   rb   s         r   rD   $_KeySerializationEncryption.__init__   s      %##5 r   )rR   rN   rM   rO   rB   N)
rS   r   rB   r@   rZ   rh   r_   ri   rb   rj   rF   r	   r   r   re   re      s7    66 6
 6 (6 (6r   re   )
__future__r   abccryptographyr   %cryptography.hazmat.primitives.hashesr   Enumr   r   r   r*   r1   ABCMetar5   r;   rH   r$   re   r	   r   r   <module>rv      s   
 # 
  ?K5:: K
uzz 7EJJ 7 35:: 3ejj 	3;; 	!8 !	- 	L
 L
^6"< 6r   