관리-도구
편집 파일: openssh.cpython-39.opt-1.pyc
a ٠�g}. � @ st d dl Z d dlZd dlZd dlmZ ddlmZ G dd� de�ZG dd� de�ZG d d � d e�Z dd� Z d d� ZdS )� N)�mkstemp� )�ConfigGeneratorc @ s� e Zd Zdddddddddddddd d ddddddd�Zd dddddd�Zddddddd�Zddddddd d!d"d#d$� Zd%d&d'�Zd(d)d*d+d,d-d.d/�Zd0d1d2d3d4d5d6d7d8d9d:� Z d;d<d=d>d?d@dAdBdCdDd:� Z edEdF� �ZdGS )H�OpenSSHGeneratorzaes256-gcm@openssh.comz aes256-ctr� z aes192-ctrzaes128-gcm@openssh.comz aes128-ctrzchacha20-poly1305@openssh.comz aes256-cbcz aes192-cbcz aes128-cbcz3des-cbc)zAES-256-GCMzAES-256-CTRzAES-192-GCMzAES-192-CTRzAES-128-GCMzAES-128-CTRzCHACHA20-POLY1305zCAMELLIA-256-GCMzAES-256-CCMzAES-192-CCMzAES-128-CCMzCAMELLIA-128-GCMzAES-256-CBCzAES-192-CBCzAES-128-CBCzCAMELLIA-256-CBCzCAMELLIA-128-CBCzRC4-128zDES-CBCzCAMELLIA-128-CTSz3DES-CBCzhmac-md5-etm@openssh.comzumac-64-etm@openssh.comzumac-128-etm@openssh.comzhmac-sha1-etm@openssh.comzhmac-sha2-256-etm@openssh.comzhmac-sha2-512-etm@openssh.com)zHMAC-MD5zUMAC-64zUMAC-128z HMAC-SHA1z HMAC-SHA2-256z HMAC-SHA2-512zhmac-md5zumac-64@openssh.comzumac-128@openssh.comz hmac-sha1z hmac-sha2-256z hmac-sha2-512zecdh-sha2-nistp521zecdh-sha2-nistp384zecdh-sha2-nistp256z.curve25519-sha256,curve25519-sha256@libssh.orgzdiffie-hellman-group1-sha1zdiffie-hellman-group14-sha1zdiffie-hellman-group14-sha256zdiffie-hellman-group16-sha512zdiffie-hellman-group18-sha512z"sntrup761x25519-sha512@openssh.com) zECDHE-SECP521R1-SHA2-512zECDHE-SECP384R1-SHA2-384zECDHE-SECP256R1-SHA2-256zECDHE-X25519-SHA2-256zDHE-FFDHE-1024-SHA1zDHE-FFDHE-2048-SHA1zDHE-FFDHE-2048-SHA2-256zDHE-FFDHE-4096-SHA2-512zDHE-FFDHE-8192-SHA2-512zSNTRUP-X25519-SHA2-512z"diffie-hellman-group-exchange-sha1z$diffie-hellman-group-exchange-sha256)zDHE-SHA1zDHE-SHA2-256z gss-gex-sha1-zgss-group1-sha1-zgss-group14-sha1-zgss-group14-sha256-zgss-nistp256-sha256-zgss-curve25519-sha256-zgss-group16-sha512-)zDHE-GSS-SHA1zDHE-GSS-FFDHE-1024-SHA1zDHE-GSS-FFDHE-2048-SHA1zDHE-GSS-FFDHE-2048-SHA2-256zECDHE-GSS-SECP256R1-SHA2-256zECDHE-GSS-X25519-SHA2-256zDHE-GSS-FFDHE-4096-SHA2-512zssh-rsazssh-dsszrsa-sha2-256zrsa-sha2-512zecdsa-sha2-nistp256z"sk-ecdsa-sha2-nistp256@openssh.comzecdsa-sha2-nistp384zecdsa-sha2-nistp521zssh-ed25519zsk-ssh-ed25519@openssh.com) zRSA-SHA1zDSA-SHA1zRSA-SHA2-256zRSA-SHA2-512zECDSA-SHA2-256zECDSA-SHA2-256-FIDOzECDSA-SHA2-384zECDSA-SHA2-512z EDDSA-ED25519zEDDSA-ED25519-FIDOzssh-rsa-cert-v01@openssh.comzssh-dss-cert-v01@openssh.comz!rsa-sha2-256-cert-v01@openssh.comz!rsa-sha2-512-cert-v01@openssh.comz(ecdsa-sha2-nistp256-cert-v01@openssh.comz+sk-ecdsa-sha2-nistp256-cert-v01@openssh.comz(ecdsa-sha2-nistp384-cert-v01@openssh.comz(ecdsa-sha2-nistp521-cert-v01@openssh.comz ssh-ed25519-cert-v01@openssh.comz#sk-ssh-ed25519-cert-v01@openssh.comc C s� |j }d}d}d}|d D ]0} z| �|| j| |�}W q tyH Y q0 q|r`|d|� d�7 }d}|jd dkr�|d D ]0} z| �|| j| |�}W qz ty� Y qz0 qz|jd d kr�|d D ]0} z| �|| j| |�}W q� ty� Y q�0 q�|�r |d |� d�7 }d}d} |d D �]&}|d D �]}|jd �r�z$| j|d | } | �|| |�}W n t�yr Y n0 z"||d | } | �| | |�} W n t�y� Y n0 |d D ]�}z*||d | d | } | �|| |�}W n t�y� Y n0 z*||d | d | } | �| | |�} W n t�y6 Y n0 �q��q(�q| �r\|d| � d�7 }n|d7 }|�rz|d|� d�7 }d}|d D ]n} z| �|| j | |�}W n t�y� Y n0 |jd �r�z| �|| j | |�}W n t�y� Y n0 �q�|�r"|�r|d|� d�7 }|d|� d�7 }d}|d D ]4} z| �|| j | |�}W n t�y^ Y n0 �q.|�rz|d|� d�7 }|jd dk�r�t� }|d u�r�||� d|jd � d�7 }|S )Nr �,ZcipherzCiphers � ZetmZDISABLE_ETMZmacZDISABLE_NON_ETMzMACs Zkey_exchange�hashZarbitrary_dh_groups�-�groupzGSSAPIKexAlgorithms zGSSAPIKeyExchange no zKexAlgorithms �signZ ssh_certszHostKeyAlgorithms zPubkeyAcceptedAlgorithms zCASignatureAlgorithms Zmin_rsa_sizer � )Zenabled�append� cipher_map�KeyErrorZenums�mac_map_etm�mac_mapZintegers�gx_map�sign_map�sign_map_certs�_min_rsa_size_option)�cls�policy�local_kx_map�local_gss_kx_map�do_host_key�pZcfg�sep�s�iZgssZkx�h�val�gZmin_rsa_optname� r# �=/usr/share/crypto-policies/python/policygenerators/openssh.py�generate_optionsr s� z!OpenSSHGenerator.generate_optionsN) �__name__� __module__�__qualname__r r r �kx_mapr � gss_kx_mapr r �classmethodr% r# r# r# r$ r s� �� � ����� r c @ s0 e Zd ZdZh d�Zedd� �Zedd� �ZdS )�OpenSSHClientGenerator�openssh> zopenssh-client�sshr- c C s&