[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.15.218.243: ~ $
U

tJ�`�S�@s�ddlZddlZddlZddlmZddlmZmZmZm	Z	m
Z
mZmZz�ddl
Zddl
mZddlmZddlmZmZddlmZmZdd	lmZmZdd
lmZmZmZmZm Z m!Z!m"Z"m#Z#ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+dZ,Wne-k
�rd
Z,YnXddddddddddddhZ.dd�Z/Gdd�d�Z0Gdd�de0�Z1Gd d!�d!e0�Z2e,�r�Gd"d#�d#e0�Z3Gd$d%�d%e0�Z4Gd&d'�d'e3�Z5Gd(d)�d)e0�Z6dS)*�N���InvalidKeyError)�base64url_decode�base64url_encode�der_to_raw_signature�force_bytes�from_base64url_uint�raw_to_der_signature�to_base64url_uint)�InvalidSignature)�hashes)�ec�padding)�EllipticCurvePrivateKey�EllipticCurvePublicKey)�Ed25519PrivateKey�Ed25519PublicKey)�
RSAPrivateKey�RSAPrivateNumbers�RSAPublicKey�RSAPublicNumbers�rsa_crt_dmp1�rsa_crt_dmq1�rsa_crt_iqmp�rsa_recover_prime_factors)�Encoding�NoEncryption�
PrivateFormat�PublicFormat�load_pem_private_key�load_pem_public_key�load_ssh_public_keyTF�RS256�RS384�RS512�ES256�ES256K�ES384�ES521�ES512�PS256�PS384�PS512�EdDSAcCs�t�ttj�ttj�ttj�d�}tr�|�ttj�ttj�ttj�ttj�ttj�ttj�ttj�ttj�t	t	j�t	t	j�t	t	j�t
�d��|S)zE
    Returns the algorithms that are implemented by the library.
    )ZnoneZHS256ZHS384ZHS512)r#r$r%r&r'r(r)r*r+r,r-r.)�
NoneAlgorithm�
HMACAlgorithm�SHA256�SHA384�SHA512�
has_crypto�update�RSAAlgorithm�ECAlgorithm�RSAPSSAlgorithm�Ed25519Algorithm)Zdefault_algorithms�r:�?/opt/alt/python38/lib/python3.8/site-packages/jwt/algorithms.py�get_default_algorithmsEs0����r<c@s@eZdZdZdd�Zdd�Zdd�Zedd	��Zed
d��Z	dS)
�	AlgorithmzH
    The interface for an algorithm used to sign and verify tokens.
    cCst�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�keyr:r:r;�prepare_keylszAlgorithm.prepare_keycCst�dS)zn
        Returns a digital signature for the specified message
        using the specified key value.
        Nr>�rA�msgrBr:r:r;�signsszAlgorithm.signcCst�dS)zz
        Verifies that the specified digital signature is valid
        for the specified message and key values.
        Nr>�rArErB�sigr:r:r;�verifyzszAlgorithm.verifycCst�dS)z7
        Serializes a given RSA key into a JWK
        Nr>��key_objr:r:r;�to_jwk�szAlgorithm.to_jwkcCst�dS)zb
        Deserializes a given RSA key from JWK back into a PublicKey or PrivateKey object
        Nr>)�jwkr:r:r;�from_jwk�szAlgorithm.from_jwkN)
�__name__�
__module__�__qualname__�__doc__rCrFrI�staticmethodrLrNr:r:r:r;r=gs
r=c@s(eZdZdZdd�Zdd�Zdd�ZdS)	r/zZ
    Placeholder for use when no signing or verification
    operations are required.
    cCs |dkrd}|dk	rtd��|S)N�z*When alg = "none", key value must be None.rr@r:r:r;rC�s
zNoneAlgorithm.prepare_keycCsdS)N�r:rDr:r:r;rF�szNoneAlgorithm.signcCsdS)NFr:rGr:r:r;rI�szNoneAlgorithm.verifyN)rOrPrQrRrCrFrIr:r:r:r;r/�s	r/c@sZeZdZdZejZejZej	Z
dd�Zdd�Ze
dd��Ze
dd	��Zd
d�Zdd
�ZdS)r0zf
    Performs signing and verification operations using HMAC
    and the specified hash function.
    cCs
||_dS�N��hash_alg�rArXr:r:r;�__init__�szHMACAlgorithm.__init__cs6t���ddddg}t�fdd�|D��r2td���S)Ns-----BEGIN PUBLIC KEY-----s-----BEGIN CERTIFICATE-----s-----BEGIN RSA PUBLIC KEY-----�ssh-rsac3s|]}|�kVqdSrVr:)�.0Zstring_value�rBr:r;�	<genexpr>�sz,HMACAlgorithm.prepare_key.<locals>.<genexpr>zdThe specified key is an asymmetric key or x509 certificate and should not be used as an HMAC secret.)r�anyr)rArBZinvalid_stringsr:r]r;rC�s��zHMACAlgorithm.prepare_keycCst�tt|����dd��S)N�oct)�k�kty)�json�dumpsrr�decoderJr:r:r;rL�s
��zHMACAlgorithm.to_jwkcCsnz.t|t�rt�|�}nt|t�r(|}nt�Wntk
rJtd��YnX|�d�dkrbtd��t|d�S)N�Key is not valid JSONrbr`zNot an HMAC keyra)	�
isinstance�strrc�loads�dict�
ValueErrorr�getr)rM�objr:r:r;rN�s

