✏️ 正在编辑: utils.cpython-312.pyc
路径:
/var/opt/nydus/ops/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-312.pyc
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
� ��'j/ � �� � d dl Z d dlmZ d dlmZ e j rd dlmZ dddefd�Z d ed e j eej f de j eej f fd�Z y)� N)�hashes)� Prehashed)�Backend�backendr �returnc �� � | j j || j j � }| j || j j k7 � | j j || j j � }| j j |� }| j |dk( � | j j ||j � }|dk7 r| j � }t d|� �| 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� zError computing shared key.zsize_t *r zunsigned char[])�_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�_consume_errors_with_text� ValueError�new�EVP_PKEY_derive�buffer)r �evp_pkey�peer_public_key�ctx�res�errors_with_text�keylen�bufs �[/opt/nydus/tmp/pip-target-k0fmikie/lib/python/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�$� �,�,� /� /��_�5N�5N� O�C� �a�x�"�<�<�>���6�8H�I�I� �\�\� � �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�8H�I�I��<�<���s�F�1�I�.�q�1�1� �data� algorithmc � � 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 )r# r$ �hash_ctxs r �_calculate_digest_and_algorithmr. &