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 :  /usr/lib/python3/dist-packages/josepy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


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

Current File : /usr/lib/python3/dist-packages/josepy/__pycache__/jwk.cpython-310.pyc
o

h9Ra�7�@sdZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZm
Z
mZddlZddlZddlmZddlmZddlmZddlmZddlmZdd	lmZmZmZe�e�Z Gd
d�dej!ej"d�Z#e#j$Gd
d�de#��Z%e#j$Gdd�de#��Z&e#j$Gdd�de#��Z'dS)�
JSON Web Key.�N)	�Dict�Optional�Sequence�Type�Union�Callable�Any�Tuple�Mapping)�default_backend)�hashes)�
serialization)�ec)�rsa)�errors�	json_util�utilc
@seZdZUdZdZiZeeedfe	d<dZ
eeedfe	d<	e
Zeee	d<	dd	d
d�Zeeeeeeeeffe	d<ee	d
<ejfdegejfdefdd�Zejddd��Ze		ddedeedeedefdd��Ze		ddedeedeeddfdd��Z dS)�JWKr�kty�TYPES�.�cryptography_key_types�requiredN)�,�:T)�indent�
separators�	sort_keys�_thumbprint_json_dumps_params�key�
hash_function�returncsNtj|�t�d�}|�tj�fdd������D�fi�j���	��|�
�S)zgCompute JWK Thumbprint.

        https://tools.ietf.org/html/rfc7638

        :returns: bytes

        )�backendcs i|]\}}|�jvr||�qSr)r)�.0�k�v��selfr�,/usr/lib/python3/dist-packages/josepy/jwk.py�
<dictcomp>7s�z"JWK.thumbprint.<locals>.<dictcomp>)r
�Hashr�update�json�dumps�to_json�itemsr�encode�finalize)r(r!�digestrr'r)�
thumbprint,s	���zJWK.thumbprintcCst��)ziGenerate JWK with public key.

        For symmetric cryptosystems, this would return ``self``.

        )�NotImplementedErrorr'rrr)�
public_key<szJWK.public_key�data�passwordr#cCs�|durt�n|}i}tjtjfD](}z	||||�WStttjjfy9}z||t	|�<WYd}~qd}~wwtj
tjfD]&}z|||�WSttjjfyf}z||t	|�<WYd}~q@d}~wwt�
d�|���)NzUnable to deserialize key: {0})rr�load_pem_private_key�load_der_private_key�
ValueError�	TypeError�cryptography�
exceptions�UnsupportedAlgorithm�str�load_pem_public_key�load_der_public_keyr�Error�format)�clsr7r8r#r>�loader_private�error�
loader_publicrrr)�_load_cryptography_keyEs2��������zJWK._load_cryptography_keyc
Cs�z	|�|||�}Wntjy'}zt�d|�t|d�WYd}~Sd}~ww|jtur>t||j	�s>t�d�
|j|j���|j�
�D]}t||j	�rR||d�SqCt�d�
|j���)a�Load serialized key as JWK.

        :param str data: Public or private key serialized as PEM or DER.
        :param str password: Optional password.
        :param backend: A `.PEMSerializationBackend` and
            `.DERSerializationBackend` provider.

        :raises errors.Error: if unable to deserialize, or unsupported
            JWK algorithm

        :returns: JWK of an appropriate type.
        :rtype: `JWK`

        z,Loading symmetric key, asymmetric failed: %s�r Nz"Unable to deserialize {0} into {1}zUnsupported algorithm: {0})rIrrC�logger�debug�JWKOct�typ�NotImplemented�
isinstancerrD�	__class__r�values)rEr7r8r#r rG�jwk_clsrrr)�load`s ����zJWK.load)r"r)NN)!�__name__�
__module__�__qualname__�__doc__�type_field_namerrr@r�__annotations__rr
r	rOrrrrr�int�boolr
�SHA256r�
HashAlgorithm�bytesr4�abc�abstractmethodr6�classmethodrIrTrrrr)rsJ
(�	��
�������r)�	metaclassc@sjeZdZUdZdZdZdejfZe	e
d<deeeffdd�Z
ed	eeefddfd
d��Zddd
�ZdS)rMzSymmetric JWK.�octrJr%r r"cCsdt�|j�iS)Nr%)r�encode_b64joser r'rrr)�fields_to_partial_json�szJWKOct.fields_to_partial_json�jobjcCs|t�|d�d�S)Nr%rJ)r�decode_b64jose�rErgrrr)�fields_from_json�szJWKOct.fields_from_jsoncCs|S�Nrr'rrr)r6�szJWKOct.public_keyN)r"rM)rUrVrWrXrN�	__slots__rrYrr_rZrr@rfrbrr	rjr6rrrr)rM�s

