File: //proc/self/root/lib/python3/dist-packages/twisted/conch/test/__pycache__/test_keys.cpython-38.pyc
U
W[�� � @ s� d Z ddlmZmZ ddlmZ ed�Zedkr4dZed�ZerXerXddl m
Z
mZmZ ddl
Z
ddlZdd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ G dd� dej�ZG dd� dej�ZdS )z&
Tests for L{twisted.conch.ssh.keys}.
� )�absolute_import�division)�
requireModule�cryptographyNz Cannot run without cryptography.�pyasn1)�keys�common�sexpy)�keydata)� randbytes)�unittest)�long)�FilePathc @ s$ e Zd ZedkreZedkr dZdd� Zdd� Zdd� Z d d
� Z
dd� Zd
d� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Z d7d8� Z!d9d:� Z"d;d<� Z#d=d>� Z$d?d@� Z%dAdB� Z&dCdD� Z'dEdF� Z(dGdH� Z)dIdJ� Z*dKdL� Z+dMdN� Z,dOdP� Z-dQdR� Z.dSdT� Z/dUdV� Z0dWdX� Z1dYdZ� Z2d[d\� Z3d]d^� Z4d_d`� Z5dadb� Z6dcdd� Z7dedf� Z8dgdh� Z9didj� Z:dkdl� Z;dmdn� Z<dodp� Z=dqdr� Z>dsdt� Z?dudv� Z@dwdx� ZAdydz� ZBd{d|� ZCd}d~� ZDdd�� ZEd�d�� ZFdS )��KeyTestsNzCannot run without PyASN1c C sX t jjtjd tjd tjd tjd tjd tjd d�j| _t jjtjd tjd tjd tjd tjd
d�j| _ t jj
tjd
tjd tjd tjd
d�j| _t jj
tj
d
tj
d tj
d tj
d
d�j| _t jj
tjd
tjd tjd tjd
d�j| _d| _d| _| �tddd� � | �� | _t| jd��}|�tj� W 5 Q R X d S )N�n�e�d�p�q�u)r r r r r r �y�g�x)r r r r r �privateValue�curve)r r r r s ssh-rsa ~Y��W�pu@�1�S�O�E�/x��G3��U��������d���,'=Qg�x�j�I�ޯb�@�rΣzM1q5�{wjKN��C��i����}�RT�DJH�l�[�������|�^n���ъ�aY�B��Ǿ7�9j�.������9p�?�N��/)
>Aµj�UWԮ�B�t�y����fˆ�k���u�N�ɓY�.V�L44`CǦ6��Y���%� 4^�rY� �.�%H��A�s7 ssh-dss (?��;�TFA���E@4,d� ٮ�[�-�nQ�f���jrg�p<ZsecureRandomc S s d| S )N� �� )r r r �>/usr/lib/python3/dist-packages/twisted/conch/test/test_keys.py�<lambda>_ � z KeyTests.setUp.<locals>.<lambda>�wb)r �Key�_fromRSAComponentsr
�RSAData�
_keyObject�rsaObjZ_fromDSAComponents�DSAData�dsaObjZ_fromECComponents�ECDatanistp256�ecObjZECDatanistp384�ecObj384ZECDatanistp521�ecObj521�rsaSignature�dsaSignatureZpatchr �mktemp�keyFile�open�write�privateRSA_lsh)�self�fr r r �setUp) sR �
�
�
�
�
��
zKeyTests.setUpc C s t �| j� d S �N)�os�unlinkr/ �r3 r r r �tearDowne s zKeyTests.tearDownc C s| | � t�| j��� d� | � t�| j��� d� | � t�| j��� d� | � t�| j��� d� | � t�| j��� d� dS )zU
The L{keys.Key.size} method returns the size of key object in bits.
i � � i� i N) �assertEqualr r! r% �sizer'