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 deZG d d de ZG dd dejZG dd dejZG dd dejZdS ) N)utils)InvalidSignature)_calculate_digest_and_algorithm_check_not_prehashed_warn_sign_verify_deprecated)hashes serialization)AsymmetricSignatureContextAsymmetricVerificationContextdsar c C sx | j |j}| jd|}| jd}| j d|t||||j}| |dk | |d | j|d |d S )Nzunsigned char[]zunsigned int *r ) _libZDSA_size _dsa_cdata_ffinewZDSA_signlenopenssl_assertbuffer)backendprivate_keydataZsig_buf_lenZsig_bufbuflenres 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| td 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 ZedddZdddd 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&