File: //usr/local/CyberPanel/lib/python3.10/site-packages/asyncssh/__pycache__/auth_keys.cpython-310.pyc
o
�h6. � @ s d Z ddlmZmZmZmZmZ ddlmZmZm Z m
Z
zddlmZm
Z
dZW n ey3 dZY nw ddlmZmZ dd lmZmZ dd
lmZmZ ddlmZmZ ddlmZmZ dd
lmZ eeef Z G dd� d�Z!G dd� d�Z"dede"fdd�Z#de eee f de"fdd�Z$dS )z$Parser for SSH authorized_keys files� )�Dict�List�Mapping�Optional�Sequence)�Set�Tuple�Union�cast� )�X509Name�X509NamePatternTF)�
ip_address� read_file)�HostPatternList�WildcardPatternList)�KeyImportError�SSHKey)�SSHX509Certificate�SSHX509CertificateChain)�import_public_key�import_certificate)�import_certificate_subjectc @ s e Zd ZdZdefdd�Zdeddfdd�Zd ed
eddfdd�Zd ed
eddfd
d�Zd ed
eddfdd�Z d ed
eddfdd�Z
d ed
eddfdd�Zd ed
eddfdd�Zeee e
eed�Z
d#dd�Zdedefdd�Z d$dededeee ded def
d!d"�ZdS )%�_SSHAuthorizedKeyEntryz'An entry in an SSH authorized_keys list�linec C sN d | _ d | _i | _z| �|� W d S ty Y nw | �|�}| �|� d S �N)�key�cert�options�_import_key_or_certr �_parse_options��selfr � r# �H/usr/local/CyberPanel/lib/python3.10/site-packages/asyncssh/auth_keys.py�__init__. s
�
z_SSHAuthorizedKeyEntry.__init__�returnNc C s� zt |�| _W dS ty Y nw zttt|��| _d| jv r,| jj| jj kr,t
d��W dS ty7 Y nw d| jvr[zd| _d| _| �dt|�� W dS tyZ Y td��w td��)z'Import key or certificate in this entryN�cert-authorityz?X.509 cert-authority entries must contain a root CA certificate�subjectz)Unrecognized key, certificate, or subject)
r r r r
r r r r r( �issuer�
ValueError�_add_subjectr r! r# r# r$ r <