File: //usr/lib64/python3.6/site-packages/M2Crypto/__pycache__/DSA.cpython-36.opt-1.pyc
3
YݧZ�7 � @ s� d dl mZmZ d dlmZmZmZ ejr>d dlm Z m
Z
mZ G dd� de�Z
eje
� G dd� de�ZG dd � d e�Zejfd
d�Zdd
� Zejfdd�Zejfdd�Zejfdd�Zejfdd�Zdd� Zejfdd�Zejfdd�ZdS )� )�absolute_import�print_function)�BIO�m2�util)�AnyStr�Callable�Tuplec @ s e Zd ZdS )�DSAErrorN)�__name__�
__module__�__qualname__� r r �/usr/lib64/python3.6/DSA.pyr
s r
c @ s� e Zd ZdZejZd)dd�Zdd� Zdd� Z d d
� Z
dd� Zd
d� Zdd� Z
dd� Zdd� Zdejfdd�Zdejfdd�Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(S )*�DSAa#
This class is a context supporting DSA key and parameter
values, signing and verifying.
Simple example::
from M2Crypto import EVP, DSA, util
message = 'Kilroy was here!'
md = EVP.MessageDigest('sha1')
md.update(message)
digest = md.final()
dsa = DSA.gen_params(1024)
dsa.gen_key()
r, s = dsa.sign(digest)
good = dsa.verify(digest, r, s)
if good:
print(' ** success **')
else:
print(' ** verification failed **')
r c C s || _ || _dS )z�
Use one of the factory functions to create an instance.
:param dsa: binary representation of OpenSSL DSA type
N)�dsa�_pyfree)�selfr r r r r �__init__2 s zDSA.__init__c C s t | dd�r| j| j� d S )Nr r )�getattr�m2_dsa_freer )r r r r �__del__<