%PDF- %PDF-
| Direktori : /usr/lib/python3/dist-packages/paramiko/__pycache__/ |
| Current File : //usr/lib/python3/dist-packages/paramiko/__pycache__/pkey.cpython-312.pyc |
�
µ�f�q � � � d Z ddlZddlmZ ddlZddlmZ ddlZddlZddl Z ddl
mZ ddlm
Z
ddlmZmZmZ ddlmZ dd lmZ dd
lmZmZmZmZmZ ddlmZmZ ddlm Z d
Z!d� Z" G d� de#� Z$ G d� de#� Z%y)z!
Common API for all public keys.
� N)� unhexlify)�md5)�default_backend)�
serialization)�
algorithms�modes�Cipher)�util)�o600)�u�b�encodebytes�decodebytes�string_types)�SSHException�PasswordRequiredException)�Messages openssh-key-v1 c � � | d }d|cxk rdk r| S |dkD rt d� �t |� D ] }| ||z
|dz k7 s�t d� � | d | S )N���� � � zInvalid key� )r �range)�data�padding_length�is �//usr/lib/python3/dist-packages/paramiko/pkey.py�_unpad_opensshr . s~ � � �"�X�N��~�$��$��� %�����=�)�)�
�>�
"� .����N�"�#�q�1�u�,��}�-�-�.� � �.��!�!� c �� � e Zd ZdZej
ddej d�ej
ddej d�ej ddej d�d�Z dZ
d Z ej d
� Z ej d� Zd)d
�Zd� Zd� Zd� Zd� Zd� Zed� � Zd� Zd� Zd� Zd� Zd� Zd*d�Zd� Zed*d�� Z ed*d�� Z!d*d�Z"d*d�Z#d*d�Z$d*d �Z%d!� Z&d"� Z'd#� Z(d$� Z)d*d%�Z*d*d&�Z+d'� Z,d(� Z-y)+�PKeyz%
Base class for public keys.
� )�cipher�keysize� blocksize�moder � � )zAES-128-CBCzAES-256-CBCzDES-EDE3-CBCr � z3^-{5}BEGIN (RSA|DSA|EC|OPENSSH) PRIVATE KEY-{5}\s*$z1^-{5}END (RSA|DSA|EC|OPENSSH) PRIVATE KEY-{5}\s*$Nc � � y)a[
Create a new instance of this public key type. If ``msg`` is given,
the key's public part(s) will be filled in from the message. If
``data`` is given, the key's public part(s) will be filled in from
the string.
:param .Message msg:
an optional SSH `.Message` containing a public key of this type.
:param str data: an optional string containing a public key
of this type
:raises: `.SSHException` --
if a key cannot be created from the ``data`` or ``msg`` given, or
no key was passed in.
N� )�self�msgr s r �__init__z
PKey.__init__^ s � �
r c � � t � S )z�
Return a string of an SSH `.Message` made up of the public part(s) of
this key. This string is suitable for passing to `__init__` to
re-create the key object later.
��bytes�r- s r �asbyteszPKey.asbytesp s � � �w�r c �"