zHMACAlgorithm.from_jwkcCst�|||j���SrV)�hmac�newrXZdigestrDr:r:r;rF�szHMACAlgorithm.signcCst�||�||��SrV)rnZcompare_digestrFrGr:r:r;rI�szHMACAlgorithm.verifyN)rOrPrQrR�hashlibZsha256r1Zsha384r2Zsha512r3rZrCrSrLrNrFrIr:r:r:r;r0�s

r0c@sZeZdZdZejZejZejZdd�Zdd�Z	e
dd��Ze
dd	��Zd
d�Z
dd
�ZdS)r6z~
        Performs signing and verification operations using
        RSASSA-PKCS-v1_5 and the specified hash function.
        cCs
||_dSrVrWrYr:r:r;rZ�szRSAAlgorithm.__init__cCs~t|t�st|t�r|St|ttf�rrt|�}z$|�d�rDt|�}nt|dd�}Wqzt	k
rnt
|�}YqzXntd��|S)Nr[�Zpassword�Expecting a PEM-formatted key.)rgrr�bytesrhr�
startswithr"r rkr!�	TypeErrorr@r:r:r;rC�s

zRSAAlgorithm.prepare_keycCs�d}t|dd�r�|��}ddgt|jj���t|jj���t|j���t|j���t|j	���t|j
���t|j���t|j���d�
}nBt|dd�r�|��}ddgt|j���t|j���d�}nt
d��t�|�S)N�private_numbers�RSArF)
rb�key_ops�n�e�d�p�q�dp�dq�qirI)rbrxryrz�Not a public or private key)�getattrrvr�public_numbersryrerzr{r|r}�dmp1�dmq1�iqmprrcrd)rKrm�numbersr:r:r;rLs.�
�zRSAAlgorithm.to_jwkc		s�z.t|t�rt�|��nt|t�r(|�nt�Wntk
rJtd��YnX��d�dkrbtd��d�k�r�d�k�r�d�k�r�d�kr�td	��d
ddd
dg}�fdd�|D�}t|�}|r�t	|�s�td��t
t�d�t�d��}|�r4tt�d�t�d
�t�d�t�d�t�d
�t�d�|d�}nHt�d�}t
|j||j�\}}t|||t||�t||�t||�|d�}|��Sd�k�r�d�k�r�t
t�d�t�d��}|��Std��dS)NrfrbrwzNot an RSA keyr{rzryZothz5Unsupported RSA private key: > 2 primes not supportedr|r}r~rr�csg|]}|�k�qSr:r:)r\Zprop�rmr:r;�
<listcomp>Csz)RSAAlgorithm.from_jwk.<locals>.<listcomp>z@RSA key must include all parameters if any are present besides d)r{r|r}r�r�r�r�r�)rgrhrcrirjrkrrlr_�allrr	rrryrzrrr�private_key�
public_key)	rMZother_propsZprops_foundZany_props_foundr�r�r{r|r}r:r�r;rN,sv

��

�





�
��


