HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-38.pyc
U

�e�]�'�@sddlmZmZmZddlmZddlmZddlm	Z	m
Z
mZddlm
Z
mZddlmZmZmZdd�Zd	d
�Ze�e�Gdd�de��Ze�e�Gd
d�de��Ze�ej�Gdd�de��Ze�ej�Gdd�de��Ze�ej�Gdd�de��ZdS)�)�absolute_import�division�print_function)�utils)�InvalidSignature)�_calculate_digest_and_algorithm�_check_not_prehashed�_warn_sign_verify_deprecated)�hashes�
serialization)�AsymmetricSignatureContext�AsymmetricVerificationContext�dsacCsx|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_bufZbuflen�res�r�J/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/dsa.py�
_dsa_sig_signs�rcCs8|j�d|t|�|t|�|j�}|dkr4|��t�dS)Nrr)rZ
DSA_verifyrrZ_consume_errorsr)r�
public_key�	signaturerrrrr�_dsa_sig_verify#s�r c@s$eZdZdd�Zdd�Zdd�ZdS)�_DSAVerificationContextcCs.||_||_||_||_t�|j|j�|_dS�N)�_backend�_public_key�
_signature�
_algorithmr
�Hash�	_hash_ctx)�selfrrr�	algorithmrrr�__init__1s
z _DSAVerificationContext.__init__cCs|j�|�dSr"�r(�update�r)rrrrr-9sz_DSAVerificationContext.updatecCs"|j��}t|j|j|j|�dSr")r(�finalizer r#r$r%)r)Zdata_to_verifyrrr�verify<s
�z_DSAVerificationContext.verifyN)�__name__�
__module__�__qualname__r+r-r0rrrrr!/sr!c@s$eZdZdd�Zdd�Zdd�ZdS)�_DSASignatureContextcCs(||_||_||_t�|j|j�|_dSr")r#�_private_keyr&r
r'r()r)rrr*rrrr+Fsz_DSASignatureContext.__init__cCs|j�|�dSr"r,r.rrrr-Lsz_DSASignatureContext.updatecCs|j��}t|j|j|�Sr")r(r/rr#r5)r)Zdata_to_signrrrr/Os
z_DSASignatureContext.finalizeN)r1r2r3r+r-r/rrrrr4Dsr4c@s$eZdZdd�Zdd�Zdd�ZdS)�_DSAParameterscCs||_||_dSr")r#r)r)r�	dsa_cdatarrrr+Vsz_DSAParameters.__init__cCs�|jj�d�}|jj�d�}|jj�d�}|jj�|j|||�|j�|d|jjjk�|j�|d|jjjk�|j�|d|jjjk�tj	|j�
|d�|j�
|d�|j�
|d�d�S)N�	BIGNUM **r��p�q�g)r#rrr�DSA_get0_pqgrr�NULLr�DSAParameterNumbers�
_bn_to_int)r)r:r;r<rrr�parameter_numbersZs�z _DSAParameters.parameter_numberscCs|j�|�Sr")r#Zgenerate_dsa_private_key)r)rrr�generate_private_keyhsz#_DSAParameters.generate_private_keyN)r1r2r3r+rArBrrrrr6Tsr6c@sNeZdZdd�Ze�d�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�ZdS)�_DSAPrivateKeycCsp||_||_||_|jj�d�}|jj�|||jjj|jjj�|j�|d|jjk�|jj�	|d�|_
dS�Nr8r�r#r�	_evp_pkeyrrrr=r>rZBN_num_bits�	_key_size�r)rr7�evp_pkeyr:rrrr+ns�z_DSAPrivateKey.__init__rGcCst�t|�t|j||�Sr")r	rr4r#)r)�signature_algorithmrrr�signer|sz_DSAPrivateKey.signerc	CsR|jj�d�}|jj�d�}|jj�d�}|jj�d�}|jj�d�}|jj�|j|||�|j�|d|jjjk�|j�|d|jjjk�|j�|d|jjjk�|jj�|j||�|j�|d|jjjk�|j�|d|jjjk�t	j
t	jt	j|j�
|d�|j�
|d�|j�
|d�d�|j�
|d�d�|j�
|d�d�S)Nr8rr9�rA�y)�public_numbers�x)r#rrrr=rrr>�DSA_get0_keyrZDSAPrivateNumbers�DSAPublicNumbersr?r@)r)r:r;r<�pub_keyZpriv_keyrrr�private_numbers�s.���z_DSAPrivateKey.private_numberscCs�|jj�|j�}|j�||jjjk�|jj�||jjj�}|jj�	d�}|jj�
|j||jjj�|j�|d|jjjk�|jj�|d�}|jj�|||jjj�}|j�|dk�|j�
|�}t|j||�S)Nr8rr)r#r�
DSAparams_duprrrr>�gc�DSA_freerrPZBN_dupZDSA_set0_keyZ_dsa_cdata_to_evp_pkey�
_DSAPublicKey)r)r7rRZpub_key_duprrIrrrr�s,���z_DSAPrivateKey.public_keycCsH|jj�|j�}|j�||jjjk�|jj�||jjj�}t	|j|�Sr")
r#rrTrrrr>rUrVr6�r)r7rrr�
parameters�s�z_DSAPrivateKey.parameterscCs|j�||||j|j�Sr")r#Z_private_key_bytesrFr)r)�encoding�formatZencryption_algorithmrrr�
private_bytes�s�z_DSAPrivateKey.private_bytescCs t|j||�\}}t|j||�Sr")rr#r)r)rr*rrr�sign�s�z_DSAPrivateKey.signN)
r1r2r3r+r�read_only_property�key_sizerKrSrrYr\r]rrrrrCls
	rCc@sFeZdZdd�Ze�d�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�ZdS)rWcCsp||_||_||_|jj�d�}|jj�|||jjj|jjj�|j�|d|jjk�|jj�	|d�|_
