
    tfi                       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                    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)utilsc                  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    l/var/www/surfInsights/venv3-11/lib/python3.11/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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.parameters/   r   r   databytes	algorithm+asym_utils.Prehashed | hashes.HashAlgorithmc                    dS )z 
        Signs the data
        Nr   )r   r'   r)   s      r   signzDSAPrivateKey.sign5   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   r0   r2   r4   s       r   private_byteszDSAPrivateKey.private_bytesE   r   r   Nr
   r   )r
   r"   r
   r	   )r'   r(   r)   r*   r
   r(   )r
   r-   )r0   r1   r2   r3   r4   r5   r
   r(   )r   r   r   propertyr   r   r!   r$   r&   r,   r/   r8   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dS )r"   r
   r   c                    dS r    r   r   s    r   r!   zDSAPublicKey.key_sizeV   r   r   r	   c                    dS )zK
        The DSAParameters object associated with this public key.
        Nr   r   s    r   r&   zDSAPublicKey.parameters]   r   r   DSAPublicNumbersc                    dS )z-
        Returns a DSAPublicNumbers.
        Nr   r   s    r   public_numberszDSAPublicKey.public_numbersc   r   r   r0   r1   r2   _serialization.PublicFormatr(   c                    dS r7   r   )r   r0   r2   s      r   public_byteszDSAPublicKey.public_bytesi   r   r   	signaturer'   r)   r*   Nonec                    dS )z5
        Verifies the signature of the data.
        Nr   )r   rE   r'   r)   s       r   verifyzDSAPublicKey.verifys   r   r   otherobjectboolc                    dS )z"
        Checks equality.
        Nr   )r   rI   s     r   __eq__zDSAPublicKey.__eq__~   r   r   Nr9   r:   )r
   r?   )r0   r1   r2   rB   r
   r(   )rE   r(   r'   r(   r)   r*   r
   rF   )rI   rJ   r
   rK   )r   r   r   r;   r   r   r!   r&   rA   rD   rH   rM   r   r   r   r"   r"   U   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!   rN   s     r   rT   rT      s6     ///KLLL//999r   c                H    t          |           }|                                S N)rT   r   )r!   rN   r&   s      r   r   r      s#     %X..J**,,,r   rV   )r!   r   rN   rO   r
   r	   )r!   r   rN   rO   r
   r   )
__future__r   r   typing"cryptography.hazmat.bindings._rustr   rR   cryptography.hazmat.primitivesr   r   )cryptography.hazmat.primitives.asymmetricr   
asym_utilsABCMetar	   DSAParametersWithNumbersregisterrS   r   DSAPrivateKeyWithSerializationr"   DSAPublicKeyWithSerializationr-   r?   r   rT   r   r   r   r   <module>rb      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- - - - -ck - - - -` "/    |'5 6 6 6- - - - -S[ - - - -` !-    l&3 4 4 4 $6 #4 "&:  *.: : : : : *.- - - - - - -r   