
    (phu                    h   S SK Jr  S SKrS SKrS SKJr  S SKJrJ	r	  S SK
Jr  S SKJr   " S S\R                  S	9r\r\R%                  \R&                  R                   5         " S
 S\R                  S	9r\r\R%                  \R&                  R(                  5         " S S\R                  S	9r\r\R%                  \R&                  R,                  5        \R&                  R0                  r\R&                  R2                  r\R&                  R4                  r S     SS jjr S     SS jjrg)    )annotationsN)openssl)_serializationhashes)utils)Bufferc                  d    \ rS rSr\R
                  SS j5       r\R
                  SS j5       rSrg)DSAParameters   c                    g)z(
Generates and returns a DSAPrivateKey.
N selfs    `/var/www/html/venv/lib/python3.13/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.pygenerate_private_key"DSAParameters.generate_private_key           c                    g)z 
Returns a DSAParameterNumbers.
Nr   r   s    r   parameter_numbersDSAParameters.parameter_numbers   r   r   r   NreturnDSAPrivateKey)r   DSAParameterNumbers)	__name__
__module____qualname____firstlineno__abcabstractmethodr   r   __static_attributes__r   r   r   r
   r
      s4     
 	 r   r
   )	metaclassc                  R   \ rS rSr\\R                  SS j5       5       r\R                  SS j5       r\R                  SS j5       r	\R                        SS j5       r
\R                  SS j5       r\R                          SS j5       r\R                  SS j5       rS	rg
)r   "   c                    gz&
The bit length of the prime modulus.
Nr   r   s    r   key_sizeDSAPrivateKey.key_size#   r   r   c                    g)z4
The DSAPublicKey associated with this private key.
Nr   r   s    r   
public_keyDSAPrivateKey.public_key*   r   r   c                    g)z<
The DSAParameters object associated with this private key.
Nr   r   s    r   
parametersDSAPrivateKey.parameters0   r   r   c                    g)z
Signs the data
Nr   )r   data	algorithms      r   signDSAPrivateKey.sign6   r   r   c                    g)z
Returns a DSAPrivateNumbers.
Nr   r   s    r   private_numbersDSAPrivateKey.private_numbers@   r   r   c                    gz&
Returns the key serialized as bytes.
Nr   )r   encodingformatencryption_algorithms       r   private_bytesDSAPrivateKey.private_bytesF   r   r   c                    gz
Returns a copy.
Nr   r   s    r   __copy__DSAPrivateKey.__copy__Q   r   r   r   Nr   intr   DSAPublicKeyr   r
   )r1   r   r2   +asym_utils.Prehashed | hashes.HashAlgorithmr   bytes)r   DSAPrivateNumbers)r:   _serialization.Encodingr;   z_serialization.PrivateFormatr<   z)_serialization.KeySerializationEncryptionr   rI   r   )r   r   r   r   propertyr    r!   r(   r+   r.   r3   r6   r=   rA   r"   r   r   r   r   r   "   s     
 	 
 	 
 	 ? 
	  	 
 	) - H	
 
  	 r   r   c                  R   \ rS rSr\\R                  SS j5       5       r\R                  SS j5       r\R                  SS j5       r	\R                        SS j5       r
\R                          SS j5       r\R                  SS j5       r\R                  SS j5       rS	rg
)rF   \   c                    gr'   r   r   s    r   r(   DSAPublicKey.key_size]   r   r   c                    g)z;
The DSAParameters object associated with this public key.
Nr   r   s    r   r.   DSAPublicKey.parametersd   r   r   c                    g)z
Returns a DSAPublicNumbers.
Nr   r   s    r   public_numbersDSAPublicKey.public_numbersj   r   r   c                    gr9   r   )r   r:   r;   s      r   public_bytesDSAPublicKey.public_bytesp   r   r   c                    g)z%
Verifies the signature of the data.
Nr   )r   	signaturer1   r2   s       r   verifyDSAPublicKey.verifyz   r   r   c                    g)z
Checks equality.
Nr   )r   others     r   __eq__DSAPublicKey.__eq__   r   r   c                    gr@   r   r   s    r   rA   DSAPublicKey.__copy__   r   r   r   NrC   rG   )r   DSAPublicNumbers)r:   rK   r;   z_serialization.PublicFormatr   rI   )rZ   r   r1   r   r2   rH   r   None)r^   objectr   boolrE   )r   r   r   r   rL   r    r!   r(   r.   rT   rW   r[   r_   rA   r"   r   r   r   rF   rF   \   s      
 	 
 	 
 	) , 
	  	  ?	
 
  	 
 	 r   rF   c                b    U S;  a  [        S5      e[        R                  R                  U 5      $ )N)i   i   i   i   z0Key size must be 1024, 2048, 3072, or 4096 bits.)
ValueErrorrust_openssldsagenerate_parameters)r(   backends     r   rk   rk      s0     //KLL//99r   c                8    [        U 5      nUR                  5       $ N)rk   r   )r(   rl   r.   s      r   r   r      s     %X.J**,,r   rn   )r(   rD   rl   
typing.Anyr   r
   )r(   rD   rl   ro   r   r   )
__future__r   r    typing"cryptography.hazmat.bindings._rustr   ri   cryptography.hazmat.primitivesr   r   )cryptography.hazmat.primitives.asymmetricr   
asym_utilscryptography.utilsr   ABCMetar
   DSAParametersWithNumbersregisterrj   r   DSAPrivateKeyWithSerializationrF   DSAPublicKeyWithSerializationrJ   rc   r   rk   r   r   r   r   <module>r|      s.  
 # 
  F A I %ckk  )    |''55 63ckk 3l "/    |''55 63S[[ 3l !-    l&&33 4 $$66 ##44 "&&::  *.::&:: *.--&--r   