B
    ufi                 @  s   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 dejdZeZeejj G d	d
 d
ejdZeZeejj G dd dejdZeZeejj ejjZejjZejjZdddddddZdddd
dddZdS )    )annotationsN)openssl)_serializationhashes)utilsc               @  s4   e Zd ZejddddZejddddZdS )	DSAParametersDSAPrivateKey)returnc             C  s   dS )z8
        Generates and returns a DSAPrivateKey.
        N )selfr
   r
   o/home/ankuromar296_gmail_com/myenv/lib/python3.7/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.pygenerate_private_key   s    z"DSAParameters.generate_private_keyDSAParameterNumbersc             C  s   dS )z0
        Returns a DSAParameterNumbers.
        Nr
   )r   r
   r
   r   parameter_numbers   s    zDSAParameters.parameter_numbersN)__name__
__module____qualname__abcabstractmethodr   r   r
   r
   r
   r   r      s   r   )	metaclassc               @  s   e Zd ZeejddddZejddddZejddd	d
ZejddddddZ	ejddddZ
ejdddddddZdS )r   int)r	   c             C  s   dS )z6
        The bit length of the prime modulus.
        Nr
   )r   r
   r
   r   key_size"   s    zDSAPrivateKey.key_sizeDSAPublicKeyc             C  s   dS )zD
        The DSAPublicKey associated with this private key.
        Nr
   )r   r
   r
   r   
public_key)   s    zDSAPrivateKey.public_keyr   c             C  s   dS )zL
        The DSAParameters object associated with this private key.
        Nr
   )r   r
   r
   r   
parameters/   s    zDSAPrivateKey.parametersbytesz+asym_utils.Prehashed | hashes.HashAlgorithm)data	algorithmr	   c             C  s   dS )z 
        Signs the data
        Nr
   )r   r   r   r
   r
   r   sign5   s    zDSAPrivateKey.signDSAPrivateNumbersc             C  s   dS )z.
        Returns a DSAPrivateNumbers.
        Nr
   )r   r
   r
   r   private_numbers?   s    zDSAPrivateKey.private_numbersz_serialization.Encodingz_serialization.PrivateFormatz)_serialization.KeySerializationEncryption)encodingformatencryption_algorithmr	   c             C  s   dS )z6
        Returns the key serialized as bytes.
        Nr
   )r   r!   r"   r#   r
   r
   r   private_bytesE   s    	zDSAPrivateKey.private_bytesN)r   r   r   propertyr   r   r   r   r   r   r    r$   r
   r
   r
   r   r   !   s   
r   c               @  s   e Zd ZeejddddZejddddZejddd	d
ZejddddddZ	ejdddddddZ
ejdddddZdS )r   r   )r	   c             C  s   dS )z6
        The bit length of the prime modulus.
        Nr
   )r   r
   r
   r   r   V   s    zDSAPublicKey.key_sizer   c             C  s   dS )zK
        The DSAParameters object associated with this public key.
        Nr
   )r   r
   r
   r   r   ]   s    zDSAPublicKey.parametersDSAPublicNumbersc             C  s   dS )z-
        Returns a DSAPublicNumbers.
        Nr
   )r   r
   r
   r   public_numbersc   s    zDSAPublicKey.public_numbersz_serialization.Encodingz_serialization.PublicFormatr   )r!   r"   r	   c             C  s   dS )z6
        Returns the key serialized as bytes.
        Nr
   )r   r!   r"   r
   r
   r   public_bytesi   s    zDSAPublicKey.public_bytesz+asym_utils.Prehashed | hashes.HashAlgorithmNone)	signaturer   r   r	   c             C  s   dS )z5
        Verifies the signature of the data.
        Nr
   )r   r*   r   r   r
   r
   r   verifys   s    	zDSAPublicKey.verifyobjectbool)otherr	   c             C  s   dS )z"
        Checks equality.
        Nr
   )r   r.   r
   r
   r   __eq__~   s    zDSAPublicKey.__eq__N)r   r   r   r%   r   r   r   r   r'   r(   r+   r/   r
   r
   r
   r   r   U   s   
r   r   z
typing.Any)r   backendr	   c             C  s   | dk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   r0   r
   r
   r   r4      s    r4   c             C  s   t | }| S )N)r4   r   )r   r0   r   r
   r
   r   r      s    r   )N)N)
__future__r   r   typingZ"cryptography.hazmat.bindings._rustr   r2   Zcryptography.hazmat.primitivesr   r   Z)cryptography.hazmat.primitives.asymmetricr   Z
asym_utilsABCMetar   ZDSAParametersWithNumbersregisterr3   r   ZDSAPrivateKeyWithSerializationr   ZDSAPublicKeyWithSerializationr   r&   r   r4   r   r
   r
   r
   r   <module>   s&   00	