Current File : //lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-39.pyc |
a
�a�) � @ s� d dl Z d dlmZ d dlmZ d dlmZmZmZ d dl m
Z
mZ d dlm
Z
mZmZmZ dd� Zd d
� ZG dd� de�ZG d
d� de
�ZG dd� dej�ZG dd� dej�ZG dd� dej�ZdS )� N)�utils)�InvalidSignature)�_calculate_digest_and_algorithm�_check_not_prehashed�_warn_sign_verify_deprecated)�hashes�
serialization)�AsymmetricSignatureContext�AsymmetricVerificationContext�dsar c C sx | j �|j�}| j�d|�}| j�d�}| j �d|t|�|||j�}| �|dk� | �|d � | j�|�d |d � S )Nzunsigned char[]zunsigned int *r � ) �_libZDSA_size�
_dsa_cdata�_ffi�newZDSA_sign�len�openssl_assert�buffer)�backend�private_key�dataZsig_buf_lenZsig_buf�buflen�res� r �N/usr/lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/dsa.py�
_dsa_sig_sign s �r c C s8 | j �d|t|�|t|�|j�}|dkr4| �� t�d S )Nr r )r
Z
DSA_verifyr r Z_consume_errorsr )r �
public_key� signaturer r r r r �_dsa_sig_verify( s �r c @ s0 e Zd Zdd� Zed�dd�Zdd�dd �ZdS )
�_DSAVerificationContextc C s. || _ || _|| _|| _t�| j| j �| _d S �N)�_backend�_public_key�
_signature�
_algorithmr �Hash� _hash_ctx)�selfr r r � algorithmr r r �__init__5 s
z _DSAVerificationContext.__init__)r c C s | j �|� d S r �r&