10 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
__init__.cpython-39.opt-1.pyc — 891 B
2025-09-18 08:51 · rw-r--r--
891 B 2025-09-18 08:51 rw-r--r--
__init__.cpython-39.pyc — 891 B
2025-09-18 08:51 · rw-r--r--
891 B 2025-09-18 08:51 rw-r--r--
base.cpython-39.opt-1.pyc — 1.58 KB
2025-09-18 08:51 · rw-r--r--
1.58 KB 2025-09-18 08:51 rw-r--r--
base.cpython-39.pyc — 1.58 KB
2025-09-18 08:51 · rw-r--r--
1.58 KB 2025-09-18 08:51 rw-r--r--
pkcs12.cpython-39.opt-1.pyc — 6.18 KB
2025-09-18 08:51 · rw-r--r--
6.18 KB 2025-09-18 08:51 rw-r--r--
pkcs12.cpython-39.pyc — 6.18 KB
2025-09-18 08:51 · rw-r--r--
6.18 KB 2025-09-18 08:51 rw-r--r--
pkcs7.cpython-39.opt-1.pyc — 4.28 KB
2025-09-18 08:51 · rw-r--r--
4.28 KB 2025-09-18 08:51 rw-r--r--
pkcs7.cpython-39.pyc — 4.28 KB
2025-09-18 08:51 · rw-r--r--
4.28 KB 2025-09-18 08:51 rw-r--r--
ssh.cpython-39.opt-1.pyc — 18.45 KB
2025-09-18 08:51 · rw-r--r--
18.45 KB 2025-09-18 08:51 rw-r--r--
ssh.cpython-39.pyc — 18.45 KB
2025-09-18 08:51 · rw-r--r--
18.45 KB 2025-09-18 08:51 rw-r--r--
ONLINE
__pycache__
10 items
20:51:16
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
a aU@sddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z mZmZmZddlmZmZmZddlmZmZmZmZzddlmZd ZWn0eyd ZdVeee e e!ed d d ZYn0dZ"dZ#dZ$dZ%dZ&dZ'dZ(e)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2e)e,de-ej3Z4e5e6e7dd Z8ej9d!ej:dfej9d!ej;dfd"Zd$Z?e>d%Z@d&d'ZAe,d(e-d(fd)d*ZBd+d,ZCd-d.ZDd/d0ZEd1d2ZFd3d4ZGd5d6ZHd7d8ZId9d:ZJGd;d<dd>eKZMGd?d@d@eKZNGdAdBdBeKZOGdCdDdDeKZPe#eMe$eNe"ePe%eOdEeQe&eOdFeRe'eOdGeSiZTdHdIZUejVejWejXe jYejZfZ[dWeej\eej]e[dJdKdLZ^dXe[ej\eedMdNdOZ_ejVej`ejae jbejcfZddYeej]eddPdQdRZeededSdTdUZfdS)ZN) encodebytes)utilsUnsupportedAlgorithm)dsaeced25519rsa)Cipher algorithmsmodes)Encoding NoEncryption PrivateFormat PublicFormat)kdfTF)passwordsaltdesired_key_bytesroundsignore_few_roundsreturncCs tddS)NzNeed bcrypt moduler)rrrrrrV/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/serialization/ssh.py _bcrypt_kdfsrs ssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521s-cert-v01@openssh.coms\A(\S+)[ \t]+(\S+)sopenssh-key-v1s#-----BEGIN OPENSSH PRIVATE KEY-----s!-----END OPENSSH PRIVATE KEY-----sbcryptsnone aes256-ctrHs(.*?) )rs aes256-cbc)Z secp256r1Z secp384r1Z secp521r1s>Is>QcCs(|j}|jtvrtd|jt|jS)z3Return SSH key_type and curve_name for private key.z)Unsupported curve for ssh private key: %r)curvename_ECDSA_KEY_TYPE ValueError) public_keyr!rrr_ecdsa_key_typeRs  r& cCsd|t||gS)N)join_base64_encode)dataprefixsuffixrrr_ssh_pem_encode\sr.cCs |rt||dkrtddS)zRequire data to be full blocksrzCorrupt data: missing paddingN)lenr$)r+Z block_lenrrr_check_block_size`sr0cCs|r tddS)z!All data should have been parsed.zCorrupt data: unparsed dataN)r$r+rrr _check_emptyfsr2c CsR|s tdt|\}}}}t|||||d}t||d||||dS)z$Generate key + iv and return cipher.zKey is password-protected.TN)r$ _SSH_CIPHERSrr ) ciphernamerrrZalgoZkey_lenmodeZiv_lenZseedrrr _init_cipherls r6cCs6t|dkrtdt|ddd|ddfS)ZUint32 Invalid dataNr)r/r$_U32unpackr1rrr_get_u32vs r;cCs6t|dkrtdt|ddd|ddfS)ZUint64r8Nr)r/r$_U64r:r1rrr_get_u64}s r>cCs8t|\}}|t|kr td|d|||dfS)zBytes with u32 length prefixr8N)r;r/r$)r+nrrr _get_sshstrs  r@cCs4t|\}}|r$|ddkr$tdt|d|fS)z Big integer.rr8big)r@r$int from_bytes)r+valrrr _get_mpints rFcCs4|dkrtd|sdS|dd}t||S)z!Storage format for signed bigint.rznegative mpint not allowedr(r<)r$ bit_lengthrZ int_to_bytes)rEnbytesrrr _to_mpints rIc@sTeZdZdZdddZddZddZd d Zd d Zd dZ dddZ ddZ dS) _FragListz,Build recursive structure without data copy.NcCsg|_|r|j|dSN)flistextend)selfinitrrr__init__sz_FragList.__init__cCs|j|dS)zAdd plain bytesN)rLappendrNrErrrput_rawsz_FragList.put_rawcCs|jt|dS)zBig-endian uint32N)rLrQr9packrRrrrput_u32sz_FragList.put_u32cCsLt|tttfr,|t||j|n|||j |jdS)zBytes prefixed with u32 lengthN) isinstancebytes memoryview bytearrayrUr/rLrQsizerMrRrrr put_sshstrs z_FragList.put_sshstrcCs|t|dS)z*Big-endian bigint prefixed with u32 lengthN)r[rIrRrrr put_mpintsz_FragList.put_mpintcCsttt|jS)zCurrent number of bytes)summapr/rL)rNrrrrZsz_FragList.sizercCs2|jD]&}t|}|||}}||||<q|S)zWrite into bytearray)rLr/)rNZdstbufposfragZflenstartrrrrenders  z_FragList.rendercCs"tt|}|||S)zReturn as bytes)rXrYrZrbtobytes)rNbufrrrrcs z_FragList.tobytes)N)r) __name__ __module__ __qualname____doc__rPrSrUr[r\rZrbrcrrrrrJs   rJc@s8eZdZdZddZddZddZdd Zd d Zd S) _SSHFormatRSAzhFormat for RSA keys. Public: mpint e, n Private: mpint n, e, d, iqmp, p, q cCs$t|\}}t|\}}||f|fS)zRSA public fieldsrF)rNr+er?rrr get_publics  z_SSHFormatRSA.get_publiccCs.||\\}}}t||}|}||fS)zMake RSA public key from data.)rlr RSAPublicNumbersr%)rNkey_typer+rkr?public_numbersr%rrr load_publics z_SSHFormatRSA.load_publicc Cst|\}}t|\}}t|\}}t|\}}t|\}}t|\}}||f|kr\tdt||} t||} t||} t|||| | || } | } | |fS)zMake RSA private key from data.z Corrupt data: rsa field mismatch)rFr$r Z rsa_crt_dmp1Z rsa_crt_dmq1rmZRSAPrivateNumbers private_key)rNr+ pubfieldsr?rkdiqmppqZdmp1Zdmq1roprivate_numbersrqrrr load_privates           z_SSHFormatRSA.load_privatecCs$|}||j||jdS)zWrite RSA public keyN)ror\rkr?)rNr%f_pubZpubnrrr encode_publics z_SSHFormatRSA.encode_publiccCsZ|}|j}||j||j||j||j||j||jdS)zWrite RSA private keyN) rwror\r?rkrsrtrurv)rNrqf_privrwrorrrencode_privates     z_SSHFormatRSA.encode_privateN rerfrgrhrlrprxrzr|rrrrris ric@s@eZdZdZddZddZddZdd Zd d Zd d Z dS) _SSHFormatDSAzhFormat for DSA keys. Public: mpint p, q, g, y Private: mpint p, q, g, y, x cCs@t|\}}t|\}}t|\}}t|\}}||||f|fS)zDSA public fieldsrj)rNr+rurvgyrrrrls     z_SSHFormatDSA.get_publicc CsJ||\\}}}}}t|||}t||}|||} | |fS)zMake DSA public key from data.)rlrDSAParameterNumbersDSAPublicNumbers _validater%) rNrnr+rurvrrparameter_numbersror%rrrrps   z_SSHFormatDSA.load_publicc Csz||\\}}}}}t|\}}||||f|kr:tdt|||}t||} || t|| } | } | |fS)zMake DSA private key from data.z Corrupt data: dsa field mismatch) rlrFr$rrrrZDSAPrivateNumbersrq) rNr+rrrurvrrxrrorwrqrrrrx&s    z_SSHFormatDSA.load_privatecCsL|}|j}||||j||j||j||jdS)zWrite DSA public keyN)rorrr\rurvrr)rNr%ryrorrrrrz4s    z_SSHFormatDSA.encode_publiccCs$|||||jdS)zWrite DSA private keyN)rzr%r\rwr)rNrqr{rrrr|?sz_SSHFormatDSA.encode_privatecCs |j}|jdkrtddS)Niz#SSH supports only 1024 bit DSA keys)rrurGr$)rNrorrrrrDsz_SSHFormatDSA._validateN) rerfrgrhrlrprxrzr|rrrrrr~ s  r~c@s@eZdZdZddZddZddZdd Zd d Zd d Z dS)_SSHFormatECDSAzFormat for ECDSA keys. Public: str curve bytes point Private: str curve bytes point mpint secret cCs||_||_dSrK)ssh_curve_namer!)rNrr!rrrrPVsz_SSHFormatECDSA.__init__cCsJt|\}}t|\}}||jkr*td|ddkr>td||f|fS)zECDSA public fieldszCurve name mismatchrr7zNeed uncompressed point)r@rr$NotImplementedError)rNr+r!pointrrrrlZs    z_SSHFormatECDSA.get_publiccCs.||\\}}}tj|j|}||fS)z Make ECDSA public key from data.)rlrEllipticCurvePublicKeyZfrom_encoded_pointr!rc)rNrnr+ curve_namerr%rrrrpds  z_SSHFormatECDSA.load_publiccCsH||\\}}}t|\}}||f|kr2tdt||j}||fS)z!Make ECDSA private key from data.z"Corrupt data: ecdsa field mismatch)rlrFr$rZderive_private_keyr!)rNr+rrrrsecretrqrrrrxls   z_SSHFormatECDSA.load_privatecCs*|tjtj}||j||dS)zWrite ECDSA public keyN) public_bytesr ZX962rZUncompressedPointr[r)rNr%ryrrrrrzvs  z_SSHFormatECDSA.encode_publiccCs,|}|}|||||jdS)zWrite ECDSA private keyN)r%rwrzr\Z private_value)rNrqr{r%rwrrrr|~s z_SSHFormatECDSA.encode_privateN) rerfrgrhrPrlrprxrzr|rrrrrJs   rc@s8eZdZdZddZddZddZdd Zd d Zd S) _SSHFormatEd25519z~Format for Ed25519 keys. Public: bytes point Private: bytes point bytes secret_and_point cCst|\}}|f|fS)zEd25519 public fields)r@)rNr+rrrrrls z_SSHFormatEd25519.get_publiccCs(||\\}}tj|}||fS)z"Make Ed25519 public key from data.)rlrEd25519PublicKeyZfrom_public_bytesrc)rNrnr+rr%rrrrps z_SSHFormatEd25519.load_publiccCsb||\\}}t|\}}|dd}|dd}||ksF|f|krNtdtj|}||fS)z#Make Ed25519 private key from data.Nr z$Corrupt data: ed25519 field mismatch)rlr@r$rEd25519PrivateKeyZfrom_private_bytes)rNr+rrrZkeypairrZpoint2rqrrrrxs    z_SSHFormatEd25519.load_privatecCs|tjtj}||dS)zWrite Ed25519 public keyN)rr Rawrr[)rNr%ryraw_public_keyrrrrzsz_SSHFormatEd25519.encode_publiccCsR|}|tjtjt}|tjtj}t||g}| ||| |dS)zWrite Ed25519 private keyN) r%Z private_bytesr rrrrrrJrzr[)rNrqr{r%Zraw_private_keyrZ f_keypairrrrr|s   z _SSHFormatEd25519.encode_privateNr}rrrrrs   rsnistp256snistp384snistp521cCs6t|tst|}|tvr&t|Std|dS)z"Return valid format or throw errorzUnsupported key type: %rN)rVrWrXrc _KEY_FORMATSr)rnrrr_lookup_kformats   r)r+rbackendrcCsFtd||dur td|t|}|s6td|d}|d}t t |||}| t srtdt |t t d}t|\}}t|\}}t|\}}t|\} }| dkrtdt|\} }t| \} } t| } | | \} } t| t|\}}t|||fttfkr|}|tvr@td||tkrVtd|t|d }t||t|\}}t|\}}t|t||||}t ||}nd }t||t|\}}t|\}}||krtd t|\}}|| krtd | || \}}t|\}}|tdt |krBtd |S)z.Load private key from OpenSSH custom encoding.r+NrzNot OpenSSH private key formatrzOnly one key supportedzUnsupported cipher: %rzUnsupported KDF: %rr<zCorrupt data: broken checksumzCorrupt data: key type mismatchzCorrupt data: invalid padding)r_check_byteslike _check_bytes_PEM_RCsearchr$raendbinascii a2b_base64rX startswith _SK_MAGICr/r@r;rrlr2_NONErcr3r_BCRYPTr0r6Z decryptorupdaterx_PADDING)r+rrmZp1Zp2r4kdfnameZ kdfoptionsnkeysZpubdataZ pub_key_typekformatrrZedatablklenrZkbufrciphZck1Zck2rnrqcommentrrrload_ssh_private_keysh                            r)rqrrcCs4|durtd||r,t|tkr,tdt|tjrFt| }n>t|t j rXt }n,t|t jrjt}nt|tjr|t}ntdt|}t}|rt}t|d}t}t}td} || ||t||| |} nt}}d}d} d} td } d } t}|||| |t| | g}||| |||| |!t"d||#|t}|!t$|||||||| |||||#}|#}t%t&||}|'|||}| dur| ()|||||dt*|d|}t&||||<|S) z3Serialize private key with OpenSSH custom encoding.NrzNPasswords longer than 72 bytes are not supported by OpenSSH private key formatUnsupported key typerrr<rr7r()+rrr/ _MAX_PASSWORDr$rVrEllipticCurvePrivateKeyr&r%r RSAPrivateKey_SSH_RSAr DSAPrivateKey_SSH_DSArr _SSH_ED25519rrJ_DEFAULT_CIPHERr3r_DEFAULT_ROUNDSosurandomr[rUr6rrzr|rSrrZrrXrYrbZ encryptorZ update_intor.)rqrrnrZ f_kdfoptionsr4rrrrrrZcheckvalrZ f_public_keyZ f_secretsZf_mainZslenmlenrdZofsZtxtrrrserialize_ssh_private_key&st                         r)r+rrc Csxtd|t|}|s"td|d}}|d}d}t|tt dkrjd}|dtt }t|}zt t |}Wn t t j fytdYn0t|\}}||krtd|rt|\} }|||\} }|rlt|\} }t|\} }t|\} }t|\}}t|\}}t|\}}t|\}}t|\}}t|\}}t|\}}t|\}}t|| S) z-Load public key from OpenSSH one-line format.r+zInvalid line formatrFNTzInvalid key format)rr_SSH_PUBKEY_RCmatchr$group _CERT_SUFFIXr/rrXrr TypeErrorErrorr@rpr>r;r2)r+rrrnZ orig_key_typeZkey_bodyZ with_certrZinner_key_typeZnoncer%serialZcctypeZkey_idZ principalsZ valid_afterZ valid_beforeZ crit_options extensionsZreservedZsig_keyZ signaturerrrload_ssh_public_keysF                r)r%rcCst|tjrt|}n>t|tjr(t}n,t|tjr:t }nt|t j rLt }nt dt|}t}|||||t|}d|d|gS)z&One-line public key format for OpenSSHrr( )rVrrr&r RSAPublicKeyrr DSAPublicKeyrrrrr$rrJr[rzrZ b2a_base64rcstripr))r%rnrryZpubrrrserialize_ssh_public_keys       r)F)N)N)N)grrrestructtypingbase64rr*Z cryptographyrZcryptography.exceptionsrZ)cryptography.hazmat.primitives.asymmetricrrrr Z&cryptography.hazmat.primitives.ciphersr r r Z,cryptography.hazmat.primitives.serializationr rrrZbcryptrrZ_bcrypt_supported ImportErrorrWrCboolrrrZ_ECDSA_NISTP256Z_ECDSA_NISTP384Z_ECDSA_NISTP521rcompilerrZ _SK_STARTZ_SK_ENDrrrrrDOTALLrrXrYrangerZAESZCTRZCBCr3r#Structr9r=r&r.r0r2r6r;r>r@rFrIobjectrJrir~rrZ SECP256R1Z SECP384R1Z SECP521R1rrUnionrrrrZ_SSH_PRIVATE_KEY_TYPESOptionalAnyrrrrrrZ_SSH_PUBLIC_KEY_TYPESrrrrrrs            0>>=:    M T  ,