HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-310.pyc
o

�)%a��@sPddlZddlmZddlmZddlmZdd�Zdd�Zd	d
�Z	dd�Z
dS)
�N)�utils)�hashes)�	PrehashedcCs�|j�||jj�}|�||jjk�|j�||jj�}|j�|�}|�|dk�|j�||j	�}|�|dk�|j�
d�}|j�||jj|�}|�|dk�|�|ddk�|j�
d|d�}|j�|||�}|dkrptd��|j�
||d�dd�S)N�zsize_t *rzunsigned char[]z1Null shared key derived from public/private pair.)�_lib�EVP_PKEY_CTX_new�_ffi�NULL�openssl_assert�gc�EVP_PKEY_CTX_free�EVP_PKEY_derive_init�EVP_PKEY_derive_set_peer�	_evp_pkey�new�EVP_PKEY_derive�
ValueError�buffer)�backend�evp_pkey�peer_public_key�ctx�res�keylen�buf�r�L/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/utils.py�_evp_pkey_derive
s rcCsNt|t�st�||�}|�|�|��}n|j}t|�|jkr#t	d��||fS)NzNThe provided data must be the same length as the hash algorithm's digest size.)
�
isinstancerr�Hash�update�finalize�
_algorithm�len�digest_sizer)r�data�	algorithm�hash_ctxrrr�_calculate_digest_and_algorithm!s


�r(cCst|t�r	td��dS)Nz�Prehashed is only supported in the sign and verify methods. It cannot be used with signer, verifier or recover_data_from_signature.)rr�	TypeError)�signature_algorithmrrr�_check_not_prehashed2s

��r+cCstjdtjdd�dS)NzMsigner and verifier have been deprecated. Please use sign and verify instead.�)�
stacklevel)�warnings�warnr�PersistentlyDeprecated2017rrrr�_warn_sign_verify_deprecated;s

�r1)r.�cryptographyr�cryptography.hazmat.primitivesr�/cryptography.hazmat.primitives.asymmetric.utilsrrr(r+r1rrrr�<module>s