3 l�_4' � @ s� d dl mZmZmZ d dlmZ d dlmZ d dlm Z m Z mZ d dlm Z d dlmZmZmZ dd� Zd d � Zeje�G dd� de��Zeje�G d d� de��Zejej�G dd� de��Zejej�G dd� de��Zejej�G dd� de��ZdS )� )�absolute_import�division�print_function)�utils)�InvalidSignature)�_calculate_digest_and_algorithm�_check_not_prehashed�_warn_sign_verify_deprecated)�hashes)�AsymmetricSignatureContext�AsymmetricVerificationContext�dsac C sx | j j|j�}| jjd|�}| jjd�}| j jd|t|�|||j�}| j|dk� | j|d � | jj|�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_bufZbuflen�res� r �/usr/lib64/python3.6/dsa.py� _dsa_sig_sign s r c C s8 | j jd|t|�|t|�|j�}|dkr4| j� t�d S )Nr r )r Z DSA_verifyr r Z_consume_errorsr )r � public_key� signaturer r r r r �_dsa_sig_verify&