
    Wwgi                    f   d dl mZ d dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZ  G d dej                        ZeZej!                  ej"                  j                          G d	 d
ej                        ZeZej!                  ej"                  j$                          G d dej                        ZeZej!                  ej"                  j(                         ej"                  j,                  Zej"                  j.                  Zej"                  j0                  Z	 d	 	 	 	 	 ddZ	 d	 	 	 	 	 ddZy)    )annotationsN)openssl)_serializationhashes)utilsc                  X    e Zd Zej                  dd       Zej                  dd       Zy)DSAParametersc                     y)z8
        Generates and returns a DSAPrivateKey.
        N selfs    d/var/www/horilla/myenv/lib/python3.12/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.pygenerate_private_keyz"DSAParameters.generate_private_key           c                     y)z0
        Returns a DSAParameterNumbers.
        Nr   r   s    r   parameter_numberszDSAParameters.parameter_numbers   r   r   N)returnDSAPrivateKey)r   DSAParameterNumbers)__name__
__module____qualname__abcabstractmethodr   r   r   r   r   r	   r	      s4     
 	 r   r	   )	metaclassc                     e Zd Zeej
                  dd              Zej
                  d	d       Zej
                  d
d       Zej
                  	 	 	 	 	 	 dd       Z	ej
                  dd       Z
ej
                  	 	 	 	 	 	 	 	 dd       Zy)r   c                     yz6
        The bit length of the prime modulus.
        Nr   r   s    r   key_sizezDSAPrivateKey.key_size"   r   r   c                     y)zD
        The DSAPublicKey associated with this private key.
        Nr   r   s    r   
public_keyzDSAPrivateKey.public_key)   r   r   c                     y)zL
        The DSAParameters object associated with this private key.
        Nr   r   s    r   
parameterszDSAPrivateKey.parameters/   r   r   c                     y)z 
        Signs the data
        Nr   )r   data	algorithms      r   signzDSAPrivateKey.sign5   r   r   c                     y)z.
        Returns a DSAPrivateNumbers.
        Nr   r   s    r   private_numberszDSAPrivateKey.private_numbers?   r   r   c                     yz6
        Returns the key serialized as bytes.
        Nr   )r   encodingformatencryption_algorithms       r   private_byteszDSAPrivateKey.private_bytesE   r   r   Nr   int)r   DSAPublicKeyr   r	   )r&   bytesr'   +asym_utils.Prehashed | hashes.HashAlgorithmr   r5   )r   DSAPrivateNumbers)r-   _serialization.Encodingr.   z_serialization.PrivateFormatr/   z)_serialization.KeySerializationEncryptionr   r5   )r   r   r   propertyr   r   r    r"   r$   r(   r*   r0   r   r   r   r   r   !   s      
 	 
 	 
 	 ? 
	  	 
 	) - H	
 
 r   r   c                     e Zd Zeej
                  dd              Zej
                  d	d       Zej
                  d
d       Zej
                  	 	 	 	 	 	 dd       Z	ej
                  	 	 	 	 	 	 	 	 dd       Z
ej
                  dd       Zy)r3   c                     yr   r   r   s    r   r    zDSAPublicKey.key_sizeV   r   r   c                     y)zK
        The DSAParameters object associated with this public key.
        Nr   r   s    r   r$   zDSAPublicKey.parameters]   r   r   c                     y)z-
        Returns a DSAPublicNumbers.
        Nr   r   s    r   public_numberszDSAPublicKey.public_numbersc   r   r   c                     yr,   r   )r   r-   r.   s      r   public_byteszDSAPublicKey.public_bytesi   r   r   c                     y)z5
        Verifies the signature of the data.
        Nr   )r   	signaturer&   r'   s       r   verifyzDSAPublicKey.verifys   r   r   c                     y)z"
        Checks equality.
        Nr   )r   others     r   __eq__zDSAPublicKey.__eq__~   r   r   Nr1   r4   )r   DSAPublicNumbers)r-   r8   r.   z_serialization.PublicFormatr   r5   )rB   r5   r&   r5   r'   r6   r   None)rE   objectr   bool)r   r   r   r9   r   r   r    r$   r>   r@   rC   rF   r   r   r   r3   r3   U   s      
 	 
 	 
 	) , 
	  	  ?	
 
  	 r   r3   c                ^    | dvrt        d      t        j                  j                  |       S )N)i   i   i   i   z0Key size must be 1024, 2048, 3072, or 4096 bits.)
ValueErrorrust_openssldsagenerate_parameters)r    backends     r   rO   rO      s0     //KLL//99r   c                8    t        |       }|j                         S N)rO   r   )r    rP   r$   s      r   r   r      s     %X.J**,,r   rR   )r    r2   rP   
typing.Anyr   r	   )r    r2   rP   rS   r   r   )
__future__r   r   typing"cryptography.hazmat.bindings._rustr   rM   cryptography.hazmat.primitivesr   r   )cryptography.hazmat.primitives.asymmetricr   
asym_utilsABCMetar	   DSAParametersWithNumbersregisterrN   r   DSAPrivateKeyWithSerializationr3   DSAPublicKeyWithSerializationr7   rG   r   rO   r   r   r   r   <module>r_      s+  
 # 
  F A Ickk  )    |''55 6-ckk -` "/    |''55 6-S[[ -` !-    l&&33 4 $$66 ##44 "&&::  *.::&:: *.--&--r   