File: //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/dh.cpython-38.pyc
U
�e�]>* � @ s� d dl mZmZmZ d dlmZ d dlmZmZ d dl m
Z
d dlmZ dd� Z
dd � Ze�ej�G d
d� de��Zdd
� Zdd� Ze�ej�G dd� de��Ze�ej�G dd� de��ZdS )� )�absolute_import�division�print_function)�utils)�UnsupportedAlgorithm�_Reasons)�
serialization)�dhc C s� |j }|j}|�| �}|�||jk� |�||j�}|jr�|�d�}|� | |j||j� |�
|d �}|�||j||j�}|�|dk� |S �N� BIGNUM **r � )�_lib�_ffiZDHparams_dup�openssl_assert�NULL�gcZDH_freeZ"CRYPTOGRAPHY_OPENSSL_LESS_THAN_102�new�DH_get0_pqg�BN_dupZDH_set0_pqg)�dh_cdata�backend�libZffi�param_cdata�qZq_dup�res� r �I/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/dh.py�_dh_params_dup
s
r c C s t | |�}t||�S �N)r �
_DHParameters)r r r r r r �_dh_cdata_to_parameters s
r c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
r c C s || _ || _d S r )�_backend� _dh_cdata)�selfr r r r r �__init__&