�zRSAAlgorithm.from_jwkcCs|�|t��|���SrV)rFr�PKCS1v15rXrDr:r:r;rFvszRSAAlgorithm.signcCs:z|�||t��|���WdStk
r4YdSXdS)NTF)rIrr�rXrrGr:r:r;rIys
zRSAAlgorithm.verifyN)rOrPrQrRr
r1r2r3rZrCrSrLrNrFrIr:r:r:r;r6�s
#
Ir6c@sNeZdZdZejZejZejZdd�Zdd�Z	dd�Z
dd	�Zed
d��Z
dS)
r7zr
        Performs signing and verification operations using
        ECDSA and the specified hash function
        cCs
||_dSrVrWrYr:r:r;rZ�szECAlgorithm.__init__cCs~t|t�st|t�r|St|ttf�rrt|�}z |�d�rDt|�}nt|�}Wqzt	k
rnt
|dd�}YqzXntd��|S)Nsecdsa-sha2-rqrr)rgrrrsrhrrtr"r!rkr rur@r:r:r;rC�s�

zECAlgorithm.prepare_keycCs"|�|t�|����}t||j�SrV)rFr�ECDSArXr�curve)rArErB�der_sigr:r:r;rF�szECAlgorithm.signcCstzt||j�}Wntk
r&YdSXz0t|t�r<|��}|�||t�|�	���WdSt
k
rnYdSXdS)NFT)r
r�rkrgrr�rIrr�rXr)rArErBrHr�r:r:r;rI�s
zECAlgorithm.verifycCs0z.t|t�rt�|�}nt|t�r(|}nt�Wntk
rJtd��YnX|�d�dkrbtd��d|ksrd|krztd��t|�d��}t|�d��}|�d�}|dkr�t	|�t	|�kr�d	kr�nn
t
��}ntd
��n�|dk�rt	|�t	|�k�rdk�rnn
t
��}ntd
��n�|dk�r`t	|�t	|�k�rHdk�rVnn
t
�
�}ntd��nP|dk�r�t	|�t	|�k�r�d	k�r�nn
t
��}ntd��ntd|����t
jtj|dd�tj|dd�|d�}d|k�r�|��St|�d��}t	|�t	|�k�rtdt	|�|��t
�tj|dd�|���S)NrfrbZECzNot an Elliptic curve key�x�y�crvzP-256� z)Coords should be 32 bytes for curve P-256zP-384�0z)Coords should be 48 bytes for curve P-384zP-521�Bz)Coords should be 66 bytes for curve P-521Z	secp256k1z-Coords should be 32 bytes for curve secp256k1�Invalid curve: Zbig)�	byteorder)r�r�r�r{z!D should be {} bytes for curve {})rgrhrcrirjrkrrlr�lenrZ	SECP256R1Z	SECP384R1Z	SECP521R1Z	SECP256K1ZEllipticCurvePublicNumbers�int�
from_bytesr�ZEllipticCurvePrivateNumbersr�)rMrmr�r�r�Z	curve_objr�r{r:r:r;rN�sh


 


$


$


$
��
��zECAlgorithm.from_jwkN)rOrPrQrRr
r1r2r3rZrCrFrIrSrNr:r:r:r;r7�sr7c@s eZdZdZdd�Zdd�ZdS)r8zA
        Performs a signature using RSASSA-PSS with MGF1
        cCs*|�|tjt�|���|jjd�|���S)N�ZmgfZsalt_length)rFr�PSS�MGF1rX�digest_sizerDr:r:r;rFs��zRSAPSSAlgorithm.signc	CsNz2|�||tjt�|���|jjd�|���WdStk
rHYdSXdS)Nr�TF)rIrr�r�rXr�rrGr:r:r;rI
s��	zRSAPSSAlgorithm.verifyN)rOrPrQrRrFrIr:r:r:r;r8�s
r8c@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zed
d��Z	edd
��Z
dS)r9z�
        Performs signing and verification operations using Ed25519

        This class requires ``cryptography>=2.6`` to be installed.
        cKsdSrVr:)rA�kwargsr:r:r;rZ szEd25519Algorithm.__init__cCs�t|ttf�r|St|ttf�rzt|t�r4|�d�}|�d�}d|krNt|�Sd|krbt|dd�S|dd�dkrzt	|�St
d��dS)	N�utf-8z-----BEGIN PUBLICz-----BEGIN PRIVATErqr�zssh-z)Expecting a PEM-formatted or OpenSSH key.)rgrrrsrh�encoderer!r r"ru)rArBZstr_keyr:r:r;rC#s


zEd25519Algorithm.prepare_keycCs$t|�tk	rt|d�n|}|�|�S)a
            Sign a message ``msg`` using the Ed25519 private key ``key``
            :param str|bytes msg: Message to sign
            :param Ed25519PrivateKey key: A :class:`.Ed25519PrivateKey` instance
            :return bytes signature: The signature, as bytes
            r�)�typersrFrDr:r:r;rF6szEd25519Algorithm.signcCsxzXt|�tk	rt|d�n|}t|�tk	r2t|d�n|}t|t�rH|��}|�||�WdStjjk
rrYdSXdS)a�
            Verify a given ``msg`` against a signature ``sig`` using the Ed25519 key ``key``

            :param str|bytes sig: Ed25519 signature to check ``msg`` against
            :param str|bytes msg: Message to sign
            :param Ed25519PrivateKey|Ed25519PublicKey key: A private or public Ed25519 key instance
            :return bool verified: True if signature is valid, False if not.
            r�TFN)	r�rsrgrr�rI�cryptography�
exceptionsrrGr:r:r;rI@s	
zEd25519Algorithm.verifycCs�t|t�r:|jtjtjd�}t�tt	|���
�ddd��St|t�r�|jtjt
jt�d�}|��jtjtjd�}t�tt	|���
�tt	|���
�ddd��Std��dS)N)�encoding�format�OKP�Ed25519)r�rbr�)r�r�Zencryption_algorithm)r�r{rbr�r�)rgrZpublic_bytesrZRawrrcrdrrrerZ
private_bytesrrr�r)rBr�r{r:r:r;rLTs:
���
����	zEd25519Algorithm.to_jwkc
Csz.t|t�rt�|�}nt|t�r(|}nt�Wntk
rJtd��YnX|�d�dkrbtd��|�d�}|dkr�td|����d|kr�td	��t|�d��}z.d
|kr�t	�
|�WSt|�d
��}t�|�WStk
r�}ztd�|�W5d}~XYnXdS)Nrfrbr�zNot an Octet Key Pairr�r�r�r�zOKP should have "x" parameterr{zInvalid key parameter)
rgrhrcrirjrkrrlrrZfrom_public_bytesrZfrom_private_bytes)rMrmr�r�r{�errr:r:r;rN{s.


zEd25519Algorithm.from_jwkN)rOrPrQrRrZrCrFrIrSrLrNr:r:r:r;r9s

&r9)7rprnrcr�rZutilsrrrrr	r
rZcryptography.exceptionsr�rZcryptography.hazmat.primitivesr
Z)cryptography.hazmat.primitives.asymmetricrrZ,cryptography.hazmat.primitives.asymmetric.ecrrZ1cryptography.hazmat.primitives.asymmetric.ed25519rrZ-cryptography.hazmat.primitives.asymmetric.rsarrrrrrrrZ,cryptography.hazmat.primitives.serializationrrrrr r!r"r4�ModuleNotFoundErrorZrequires_cryptographyr<r=r/r0r6r7r8r9r:r:r:r;�<module>sN$
(
$

�")@{

Filemanager

Name Type Size Permission Actions
__init__.cpython-38.opt-1.pyc File 1.47 KB 0644
__init__.cpython-38.pyc File 1.47 KB 0644
algorithms.cpython-38.opt-1.pyc File 15.71 KB 0644
algorithms.cpython-38.pyc File 15.71 KB 0644
api_jwk.cpython-38.opt-1.pyc File 2.83 KB 0644
api_jwk.cpython-38.pyc File 2.83 KB 0644
api_jws.cpython-38.opt-1.pyc File 6.3 KB 0644
api_jws.cpython-38.pyc File 6.3 KB 0644
api_jwt.cpython-38.opt-1.pyc File 5.77 KB 0644
api_jwt.cpython-38.pyc File 5.77 KB 0644
exceptions.cpython-38.opt-1.pyc File 2.54 KB 0644
exceptions.cpython-38.pyc File 2.54 KB 0644
help.cpython-38.opt-1.pyc File 1.31 KB 0644
help.cpython-38.pyc File 1.31 KB 0644
jwks_client.cpython-38.opt-1.pyc File 2.27 KB 0644
jwks_client.cpython-38.pyc File 2.27 KB 0644
utils.cpython-38.opt-1.pyc File 2.89 KB 0644
utils.cpython-38.pyc File 2.89 KB 0644