%PDF- %PDF-
Direktori : /proc/self/root/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ |
Current File : //proc/self/root/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/dsa.pyo |
� �b�Xc @` se d d l m Z m Z m Z d d l m Z d d l m Z d d l m Z m Z d d l m Z m Z d d l m Z m Z m Z d � Z d � Z d � Z e j e � d e f d � � Y� Z e j e � d e f d � � Y� Z e j e j � d e f d � � Y� Z e j e j � d e f d � � Y� Z e j e j � d e f d � � Y� Z d S( i ( t absolute_importt divisiont print_function( t utils( t InvalidSignature( t _calculate_digest_and_algorithmt _truncate_digest( t hashest serialization( t AsymmetricSignatureContextt AsymmetricVerificationContextt dsac C` sw | j j d � } | j j | | j j | | j j � | j | d | j j k � | j j | d � } t | | � S( s� This function truncates digests that are longer than a given DS key's length so they can be signed. OpenSSL does this for us in 1.0.0c+, leaving us with three releases (1.0.0, 1.0.0a, and 1.0.0b) where this is a problem. s BIGNUM **i ( t _ffit newt _libt DSA_get0_pqgt NULLt openssl_assertt BN_num_bitsR ( t dsa_cdatat digestt backendt qt order_bits( ( sN /usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/dsa.pyt _truncate_digest_for_dsa s c C` s� | j j | j � } | j j d | � } | j j d � } | j j d | t | � | | | j � } | j | d k � | j | d � | j j | � | d S( Ns unsigned char[]s unsigned int *i i ( R t DSA_sizet _dsa_cdataR R t DSA_signt lenR t buffer( R t private_keyt datat sig_buf_lent sig_buft buflent res( ( sN /usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/dsa.pyt _dsa_sig_sign$ s !c C` sS | j j d | t | � | t | � | j � } | d k rO | j � t � n d S( Ni i ( R t DSA_verifyR R t _consume_errorsR ( R t public_keyt signatureR R# ( ( sN /usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/dsa.pyt _dsa_sig_verify4 s ' t _DSAVerificationContextc B` s# e Z d � Z d � Z d � Z RS( c C` sC | | _ | | _ | | _ | | _ t j | j | j � | _ d S( N( t _backendt _public_keyt _signaturet _algorithmR t Hasht _hash_ctx( t selfR R'