dSrDrErHrrrr+�s�z_DSAPublicKey.__init__rGcCs*t�t�d|�t|�t|j|||�S)Nr)r	r�_check_bytesrr!r#)r)rrJrrr�verifier�s�z_DSAPublicKey.verifiercCs|jj�d�}|jj�d�}|jj�d�}|jj�d�}|jj�|j|||�|j�|d|jjjk�|j�|d|jjjk�|j�|d|jjjk�|jj�|j||jjj�|j�|d|jjjk�t	j
t	j|j�|d�|j�|d�|j�|d�d�|j�|d�d�S)Nr8rr9rL)
r#rrrr=rrr>rPrrQr?r@)r)r:r;r<rRrrrrN�s,���z_DSAPublicKey.public_numberscCs2|jj�|j�}|jj�||jjj�}t|j|�Sr")r#rrTrrrUrVr6rXrrrrY�s�z_DSAPublicKey.parameterscCs*|tjjkrtd��|j�||||jd�S)Nz2DSA public keys do not support PKCS1 serialization)rZPublicFormatZPKCS1�
ValueErrorr#Z_public_key_bytesrF)r)rZr[rrr�public_bytes�s��z_DSAPublicKey.public_bytescCs"t|j||�\}}t|j|||�Sr")rr#r )r)rrr*rrrr0s�z_DSAPublicKey.verifyN)r1r2r3r+rr^r_rarNrYrcr0rrrrrW�s
	rWN)Z
__future__rrrZcryptographyrZcryptography.exceptionsrZ*cryptography.hazmat.backends.openssl.utilsrrr	Zcryptography.hazmat.primitivesr
rZ)cryptography.hazmat.primitives.asymmetricrr
rrr Zregister_interface�objectr!r4ZDSAParametersWithNumbersr6ZDSAPrivateKeyWithSerializationrCZDSAPublicKeyWithSerializationrWrrrr�<module>s"

X