U
    ʹh=                     @  s   d dl mZ d dlZd dlmZ d dlmZ ejj	Z	ejj
Z
ejjZejj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 dS )    )annotationsN)openssl)_serializationc                   @  sL   e Z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dS )DHParametersDHPrivateKeyreturnc                 C  s   dS )z7
        Generates and returns a DHPrivateKey.
        N selfr	   r	   p/var/www/html/timesheet/backend/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dh.pygenerate_private_key   s    z!DHParameters.generate_private_key_serialization.Encodingz_serialization.ParameterFormatbytesencodingformatr   c                 C  s   dS )z=
        Returns the parameters serialized as bytes.
        Nr	   r   r   r   r	   r	   r   parameter_bytes   s    zDHParameters.parameter_bytesDHParameterNumbersc                 C  s   dS )z/
        Returns a DHParameterNumbers.
        Nr	   r
   r	   r	   r   parameter_numbers%   s    zDHParameters.parameter_numbersN)__name__
__module____qualname__abcabstractmethodr   r   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dZ
ejd dddZdS )DHPublicKeyintr   c                 C  s   dS z6
        The bit length of the prime modulus.
        Nr	   r
   r	   r	   r   key_size1   s    zDHPublicKey.key_sizer   c                 C  s   dS )zJ
        The DHParameters object associated with this public key.
        Nr	   r
   r	   r	   r   
parameters8   s    zDHPublicKey.parametersDHPublicNumbersc                 C  s   dS )z,
        Returns a DHPublicNumbers.
        Nr	   r
   r	   r	   r   public_numbers>   s    zDHPublicKey.public_numbersr   z_serialization.PublicFormatr   r   c                 C  s   dS z6
        Returns the key serialized as bytes.
        Nr	   r   r	   r	   r   public_bytesD   s    zDHPublicKey.public_bytesobjectbool)otherr   c                 C  s   dS )z"
        Checks equality.
        Nr	   )r   r(   r	   r	   r   __eq__N   s    zDHPublicKey.__eq__c                 C  s   dS z!
        Returns a copy.
        Nr	   r
   r	   r	   r   __copy__T   s    zDHPublicKey.__copy__N)r   r   r   propertyr   r   r    r!   r#   r%   r)   r+   r	   r	   r	   r   r   0   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Z	ejddddZ
ejdddddddZejd dddZdS )r   r   r   c                 C  s   dS r   r	   r
   r	   r	   r   r    `   s    zDHPrivateKey.key_sizer   c                 C  s   dS )zC
        The DHPublicKey associated with this private key.
        Nr	   r
   r	   r	   r   
public_keyg   s    zDHPrivateKey.public_keyr   c                 C  s   dS )zK
        The DHParameters object associated with this private key.
        Nr	   r
   r	   r	   r   r!   m   s    zDHPrivateKey.parametersr   )peer_public_keyr   c                 C  s   dS )zn
        Given peer's DHPublicKey, carry out the key exchange and
        return shared key as bytes.
        Nr	   )r   r.   r	   r	   r   exchanges   s    zDHPrivateKey.exchangeDHPrivateNumbersc                 C  s   dS )z-
        Returns a DHPrivateNumbers.
        Nr	   r
   r	   r	   r   private_numbersz   s    zDHPrivateKey.private_numbersr   z_serialization.PrivateFormatz)_serialization.KeySerializationEncryption)r   r   encryption_algorithmr   c                 C  s   dS r$   r	   )r   r   r   r2   r	   r	   r   private_bytes   s    zDHPrivateKey.private_bytesc                 C  s   dS r*   r	   r
   r	   r	   r   r+      s    zDHPrivateKey.__copy__N)r   r   r   r,   r   r   r    r-   r!   r/   r1   r3   r+   r	   r	   r	   r   r   _   s   
r   )
__future__r   r   "cryptography.hazmat.bindings._rustr   rust_opensslcryptography.hazmat.primitivesr   dhgenerate_parametersr0   r"   r   ABCMetar   ZDHParametersWithSerializationregisterr   ZDHPublicKeyWithSerializationr   ZDHPrivateKeyWithSerializationr	   r	   r	   r   <module>   s    +3