[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.141.12.172: ~ $


b'[4�@sddlZddlZddlZddlmZmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZmZy�ddlmZddlmZmZmZddlmZmZmZmZmZmZmZmZdd	l m!Z!m"Z"dd
l#m$Z$m%Z%ddl&m'Z'ddl(m)Z)d
Z*Wne+k
rZdZ*YnXe,ddddddddddg
�Z-dd�Z.Gdd�de/�Z0Gdd�de0�Z1Gdd �d e0�Z2e*rGd!d"�d"e0�Z3Gd#d$�d$e0�Z4Gd%d&�d&e3�Z5dS)'�N�)�constant_time_compare�string_types)�InvalidKeyError)�base64url_decode�base64url_encode�der_to_raw_signature�force_bytes�
force_unicode�from_base64url_uint�raw_to_der_signature�to_base64url_uint)�hashes)�load_pem_private_key�load_pem_public_key�load_ssh_public_key)�
RSAPrivateKey�RSAPublicKey�RSAPrivateNumbers�RSAPublicNumbers�rsa_recover_prime_factors�rsa_crt_dmp1�rsa_crt_dmq1�rsa_crt_iqmp)�EllipticCurvePrivateKey�EllipticCurvePublicKey)�ec�padding)�default_backend)�InvalidSignatureTF�RS256�RS384�RS512�ES256�ES384�ES521�ES512�PS256�PS384�PS512cCs�dt�dttj�dttj�dttj�i}tr�|jdttj�dttj�dttj�dttj�d	ttj�d
ttj�dttj�dt	t	j�d
t	t	j�dt	t	j�i
�|S)zE
    Returns the algorithms that are implemented by the library.
    ZnoneZHS256ZHS384ZHS512r r!r"r#r$r%r&r'r(r))
�
NoneAlgorithm�
HMACAlgorithm�SHA256�SHA384�SHA512�
has_crypto�update�RSAAlgorithm�ECAlgorithm�RSAPSSAlgorithm)Zdefault_algorithms�r4�/algorithms.py�get_default_algorithms&s"	r6c@s^eZdZdZdd�Zdd�Zdd�Zedd	��Zed
d��Z	dS)
�	AlgorithmzH
    The interface for an algorithm used to sign and verify tokens.
    cCs
t�dS)z�
        Performs necessary validation and conversions on the key and returns
        the key value in the proper format for sign() and verify().
        N)�NotImplementedError)�self�keyr4r4r5�prepare_keyFszAlgorithm.prepare_keycCs
t�dS)zn
        Returns a digital signature for the specified message
        using the specified key value.
        N)r8)r9�msgr:r4r4r5�signMszAlgorithm.signcCs
t�dS)zz
        Verifies that the specified digital signature is valid
        for the specified message and key values.
        N)r8)r9r<r:�sigr4r4r5�verifyTszAlgorithm.verifycCs
t�dS)z7
        Serializes a given RSA key into a JWK
        N)r8)�key_objr4r4r5�to_jwk[szAlgorithm.to_jwkcCs
t�dS)zb
        Deserializes a given RSA key from JWK back into a PublicKey or PrivateKey object
        N)r8)�jwkr4r4r5�from_jwkbszAlgorithm.from_jwkN)
�__name__�
__module__�__qualname__�__doc__r;r=r?�staticmethodrArCr4r4r4r5r7Bsr7c@s:eZdZdZdd�Zdd�Zdd�ZdS)	r*zZ
    Placeholder for use when no signing or verification
    operations are required.
    cCs.|dkrd}|dk	r*td��|S)N�z*When alg = "none", key value must be None.)r)r9r:r4r4r5r;os
zNoneAlgorithm.prepare_keycCsdS)N�r4)r9r<r:r4r4r5r=xszNoneAlgorithm.signcCsdS)NFr4)r9r<r:r>r4r4r5r?{szNoneAlgorithm.verifyN)rDrErFrGr;r=r?r4r4r4r5r*js	r*c@s�eZdZdZejZejZej	Z
dd�Zdd�Ze
dd��Ze
dd	��Zd
d�Zdd
�ZdS)r+zf
    Performs signing and verification operations using HMAC
    and the specified hash function.
    cCs
