Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/paramiko/__pycache__/ed25519key.cpython-39.pyc
Ðазад
a s�h! � @ sx d dl Z d dlmZ d dlmZ d dlZd dlmZ d dl m Z mZmZ d dl mZ d dlmZmZ G dd � d e �ZdS ) � N)�default_backend)�Cipher)�Message)�PKey�OPENSSH_AUTH_MAGIC�_unpad_openssh)�b)�SSHException�PasswordRequiredExceptionc @ sd e Zd ZdZdZddd�Zdd� Zdd � Zed d� �Z dd � Z dd� Zdd� Zddd�Z dd� ZdS )� Ed25519Keya Representation of an `Ed25519 <https://ed25519.cr.yp.to/>`_ key. .. note:: Ed25519 key support was added to OpenSSH in version 6.5. .. versionadded:: 2.2 .. versionchanged:: 2.3 Added a ``file_obj`` parameter to match other key classes. zssh-ed25519Nc C s� d | _ d }}|d u r&|d ur&t|�}|d urR| j|| jdd� tj�|�� �}n\|d ur�t|d�� }| � d|�\} }W d � q�1 s�0 Y n|d ur�| � d|�\} }|s�|r�| � ||�}|d u r�|d u r�td��|| _|| _ d S )Nz ssh-ed25519-cert-v01@openssh.com)�msgZkey_typeZ cert_type�rZOPENSSHz need a key)Zpublic_blobr Z_check_type_and_load_cert�name�nacl�signingZ VerifyKey� get_binary�openZ_read_private_key�_parse_signing_key_data� ValueError�_signing_key�_verifying_key) �selfr �data�filename�passwordZfile_objZ verifying_key�signing_key�fZpkformat� r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/paramiko/ed25519key.py�__init__, s, �0zEd25519Key.__init__c C st ddl m} t|�}|�tt��tkr.td��|�� }|�� }|�� }|� � }|dkrl|sb|dkr�td��n6|dkr�|s�t d��t|�} | �� } | � � }ntd��|dkr�||jvr�td��g }t|�D ]4} t|�� �}|�� | j kr�td��|�|�� � q�|�� }|dk�r|}n||j| }tjt|�| |d |d |d d �}t|d |d |d � �|d ||d d � �t� d ��� }|�|�|�� }tt|��}|� � |� � k�r�td��g }t|�D ]�}|�� | j k�r�td��|�� }|�� }tj�|d d� �}|j�� | k�r:|| k�r:|dd � k�s@n J �|�|� |�� �q�t|�dk�rltd��|d S )Nr )� TransportzInvalid key�none�bcryptzPrivate key file is encryptedzkey-sizez block-sizeT)r �saltZdesired_key_bytes�roundsZignore_few_rounds�class�mode)�backend� � )Zparamiko.transportr r � get_bytes�lenr r �get_textr Zget_intr Z_cipher_info�ranger �appendr"