
    : j                       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 d dlmZ  G d dej        	          ZeZe                    ej        j                    G d
 dej        	          ZeZe                    ej        j                    G d dej        	          ZeZe                    ej        j                   ej        j        Zej        j        Zej        j        Z	 dddZ	 dddZdS )    )annotationsN)openssl)_serializationhashes)utils)Bufferc                  R    e Zd Zej        dd            Zej        dd            ZdS )	DSAParametersreturnDSAPrivateKeyc                    dS )z8
        Generates and returns a DSAPrivateKey.
        N selfs    C:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\cryptography/hazmat/primitives/asymmetric/dsa.pygenerate_private_keyz"DSAParameters.generate_private_key             DSAParameterNumbersc                    dS )z0
        Returns a DSAParameterNumbers.
        Nr   r   s    r   parameter_numberszDSAParameters.parameter_numbers   r   r   Nr   r   )r   r   )__name__
__module____qualname__abcabstractmethodr   r   r   r   r   r
   r
      sZ           
 	     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ej        d"d            Zej        d#d            ZdS )$r   r   intc                    dS z6
        The bit length of the prime modulus.
        Nr   r   s    r   key_sizezDSAPrivateKey.key_size#   r   r   DSAPublicKeyc                    dS )zD
        The DSAPublicKey associated with this private key.
        Nr   r   s    r   
public_keyzDSAPrivateKey.public_key*   r   r   r
   c                    dS )zL
        The DSAParameters object associated with this private key.
        Nr   r   s    r   
parameterszDSAPrivateKey.parameters0   r   r   datar   	algorithm+asym_utils.Prehashed | hashes.HashAlgorithmbytesc                    dS )z 
        Signs the data
        Nr   )r   r)   r*   s      r   signzDSAPrivateKey.sign6   r   r   DSAPrivateNumbersc                    dS )z.
        Returns a DSAPrivateNumbers.
        Nr   r   s    r   private_numberszDSAPrivateKey.private_numbers@   r   r   encoding_serialization.Encodingformat_serialization.PrivateFormatencryption_algorithm)_serialization.KeySerializationEncryptionc                    dS z6
        Returns the key serialized as bytes.
        Nr   )r   r2   r4   r6   s       r   private_byteszDSAPrivateKey.private_bytesF   r   r   c                    dS z!
        Returns a copy.
        Nr   r   s    r   __copy__zDSAPrivateKey.__copy__Q   r   r   memodictc                    dS z&
        Returns a deep copy.
        Nr   r   r>   s     r   __deepcopy__zDSAPrivateKey.__deepcopy__W   r   r   Nr   r    r   r$   r   r
   )r)   r   r*   r+   r   r,   )r   r/   )r2   r3   r4   r5   r6   r7   r   r,   r   )r>   r?   r   r   )r   r   r   propertyr   r   r#   r&   r(   r.   r1   r:   r=   rC   r   r   r   r   r   "   s<           X
 	   
 	   
 	    	   
 	    	   
 	     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ej        d$d            Zej        d%d            ZdS )&r$   r   r    c                    dS r"   r   r   s    r   r#   zDSAPublicKey.key_sizec   r   r   r
   c                    dS )zK
        The DSAParameters object associated with this public key.
        Nr   r   s    r   r(   zDSAPublicKey.parametersj   r   r   DSAPublicNumbersc                    dS )z-
        Returns a DSAPublicNumbers.
        Nr   r   s    r   public_numberszDSAPublicKey.public_numbersp   r   r   r2   r3   r4   _serialization.PublicFormatr,   c                    dS r9   r   )r   r2   r4   s      r   public_byteszDSAPublicKey.public_bytesv   r   r   	signaturer   r)   r*   r+   Nonec                    dS )z5
        Verifies the signature of the data.
        Nr   )r   rQ   r)   r*   s       r   verifyzDSAPublicKey.verify   r   r   otherobjectboolc                    dS )z"
        Checks equality.
        Nr   )r   rU   s     r   __eq__zDSAPublicKey.__eq__   r   r   c                    dS r<   r   r   s    r   r=   zDSAPublicKey.__copy__   r   r   r>   r?   c                    dS rA   r   rB   s     r   rC   zDSAPublicKey.__deepcopy__   r   r   NrD   rF   )r   rK   )r2   r3   r4   rN   r   r,   )rQ   r   r)   r   r*   r+   r   rR   )rU   rV   r   rW   rE   )r>   r?   r   r$   )r   r   r   rG   r   r   r#   r(   rM   rP   rT   rY   r=   rC   r   r   r   r$   r$   b   s<           X
 	   
 	   
 	    	    	   
 	   
 	     r   r$   r#   r    backend
typing.Anyr   c                f    | dvrt          d          t          j                            |           S )N)i   i   i   i   z0Key size must be 1024, 2048, 3072, or 4096 bits.)
ValueErrorrust_openssldsagenerate_parameters)r#   r\   s     r   rb   rb      s9     // MKLLL//999r   c                H    t          |           }|                                S N)rb   r   )r#   r\   r(   s      r   r   r      s#     %X..J**,,,r   rd   )r#   r    r\   r]   r   r
   )r#   r    r\   r]   r   r   )
__future__r   r   typing"cryptography.hazmat.bindings._rustr   r`   cryptography.hazmat.primitivesr   r   )cryptography.hazmat.primitives.asymmetricr   
asym_utilscryptography.utilsr   ABCMetar
   DSAParametersWithNumbersregisterra   r   DSAPrivateKeyWithSerializationr$   DSAPublicKeyWithSerializationr/   rK   r   rb   r   r   r   r   <module>rq      s  
 # " " " " " 



  F F F F F F A A A A A A A A I I I I I I % % % % % %    ck     )    |'5 6 6 69 9 9 9 9ck 9 9 9 9x "/    |'5 6 6 69 9 9 9 9S[ 9 9 9 9x !-    l&3 4 4 4 $6 #4 "&:  *.: : : : : *.- - - - - - -r   