||_dS)N)�hash_alg)r9rKr4r4r5�__init__�szHMACAlgorithm.__init__csMt���ddddg}t�fdd�|D��rItd���S)Ns-----BEGIN PUBLIC KEY-----s-----BEGIN CERTIFICATE-----s-----BEGIN RSA PUBLIC KEY-----sssh-rsacsg|]}|�k�qSr4r4)�.0Zstring_value)r:r4r5�
<listcomp>�s	z-HMACAlgorithm.prepare_key.<locals>.<listcomp>zdThe specified key is an asymmetric key or x509 certificate and should not be used as an HMAC secret.)r	�anyr)r9r:Zinvalid_stringsr4)r:r5r;�s		zHMACAlgorithm.prepare_keycCs+tjdttt|���ddi�S)N�k�kty�oct)�json�dumpsr
rr	)r@r4r4r5rA�szHMACAlgorithm.to_jwkcCs>tj|�}|jd�dkr0td��t|d�S)NrQrRzNot an HMAC keyrP)rS�loads�getrr)rB�objr4r4r5rC�szHMACAlgorithm.from_jwkcCstj|||j�j�S)N)�hmac�newrK�digest)r9r<r:r4r4r5r=�szHMACAlgorithm.signcCst||j||��S)N)rr=)r9r<r:r>r4r4r5r?�szHMACAlgorithm.verifyN)rDrErFrG�hashlib�sha256r,�sha384r-�sha512r.rLr;rHrArCr=r?r4r4r4r5r+s				r+c@s�eZdZdZejZejZejZdd�Zdd�Z	e
dd��Ze
dd	��Zd
d�Z
dd
�ZdS)r1z~
        Performs signing and verification operations using
        RSASSA-PKCS-v1_5 and the specified hash function.
        cCs
||_dS)N)rK)r9rKr4r4r5rL�szRSAAlgorithm.__init__cCs�t|t�st|t�r"|St|t�r�t|�}yF|jd�rgt|dt��}nt|dddt��}Wq�t	k
r�t
|dt��}Yq�Xntd��|S)Nsssh-rsa�backend�passwordzExpecting a PEM-formatted key.)�
isinstancerrrr	�
startswithrrr�
ValueErrorr�	TypeError)r9r:r4r4r5r;�s
zRSAAlgorithm.prepare_keycCscd}t|dd�r�|j�}ddddgdtt|jj��dtt|jj��dtt|j��d	tt|j��d
tt|j	��dtt|j
��dtt|j��d
tt|j��i
}nlt|dd�rJ|j�}ddddgdtt|j��dtt|j��i}nt
d��tj|�S)N�private_numbersrQ�RSAZkey_opsr=�n�e�d�p�q�dp�dq�qir?zNot a public or private key)�getattrrer
r
�public_numbersrgrhrirjrk�dmp1�dmq1�iqmprrSrT)r@rW�numbersr4r4r5rA�s*		zRSAAlgorithm.to_jwkc	slytj|��Wntk
r3td��YnX�jd�dkrUtd��d�krd�krd�krd�kr�td	��d
ddd
dg}�fdd�|D�}t|�}|r�t|�r�td��tt�d�t�d��}|r�t	dt�d�d
t�d
�dt�d�dt�d�dt�d
�dt�d�d|�}n|t�d�}t
|j||j�\}}t	d|d
|d|dt
||�dt||�dt||�d|�}|jt��Sd�kr\d�kr\tt�d�t�d��}|jt��Std��dS)NzKey is not valid JSONrQrfzNot an RSA keyrirhrgZothz5Unsupported RSA private key: > 2 primes not supportedrjrkrlrmrncsg|]}|�k�qSr4r4)rMZprop)rWr4r5rN	s	z)RSAAlgorithm.from_jwk.<locals>.<listcomp>z@RSA key must include all parameters if any are present besides drqrrrsrpzNot a public or private key)rSrUrcrrVrO�allrrrrrgrhrrrZprivate_keyrZ
public_key)	rBZother_propsZprops_foundZany_props_foundrprtrirjrkr4)rWr5rC�sT
$ 	 zRSAAlgorithm.from_jwkcCs|j|tj�|j��S)N)r=r�PKCS1v15rK)r9r<r:r4r4r5r=8szRSAAlgorithm.signcCsGy*|j||tj�|j��dSWntk
rBdSYnXdS)NTF)r?rrvrKr)r9r<r:r>r4r4r5r?;s
"
zRSAAlgorithm.verifyN)rDrErFrGrr,r-r.rLr;rHrArCr=r?r4r4r4r5r1�s			$?r1c@saeZdZdZejZejZejZdd�Zdd�Z	dd�Z
dd	�Zd
S)r2zr
        Performs signing and verification operations using
        ECDSA and the specified hash function
        cCs
