
    ӝghu                    r   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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&                  j0                  Zej&                  j2                  Zej&                  j4                  Z	 d	 	 	 	 	 ddZ	 d	 	 	 	 	 ddZy)    )annotationsN)openssl)_serializationhashes)utils)Bufferc                  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    q/var/www/enzed_healthcare/enzed_env/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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.parameters0   r   r   c                     y)z 
        Signs the data
        Nr   )r   data	algorithms      r   signzDSAPrivateKey.sign6   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_bytesF   r   r   c                     yz!
        Returns a copy.
        Nr   r   s    r   __copy__zDSAPrivateKey.__copy__Q   r   r   Nr   intr   DSAPublicKeyr   r
   )r(   r   r)   +asym_utils.Prehashed | hashes.HashAlgorithmr   bytes)r   DSAPrivateNumbers)r/   _serialization.Encodingr0   z_serialization.PrivateFormatr1   z)_serialization.KeySerializationEncryptionr   r<   r   )r   r   r   propertyr   r   r"   r$   r&   r*   r,   r2   r5   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ej
                  dd       Zy)r9   c                     yr!   r   r   s    r   r"   zDSAPublicKey.key_size]   r   r   c                     y)zK
        The DSAParameters object associated with this public key.
        Nr   r   s    r   r&   zDSAPublicKey.parametersd   r   r   c                     y)z-
        Returns a DSAPublicNumbers.
        Nr   r   s    r   public_numberszDSAPublicKey.public_numbersj   r   r   c                     yr.   r   )r   r/   r0   s      r   public_byteszDSAPublicKey.public_bytesp   r   r   c                     y)z5
        Verifies the signature of the data.
        Nr   )r   	signaturer(   r)   s       r   verifyzDSAPublicKey.verifyz   r   r   c                     y)z"
        Checks equality.
        Nr   )r   others     r   __eq__zDSAPublicKey.__eq__   r   r   c                     yr4   r   r   s    r   r5   zDSAPublicKey.__copy__   r   r   Nr6   r:   )r   DSAPublicNumbers)r/   r>   r0   z_serialization.PublicFormatr   r<   )rH   r   r(   r   r)   r;   r   None)rK   objectr   boolr8   )r   r   r   r?   r   r   r"   r&   rD   rF   rI   rL   r5   r   r   r   r9   r9   \   s      
 	 
 	 
 	) , 
	  	  ?	
 
  	 
 	 r   r9   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   rV   rV      s0     //KLL//99r   c                8    t        |       }|j                         S N)rV   r   )r"   rW   r&   s      r   r   r      s     %X.J**,,r   rY   )r"   r7   rW   
typing.Anyr   r
   )r"   r7   rW   rZ   r   r   )
__future__r   r   typing"cryptography.hazmat.bindings._rustr   rT   cryptography.hazmat.primitivesr   r   )cryptography.hazmat.primitives.asymmetricr   
asym_utilscryptography.utilsr   ABCMetar
   DSAParametersWithNumbersregisterrU   r   DSAPrivateKeyWithSerializationr9   DSAPublicKeyWithSerializationr=   rN   r   rV   r   r   r   r   <module>rg      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   