File: //lib/python3.6/site-packages/ipapython/__pycache__/ssh.cpython-36.pyc
3
�d[e9 � @ sr d Z ddlZddlZddlZddlmZ ddlmZ ddlZejrFe Z
dgZejd�Z
ejd�ZG dd� d�ZdS ) z
SSH utilities.
� N)�sha1)�sha256�SSHPublicKeyzj^[\t ]*(?P<keytype>[^\x00\n\r]+?) [\t ]*(?P<key>[^\x00\n\r]+?)(?:[\t ]+(?P<comment>[^\x00\n\r]*?)[\t ]*)?$z?(?P<name>[-0-9A-Za-z]+)(?:="(?P<value>(?:\\"|[^\x00\n\r"])*)")?c @ s� e Zd ZdZd$Zd%dd �Zd
d� Zdd
� Zdd� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zd d!� Zd"d#� ZdS )&r z
SSH public key object.
�_key�_keytype�_comment�_optionsN�utf-8c C s� t |t�r.|j| _|j| _|j| _|j| _d S t |ttf�sNtdt |�j
��t |t�rr|d d� dkrr|j|�}| j|�p�| j
|�p�| j|�}|s�td��|d k r�|| _|d k r�|| _d S )Nz)argument must be bytes or unicode, got %s� s znot a valid SSH public key)�
isinstancer r r r r �bytes�unicode� TypeError�type�__name__�decode�
_parse_raw�
_parse_base64�_parse_openssh�
ValueError)�self�key�comment�options�encodingZvalid� r �/usr/lib/python3.6/ssh.py�__init__1 s"