||_dS)N)rK)r9rKr4r4r5rLKszECAlgorithm.__init__cCs�t|t�st|t�r"|St|t�r�t|�}y@|jd�rgt|dt��}nt|dt��}Wq�t	k
r�t
|dddt��}Yq�Xntd��|S)Nsecdsa-sha2-r_r`zExpecting a PEM-formatted key.)rarrrr	rbrrrrcrrd)r9r:r4r4r5r;Ns
#zECAlgorithm.prepare_keycCs1|j|tj|j���}t||j�S)N)r=r�ECDSArKr�curve)r9r<r:�der_sigr4r4r5r=fs!zECAlgorithm.signcCsvyt||j�}Wntk
r.dSYnXy*|j||tj|j���dSWntk
rqdSYnXdS)NFT)rrxrcr?rrwrKr)r9r<r:r>ryr4r4r5r?ks
	"
zECAlgorithm.verifyN)rDrErFrGrr,r-r.rLr;r=r?r4r4r4r5r2Bs			r2c@s.eZdZdZdd�Zdd�ZdS)r3zA
        Performs a signature using RSASSA-PSS with MGF1
        cCs@|j|tjdtj|j��d|jj�|j��S)N�mgf�salt_length)r=r�PSS�MGF1rK�digest_size)r9r<r:r4r4r5r=|s	zRSAPSSAlgorithm.signcCshyK|j||tjdtj|j��d|jj�|j��dSWntk
rcdSYnXdS)Nrzr{TF)r?rr|r}rKr~r)r9r<r:r>r4r4r5r?�s	

zRSAPSSAlgorithm.verifyN)rDrErFrGr=r?r4r4r4r5r3ws
r3)6r[rXrS�compatrr�
exceptionsrZutilsrrrr	r
rrr
Zcryptography.hazmat.primitivesrZ,cryptography.hazmat.primitives.serializationrrrZ-cryptography.hazmat.primitives.asymmetric.rsarrrrrrrrZ,cryptography.hazmat.primitives.asymmetric.ecrrZ)cryptography.hazmat.primitives.asymmetricrrZcryptography.hazmat.backendsrZcryptography.exceptionsrr/�ImportError�setZrequires_cryptographyr6�objectr7r*r+r1r2r3r4r4r4r5�<module>s4::

(4�5

Filemanager

Name Type Size Permission Actions
__init__.cpython-35.opt-1.pyc File 1.08 KB 0644
__init__.cpython-35.pyc File 1.08 KB 0644
__main__.cpython-35.opt-1.pyc File 3.74 KB 0644
__main__.cpython-35.pyc File 3.74 KB 0644
algorithms.cpython-35.opt-1.pyc File 11.83 KB 0644
algorithms.cpython-35.pyc File 11.83 KB 0644
api_jws.cpython-35.opt-1.pyc File 6.63 KB 0644
api_jws.cpython-35.pyc File 6.63 KB 0644
api_jwt.cpython-35.opt-1.pyc File 6.27 KB 0644
api_jwt.cpython-35.pyc File 6.27 KB 0644
compat.cpython-35.opt-1.pyc File 1.48 KB 0644
compat.cpython-35.pyc File 1.48 KB 0644
exceptions.cpython-35.opt-1.pyc File 2.36 KB 0644
exceptions.cpython-35.pyc File 2.36 KB 0644
help.cpython-35.opt-1.pyc File 1.45 KB 0644
help.cpython-35.pyc File 1.45 KB 0644
utils.cpython-35.opt-1.pyc File 3.3 KB 0644
utils.cpython-35.pyc File 3.3 KB 0644