Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/twisted/conch/scripts/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/twisted/conch/scripts/__pycache__/ckeygen.cpython-310.pyc
o

�b1-�	@svdZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
mZmZejejkrWzddlZejejfWneefyVdejd<ee�Ynwe�Zdd	�ZGd
d�dej�Zdd
�Zdd�Zdd�Zed�dd��Zed�dd��Z ed�dd��Z!ed�dd��Z"dd�Z#d d!�Z$d"d#�Z%d$d%�Z&d&e'd'e'fd(d)�Z(d*d+�Z)e*d,kr�e�dSdS)-z2
Implementation module for the `ckeygen` command.
�N)�wraps)�reload)�keys)�failure�filepath�log�usage�termioscs�fdd�}|S)Ncs t���fdd��}|t�<|S)Ncs�|i|��S)N�)�args�kwargs��keygeneratorr
�?/usr/lib/python3/dist-packages/twisted/conch/scripts/ckeygen.py�wrapper"sz:_keyGenerator.<locals>.assignkeygenerator.<locals>.wrapper)r�supportedKeyTypes)rr��keyTyper
r�assignkeygenerator!sz)_keyGenerator.<locals>.assignkeygeneratorr
)rrr
rr�
_keyGenerator src	@s�eZdZdZdZgd�gd�gd�gd�gd�gd�gd	�gd
�gZgd�gd�gd
�gd�gd�gZeje�	e
e����e�	ddg�d�d�Z
dS)�GeneralOptionszUsage:    ckeygen [options]
 z8ckeygen manipulates public/private keys in various ways.)�bits�bNz$Number of bits in the key to create.)�filename�fNzFilename of the key file.)�type�tNzSpecify type of key to create.)�comment�CNzProvide new comment.)�newpass�NNzProvide new passphrase.)�pass�PNzProvide old passphrase.)�format�o�
sha256-base64zFingerprint format of key file.)�private-key-subtypeNNz5OpenSSH private key subtype to write ("PEM" or "v1").)�fingerprint�lzShow fingerprint of key file.)�
changepass�pz&Change passphrase of private key file.)�quiet�qzQuiet.)�
no-passphraseNz"Create the key with no passphrase.)�showpub�yz+Read private key file and print public key.�PEM�v1)rr&)�
optActionsN)�__name__�
__module__�__qualname__�synopsis�longdesc�
optParameters�optFlagsr�Completions�CompleteList�listrr�compDatar
r
r
rr,s.���
�rc
Cs(t�}z|�tjdd��Wn"tjy1}ztd|�|��t�d�WYd}~nd}~wwt	�
�tt	_|drk|d�
�tvrYtd|d�t|d�
�|�dSt�d|dd�t���f�dS|drut|�dS|drt|�dS|d	r�t|�dS|��t�d�dS)
N�z	ERROR: %srz&Generating public/private %s key pair.z"Key type was %s, must be one of %sz, r'r)r.)r�parseOptions�sys�argvr�
UsageError�print�opt_help�exitr�discardLogs�handleError�deferr�lowerr�joinr�printFingerprint�changePassPhrase�displayPublicKey)�options�ur
r
r�runRs8����rPcCsL|ddkrtjj|d<|S|ddkrtjj|d<|St�d�|d���)Nr#zmd5-hexr%z"Unsupported fingerprint format: {})r�FingerprintFormats�MD5_HEX�
SHA256_BASE64�BadFingerPrintFormatr#)rNr
r
r�enumrepresentationps�rUcCsdat�t����)N�)�
exitStatusr�errr�Failurer
r
r
rrG}srG�rsacCsZddlm}ddlm}|dsd|d<|jt|d�d|�d�}t�|�}t||�dS)Nr��default_backend)rZr�i)�key_size�public_exponent�backend)	�cryptography.hazmat.backendsr\�)cryptography.hazmat.primitives.asymmetricrZ�generate_private_key�intr�Key�_saveKey)rNr\rZ�keyPrimitive�keyr
r
r�generateRSAkey�s
�
ri�dsacCsXddlm}ddlm}|dsd|d<|jt|d�|�d�}t�|�}t||�dS)Nrr[)rjrr])r^r`)	rar\rbrjrcrdrrerf)rNr\rjrgrhr
r
r�generateDSAkey�s
�
rk�ecdsacCslddlm}ddlm}|dsd|d<dt|d��d�}|jtj||�d�}t�	|�}t
||�dS)	Nrr[)�ecr�secdsa-sha2-nistp�ascii)�curver`)rar\rbrm�str�encodercr�_curveTablererf)rNr\rmrprgrhr
r
r�generateECDSAkey�s�
rt�ed25519cCs.ddlm}|j��}t�|�}t||�dS)Nr)ru)rbru�Ed25519PrivateKey�generaterrerf)rNrurgrhr
r
r�generateEd25519key�s

