ruạṛ
a L��f� � @ sp d dl Z d dlmZ d dlmZ e jr2d dlmZ ded�dd�Z ee j eejf e jeejf d �d d�Z dS )� N)�hashes)� Prehashed)�Backendr )�backend�returnc C s | j �|| jj�}| �|| jjk� | j�|| j j�}| j �|�}| �|dk� | j �||j �}| �|dk� | j� d�}| j �|| jj|�}| �|dk� | �|d dk� | j� d|d �}| j �|||�}|dkr�| �� }t d|��| j�||d �d d � S )N� zsize_t *r zunsigned char[]zError computing shared key.)�_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�_consume_errors_with_text� ValueError�buffer)r �evp_pkey�peer_public_key�ctx�res�keylen�buf�errors_with_text� r ��/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/utils.py�_evp_pkey_derive s"