%PDF- %PDF-
Direktori : /lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/ |
Current File : //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-312.pyc |
� �3Tf� � �p � d dl mZ d dlZd dlmZ d dlmZ ej rd dlm Z dd�Z d d�Zy) � )�annotationsN)�hashes)� Prehashed)�Backendc �L � | j j || j j � }| j || j j k7 � | j j || j j � }| j j |� }| j |dk( � | j j r(| j j ||j d� }n&| j j ||j � }| j |dk( � | j j d� }| j j || j j |� }| j |dk( � | j |d dkD � | j j d|d � }| j j |||� }|dk7 r| j � }t d|� �| j j! ||d � d d S )N� r zsize_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 � s7t j |� }|j | � |j � } n|j }t | � |j k7 rt d� �| |fS )NzNThe provided data must be the same length as the hash algorithm's digest size.) � isinstancer r �Hash�update�finalize� _algorithm�len�digest_sizer )�data� algorithm�hash_ctxs r"