rxcCs|dkrdSdS)a
    Return a reasonable default private key subtype for a given key type.

    @type keyType: L{str}
    @param keyType: A key type, as returned by
        L{twisted.conch.ssh.keys.Key.type}.

    @rtype: L{str}
    @return: A private OpenSSH key subtype (C{'PEM'} or C{'v1'}).
    �Ed25519r1r0r
rr
r
r�_defaultPrivateKeySubtype�srzcCs�|dstj�d�}td|�|d<tj�|dd�r$|dd7<t|�}z!tj�|d�}t	d|�
�|�|d�tj�|d�f�WdStj
yYt�d�YdSw)Nr�
~/.ssh/id_rsa�%Enter file in which the key is (%s): �.pubz%s %s %sr#zbad key)�os�path�
expanduser�input�existsrUrre�fromFilerC�sizer'�basename�BadKeyErrorr@rE)rNrrhr
r
rrK�s&��
��rKc
CsT|dstj�d�}td|�|d<z
tj�|d�}Wnhtjyj|�d�s0t	�	d�|d<ztjj|d|dd�}Wn)tj
yMt�d�Yntjyg}zt�d|���WYd}~nd}~wwYntj
y�}zt�d|���WYd}~nd}~ww|�d	�s�	t	�	d�}t	�	d�}||kr�nt
d
�q�||d	<|�d�dur�t|���|d<z|jd|d|d	d�}Wnty�}zt�d|���WYd}~nd}~wwztjj||d	d�Wntjtj
f�y}zt�d|���WYd}~nd}~wwt|dd��
}|�|�Wd�n	1�swYt
d�dS)Nrr{r|r!zEnter old passphrase: ��
passphrasez1Could not change passphrase: old passphrase errorzCould not change passphrase: rr>z0Enter new passphrase (empty for no passphrase): �Enter same passphrase again: �%Passphrases do not match.  Try again.r&�openssh��subtyper��wbz;Your identification has been saved with the new passphrase.)r~rr�r�rrer��EncryptedKeyError�get�getpassr�r@rErCrzr�toString�	Exception�
fromString�open�write)rNrrh�e�p1�p2�
newkeydata�fdr
r
rrL�sh
�����


�
������rLcCs�|dstj�d�}td|�|d<z
tj�|d�}Wn"tjy>|�d�s0t	�	d�|d<tjj|d|dd�}Ynw|�
��d��d�}t
|�dS)	Nrr{r|r!zEnter passphrase: r�r�ro)r~rr�r�rrer�r�r�r��publicr��decoderC)rNrrh�
displayKeyr
r
rrMs
�rM�prompt�returncCst|�S)zv
    Ask the user where to save the key.

    This needs to be a separate function so the unit test can patch it.
    )r�)r�r
r
r�_inputSaveFile%sr�c
Cs�ddddd�}||��}|ds*tj�d|���}td|�d	��}|��p'||d<tj�|d�rKtd
�|d��t	d�}|d�
�d
krKt��|�
d�rUd|d<n|dsr	t�d�}t�d�}||krintd�qZ||d<|�
d�dur�t|���|d<t���dt����}	t�|d��|jd|d|dd��t�|dd�t�|dd��|��jd|	d��t|�}td�|d��td�|d��td�|d ��t|�|d ��dS)!z�
    Persist a SSH key on local filesystem.

    @param key: Key which is persisted on local filesystem.
    @type key: C{keys.Key} implementation.

    @param options:
    @type options: L{dict}
    rlrurZrj)�ECry�RSA�DSArz
~/.ssh/id_z%Enter file in which to save the key (z): z{} already exists.zOverwrite (y/n)? rr/r-�r!r>z,Enter passphrase (empty for no passphrase): r�r�r&N�@r�r�i��r})rz(Your identification has been saved in {}z(Your public key has been saved in {}.pubzThe key fingerprint in {} is:r#)rr~rr�r��stripr�rCr#r�rIr@rEr�r�rz�getuser�socket�gethostnamer�FilePath�
setContentr��chmodr�rUr')
rhrN�KeyTypeMapping�keyTypeName�defaultPath�newPath�ynr�r�rr
r
rrf.sV

�



����rf�__main__)+�__doc__r�r~r�r@�	functoolsr�impr�twisted.conch.sshr�twisted.pythonrrrr�unix_getpassr	�	tcgetattr�	tcsetattr�ImportError�AttributeError�modules�dictrr�OptionsrrPrUrGrirkrtrxrzrKrLrMrqr�rfr3r
r
r
r�<module>sP
�&




3	>
�

Spamworldpro Mini