rMcs�eZdZUdZdZejejfZdZ	de
jdfZe
jjed<deded	d
f�fdd�Zed
ed	efdd��Zed
ed	efdd��Zddd�Zedeeefd	dfdd��Zd	eeeffdd�Z�ZS)�JWKRSAz�RSA JWK.

    :ivar key: :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
        or :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` wrapped
        in :class:`~josepy.util.ComparableRSAKey`

    �RSArJ�e�nr �args�kwargsr"Nc�@d|vrt|dtj�st�|d�|d<t�j|i|��dS�Nr )rPr�ComparableRSAKey�super�__init__�r(rqrr�rQrr)rw��


�zJWKRSA.__init__r7cCs0t|��d�}t�|d�}t�|jd|d��S)zOEncode Base64urlUInt.
        :type data: long
        :rtype: unicode
        ��big��	byteorder�length)�max�
bit_length�math�ceilrre�to_bytes�rEr7rrrr)�
_encode_param�szJWKRSA._encode_paramcCs>zt�|�}|st���tj|dd�WStyt���w)�Decode Base64urlUInt.r|�r~)rrhr�DeserializationErrorr[�
from_bytesr;)rEr7�binaryrrr)�
_decode_param�s
�zJWKRSA._decode_paramcCst|�|j��d�S)NrJ)�typer r6r'rrr)r6�szJWKRSA.public_keyrgc
	sD��fdd�dD�\}}tj||d�}d�vr �|�t��d�S���d�}d�vs?d�vs?d	�vs?d
�vs?d�vs?d�vrst�fd
d�dD��\}}}}	}
}tdd�|D��rbt�d�|���t�fdd�|D��\}}}}	}
nt�	|||�\}}t�
||�}t�||�}	t�||�}
t�
|||||	|
|��t��}�|d�S)Nc3s�|]
}���|�VqdSrk�r��r$�xrirr)�	<genexpr>�s�z*JWKRSA.fields_from_json.<locals>.<genexpr>�rpro)rorp�drJ�p�q�dp�dq�qi�othc3s�|]}��|�VqdSrk)�getr�)rgrr)r��s�

�)r�r�r�r�r�css�|]	}|dur|VqdSrkr)r$�paramrrr)r��s�z(Some private parameters are missing: {0}c3s�|]
}��t|��VqdSrk)r�r@r�)rErr)r��s�
�)r�RSAPublicNumbersr6rr��tuplerrCrD�rsa_recover_prime_factors�rsa_crt_dmp1�rsa_crt_dmq1�rsa_crt_iqmp�RSAPrivateNumbers�private_key)
rErgrpro�public_numbersr�r�r�r�r�r��
all_paramsr rrir)rj�sH����������
zJWKRSA.fields_from_jsonc	s~t�jjtj�r�j��}|j|jd�}n�j��}�j�	���}|j|j|j
|j|j|j
|j|jd�}�fdd�|��D�S)Nr�)rpror�r�r�r�r�r�csi|]
\}}|��|��qSr)r��r$r �valuer'rr)r*s�z1JWKRSA.fields_to_partial_json.<locals>.<dictcomp>)rPr �_wrappedr�RSAPublicKeyr�rpro�private_numbersr6r�r�r��dmp1�dmq1�iqmpr0)r(�numbers�params�private�publicrr'r)rf�s&
�
�

�zJWKRSA.fields_to_partial_json)r"rm)rUrVrWrXrNrr��
RSAPrivateKeyrrlrrYr�josepyrrurZr	rwrbr[r@r�r�r6rrjrrf�
__classcell__rrryr)rm�s 
	

)rmc	seZdZUdZdZdZejejfZ	de
jddfZe
jjed<ded	ed
df�fdd
�Zededed
efdd��Zedededed
efdd��Zeded
efdd��Zeded
ejfdd��Zedejd
efdd��Zd
eeeffdd�Zed eeefd
dfd!d"��Zd%d#d$�Z �Z!S)&�JWKECz�EC JWK.

    :ivar key: :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`
        or :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey` wrapped
        in :class:`~josepy.util.ComparableECKey`

    �ECrJ�crvr��yr rqrrr"Ncrsrt)rPr�ComparableECKeyrvrwrxryrr)rwrzzJWKEC.__init__r7rcCst�|jd|d��S)zlEncode Base64urlUInt.
        :type data: long
        :type key_size: long
        :rtype: unicode
        r|r})rrer�r�rrr)r�szJWKEC._encode_param�name�valid_lengthcCsXz t�|�}t|�|krt�dj||t|�d���tj|dd�WSty+t���w)r�ziExpected parameter "{name}" to be {valid_lengths} bytes after base64-decoding; got {length} bytes instead)r��
valid_lengthsrr|r�)	rrh�lenrr�rDr[r�r;)rEr7r�r�r�rrr)r�&s

���zJWKEC._decode_param�
curve_namecCs,|dkrdS|dkrdS|dkrdSt���)N�	secp256r1�P-256�	secp384r1�P-384�	secp521r1�P-521)r�SerializationError)rEr�rrr)�_curve_name_to_crv5szJWKEC._curve_name_to_crvcCs8|dkrt��S|dkrt��S|dkrt��St���)Nr�r�r�)r�	SECP256R1�	SECP384R1�	SECP521R1rr�)rEr�rrr)�
_crv_to_curve?szJWKEC._crv_to_curve�curvecCs>t|tj�rdSt|tj�rdSt|tj�rdStd|����)N� �0�BzUnexpected curve: )rPrr�r�r�r;)rEr�rrr)�expected_length_for_curveJszJWKEC.expected_length_for_curvecs�i}t�jjtj�r�j���nt�jjtj�r*�j��}�j�����|j	|d<nt
�d���j|d<�j
|d<��fdd�|��D�}���jj�|d<|S)Nr�zRSupplied key is neither of type EllipticCurvePublicKey nor EllipticCurvePrivateKeyr�r�c	s&i|]\}}|��|���j���qSr)r�r�r�r��r�r(rr)r*as&z0JWKEC.fields_to_partial_json.<locals>.<dictcomp>r�)rPr r�r�EllipticCurvePublicKeyr��EllipticCurvePrivateKeyr�r6�
private_valuerr�r�r�r0r�r�r�)r(r�r�rr�r)rfTs
�

zJWKEC.fields_to_partial_jsonrgcs����d�}��|�����fdd�dD�\}}tj|||d�}d�vr.�|�t��d�S���dd��}t�||��t��}�|d�S)Nr�c3s"�|]}���||��VqdSrkr�)r$rp�rE�expected_lengthrgrr)r�js� z)JWKEC.fields_from_json.<locals>.<genexpr>)r�r�)r�r�r�r�rJ)	r�r�r�EllipticCurvePublicNumbersr6rr��EllipticCurvePrivateNumbersr�)rErgr�r�r�r�r�r rr�r)rjes
�
zJWKEC.fields_from_jsoncCs8t|jd�r|j��}n	|j���t��}t|�|d�S)Nr6rJ)�hasattrr r6r�rr�)r(r rrr)r6wszJWKEC.public_key)r"r�)"rUrVrWrXrNrlrr�r�rrrYrr�rr�rZr	rwrbr[r@r�r�r��
EllipticCurver�r�rrfrrjr6r�rrryr)r�s.
�	
	r�)(rXr`r-�loggingr��typingrrrrrrr	r
r�cryptography.exceptionsr=�josepy.utilr��cryptography.hazmat.backendsr�cryptography.hazmat.primitivesr
r�)cryptography.hazmat.primitives.asymmetricrrrrr�	getLoggerrUrK�TypedJSONObjectWithFields�ABCMetar�registerrMrmr�rrrr)�<module>s,,
jo

Anon7 - 2022
AnonSec Team