Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/paramiko/__pycache__/kex_ecdh_nist.cpython-39.pyc
Ðазад
a s�h� � @ s� d Z ddlmZmZmZ ddlmZ ddlmZ ddl m Z ddlmZ ddl mZ ddlmZ dd lmZ ed d�\ZZdd � ed d�D �\ZZG dd� d�ZG dd� de�ZG dd� de�ZdS )zQ Ephemeral Elliptic Curve Diffie-Hellman (ECDH) key exchange RFC 5656, Section 4 � )�sha256�sha384�sha512��byte_chr)�Message)�SSHException)�default_backend)�ec)� serialization)�hexlify� � c C s g | ]}t |��qS � r )�.0�cr r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/paramiko/kex_ecdh_nist.py� <listcomp> � r c @ sL e Zd ZdZeZe�� Zdd� Z dd� Z dd� Zdd � Zd d� Z dd � ZdS )�KexNistp256zecdh-sha2-nistp256c C s || _ d| _d | _d | _d S )Nr )� transport�P�Q_C�Q_S)�selfr r r r �__init__ s zKexNistp256.__init__c C sh | � � | jjr | j�t� d S t� }|�t� |�| j � tjj tjj�� | j�|� | j�t� d S �N)�_generate_key_pairr �server_modeZ_expect_packet�_MSG_KEXECDH_INITr �add_byte�c_MSG_KEXECDH_INIT� add_stringr �public_bytesr �Encoding�X962�PublicFormat�UncompressedPoint� _send_message�_MSG_KEXECDH_REPLY)r �mr r r � start_kex s ��zKexNistp256.start_kexc C sF | j jr|tkr| �|�S | j js4|tkr4| �|�S td�|���d S )Nz(KexECDH asked to handle packet type {:d})r r r �_parse_kexecdh_initr) �_parse_kexecdh_replyr �format)r �ptyper* r r r � parse_next1 s �zKexNistp256.parse_nextc C s: t �| jt� �| _| jjr*| j�� | _d S | j�� | _ d S r ) r Zgenerate_private_key�curver r r r Z public_keyr r )r r r r r : s zKexNistp256._generate_key_pairc C s> |� � }tj�| j|�| _| j�� �� }| j � t�� | j�}tt |�d�}t� }|�| jj| jj| jj| jj� |�|� |�|� |�| j�tjjtjj�� |�t|�� | �|�� ��� }| j�||� | j�� � || jj!�}t� }|�"t#� |�|� |�| j�tjjtjj�� |�|� | j�$|� | j�%� d S �N� )&� get_stringr �EllipticCurvePublicKey�from_encoded_pointr1 r r Zget_server_key�asbytesr �exchange�ECDH�intr r �add�remote_version� local_version�remote_kex_init�local_kex_initr"