|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/cppython/lib/python3.8/site-packages/paramiko/__pycache__/ |
U
P��gz � @ sx d Z ddlmZmZ ddlmZ ddlmZmZ ddl m
Z
mZ ddlm
Z
ddlmZ ddlmZ G d d
� d
e�ZdS )z
RSA keys.
� )�InvalidSignature�UnsupportedAlgorithm)�default_backend)�hashes�
serialization)�rsa�padding)�Message)�PKey)�SSHExceptionc @ s� e Zd ZdZdZejejejejejejd�Z d)dd�Z
edd� �Ze
d d
� �Ze
dd� �Zd
d� Zdd� Ze
dd� �Zdd� Zdd� Zdd� Zd*dd�Zdd� Zd+dd�Zd,dd �Zed-d!d"��Zd#d$� Zd%d&� Zd'd(� ZdS ).�RSAKeyzZ
Representation of an RSA key which can be used to sign and verify SSH2
data.
�ssh-rsa)r
�ssh-rsa-cert-v01@openssh.comzrsa-sha2-256z!rsa-sha2-256-cert-v01@openssh.comzrsa-sha2-512z!rsa-sha2-512-cert-v01@openssh.comNc C s� d | _ d | _|d k r$| �||� d S |d k r<| �||� d S |d krT|d k rTt|�}|d k rd|| _ n2| j|| jdd� tj|� � |� � d��
t� �| _ d S )Nr )�msgZkey_typeZ cert_type��e�n)�keyZpublic_blob�_from_private_key�_from_private_key_filer Z_check_type_and_load_cert�namer �RSAPublicNumbersZ get_mpint�
public_keyr )�selfr �data�filename�passwordr �file_obj� r �</opt/cppython/lib/python3.8/site-packages/paramiko/rsakey.py�__init__1 s. � ��zRSAKey.__init__c C s t | j�� �S �N)�list�HASHES�keys)�clsr r r �identifiersR s zRSAKey.identifiersc C s | j jS r! )r �key_size�r r r r �sizeV s zRSAKey.sizec C s( t | jtj�r| j�� jS | j�� S d S r! )�
isinstancer r �
RSAPrivateKeyZprivate_numbers�public_numbersr( r r r r, Z s zRSAKey.public_numbersc C s6 t � }|�| j� |�| jj� |�| jj� |�� S r! )r �
add_stringr Z add_mpintr, r r �asbytes)r �mr r r r. a s
zRSAKey.asbytesc C s | � � jddd�S )N�utf8�ignore)�errors)r. �decoder( r r r �__str__h s zRSAKey.__str__c C s | � � | jj| jjfS r! )�get_namer, r r r( r r r �_fieldsm s zRSAKey._fieldsc C s | j S r! )r r( r r r r5 q s zRSAKey.get_namec C s | j S r! )r) r( r r r �get_bitst s zRSAKey.get_bitsc C s t | jtj�S r! )r* r r r+ r( r r r �can_signw s zRSAKey.can_signc C sR |d kr| j }| jj|t�� | j| � d�}t� }|�|�dd�� |�|� |S )N)r � algorithmz-cert-v01@openssh.com� ) r r �signr �PKCS1v15r# r r- �replace)r r r9 �sigr/ r r r �
sign_ssh_dataz s
�
zRSAKey.sign_ssh_datac C s� |� � }|| jkrdS | j}t|tj�r0|�� }|�� }|jt |�d }|dkrfd|d d | }z |�
||t�� | j| � � W n t
k
r� Y dS X dS d S )NF� r � � T)Zget_textr# r r* r r+ r Z
get_binaryr'