403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3.9/site-packages/josepy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.9/site-packages/josepy/__pycache__/jwk.cpython-39.pyc
a

��[e�6�@sdZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZm
Z
mZddlZddlmZddlmZmZddlmZmZddlZddlmZmZmZe�e�Z Gdd	�d	ej!ej"d
�Z#e#j$Gdd�de#��Z%e#j$Gd
d�de#��Z&e#j$Gdd�de#��Z'dS)�
JSON Web Key.�N)	�Any�Callable�Dict�Mapping�Optional�Sequence�Tuple�Type�Union)�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
<ejfegejfed�dd�Zejdd�dd��Zedeeeeeed�dd��Zedeeeeedd�dd��Z dS)�JWKrZkty�TYPES�.�cryptography_key_types�requiredN)�,�:T)�indentZ
separatorsZ	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.9/site-packages/josepy/jwk.py�
<dictcomp>=s
�z"JWK.thumbprint.<locals>.<dictcomp>)r
ZHashr�update�json�dumpsZto_json�itemsr�encodeZfinalize)r%r�digestrr$r&�
thumbprint2s	��zJWK.thumbprint�rcCs
t��dS)ziGenerate JWK with public key.

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

        N)�NotImplementedErrorr$rrr&�
public_keyBszJWK.public_key)�data�passwordr rcCs�|durt�n|}i}tjtjfD]R}z||||�WStttjjfyr}z||t	|�<WYd}~q"d}~00q"tj
tjfD]N}z|||�WSttjjfy�}z||t	|�<WYd}~q�d}~00q�t�
d�|���dS)NzUnable to deserialize key: {0})rrZload_pem_private_keyZload_der_private_key�
ValueError�	TypeError�cryptography�
exceptionsZUnsupportedAlgorithm�strZload_pem_public_keyZload_der_public_keyr�Error�format)�clsr2r3r r7Zloader_private�errorZ
loader_publicrrr&�_load_cryptography_keyKs*��$��$zJWK._load_cryptography_keyc
Cs�z|�|||�}Wn<tjyN}z"t�d|�t|d�WYd}~Sd}~00|jtur|t||j	�s|t�d�
|j|j���|j�
�D]}t||j	�r�||d�Sq�t�d�
|j���dS)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�rNz"Unable to deserialize {0} into {1}zUnsupported algorithm: {0})r=rr9�logger�debug�JWKOct�typ�NotImplemented�
isinstancerr:�	__class__r�values)r;r2r3r rr<Zjwk_clsrrr&�loadhs �zJWK.load)NN)NN)!�__name__�
__module__�__qualname__�__doc__�type_field_namerrr8r
�__annotations__rr	rrCrrrrr�int�boolr
ZSHA256rZ
HashAlgorithm�bytesr.�abc�abstractmethodr1�classmethodr=rGrrrr&rs8
�(	���
��
�r)�	metaclassc@sleZdZUdZdZdZdejfZe	e
d<eeefd�dd�Z
eeeefdd	�d
d��Zdd�dd
�ZdS)rAzSymmetric JWK.�octr>r"rr/cCsdt�|j�iS)Nr")r�encode_b64joserr$rrr&�fields_to_partial_json�szJWKOct.fields_to_partial_json��jobjrcCs|t�|d�d�S)Nr"r>)r�decode_b64jose�r;rYrrr&�fields_from_json�szJWKOct.fields_from_jsoncCs|S�Nrr$rrr&r1�szJWKOct.public_keyN)rHrIrJrKrB�	__slots__rrLrrPrMrr8rWrSrrr\r1rrrr&rA�s

rAcs�eZdZUdZdZejejfZdZ	de
jdfZe
jjed<eedd��fd	d
�Zeeed�dd
��Zeeed�dd��Zdd�dd�Zeeeefdd�dd��Zeeefd�dd�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`

    ZRSAr>�e�nrN��args�kwargsrcs@d|vr*t|dtj�s*t�|d�|d<t�j|i|��dS�Nr)rDr�ComparableRSAKey�super�__init__�r%rcrd�rErr&rh�s


�zJWKRSA.__init__)r2rcCs0t|��d�}t�|d�}t�|jd|d��S)zOEncode Base64urlUInt.
        :type data: long
        :rtype: unicode
        ��big��	byteorder�length)�max�
bit_length�mathZceilrrV�to_bytes�r;r2rorrr&�
_encode_param�szJWKRSA._encode_paramcCsFz&t�|�}|st���tj|dd�WSty@t���Yn0dS)�Decode Base64urlUInt.rl�rnN)rrZr�DeserializationErrorrN�
from_bytesr4)r;r2�binaryrrr&�
_decode_param�s
zJWKRSA._decode_paramr/cCst|�|j��d�S)Nr>)�typerr1r$rrr&r1�szJWKRSA.public_keyrXc
	sD��fdd�dD�\}}tj||d�}d�vr@�|�t��d�S���d�}d�vs~d�vs~d	�vs~d
�vs~d�vs~d�vr�t�fd
d�dD��\}}}}	}
}tdd�|D��r�t�d�|���t�fdd�|D��\}}}}	}
n6t�	|||�\}}t�
||�}t�||�}	t�||�}
t�
|||||	|
|��t��}�|d�S)Nc3s|]}���|�VqdSr]�r{�r!�xr[rr&�	<genexpr>��z*JWKRSA.fields_from_json.<locals>.<genexpr>�rar`)r`ra�dr>�p�q�dp�dq�qiZothc3s|]}��|�VqdSr])�getr~)rYrr&r��s)r�r�r�r�r�css|]}|dur|VqdSr]r)r!Zparamrrr&r��r�z(Some private parameters are missing: {0}c3s|]}��t|��VqdSr])r{r8r~)r;rr&r��s)rZRSAPublicNumbersr1rr{�tuplerr9r:Zrsa_recover_prime_factorsZrsa_crt_dmp1Zrsa_crt_dmq1Zrsa_crt_iqmpZRSAPrivateNumbers�private_key)
r;rYrar`�public_numbersr�r�r�r�r�r��
all_paramsrrr[r&r\�sD���������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�)rar`r�r�r�r�r�r�csi|]\}}|��|��qSr)ru�r!r�valuer$rr&r'	s�z1JWKRSA.fields_to_partial_json.<locals>.<dictcomp>)rDr�_wrappedr�RSAPublicKeyr�rar`�private_numbersr1r�r�r�Zdmp1Zdmq1Ziqmpr+)r%Znumbers�params�private�publicrr$r&rW�s&
�
�

�zJWKRSA.fields_to_partial_json)rHrIrJrKrBrr�Z
RSAPrivateKeyrr^rrLr�josepyrrfrMrrhrSrNr8rur{r1rr\rrW�
__classcell__rrrjr&r_�s
	
(r_cseZdZUdZdZdZejejfZ	de
jddfZe
jjed<eedd	��fd
d�Zeeeed�d
d��Zeeeeed�dd��Zeeed�dd��Zeeejd�dd��Zeejed�dd��Zeeefd�dd�Zeeeefdd�dd ��Zdd�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`

    ZECr>�crvr�yrNrbcs@d|vr*t|dtj�s*t�|d�|d<t�j|i|��dSre)rDr�ComparableECKeyrgrhrirjrr&rhs


�zJWKEC.__init__)r2rorcCst�|jd|d��S)zlEncode Base64urlUInt.
        :type data: long
        :type key_size: long
        :rtype: unicode
        rlrm)rrVrsrtrrr&ru#szJWKEC._encode_param)r2�name�valid_lengthrc	CshzHt�|�}t|�|kr:t�d|�d|�dt|��d���tj|dd�WStybt���Yn0dS)rvzExpected parameter "z" to be z" bytes after base64-decoding; got z bytes insteadrlrwN)rrZ�lenrrxrNryr4)r;r2r�r�rzrrr&r{,s
��zJWKEC._decode_param)�
curve_namercCs0|dkrdS|dkrdS|dkr$dSt���dS)NZ	secp256r1�P-256Z	secp384r1�P-384Z	secp521r1�P-521)r�SerializationError)r;r�rrr&�_curve_name_to_crv:szJWKEC._curve_name_to_crv)r�rcCs<|dkrt��S|dkr t��S|dkr0t��St���dS)Nr�r�r�)r�	SECP256R1�	SECP384R1�	SECP521R1rrx)r;r�rrr&�
_crv_to_curveDszJWKEC._crv_to_curve)�curvercCsBt|tj�rdSt|tj�r dSt|tj�r0dStd|����dS)N� �0�BzUnexpected curve: )rDrr�r�r�r4)r;r�rrr&�expected_length_for_curveOszJWKEC.expected_length_for_curver/cs�i}t�jjtj�r �j���n>t�jjtj�rT�j��}�j�����|j	|d<n
t
�d���j|d<�j
|d<��fdd�|��D�}���jj�|d<|S)Nr�zRSupplied key is neither of type EllipticCurvePublicKey nor EllipticCurvePrivateKeyrr�c	s&i|]\}}|��|���j���qSr)rur�r�r��r�r%rr&r'hs�z0JWKEC.fields_to_partial_json.<locals>.<dictcomp>r�)rDrr�r�EllipticCurvePublicKeyr��EllipticCurvePrivateKeyr�r1Z
private_valuerr�rr�r+r�r�r�)r%r�r�rr�r&rWYs"
�

�zJWKEC.fields_to_partial_jsonrXcs����d�}��|�����fdd�dD�\}}tj|||d�}d�vr\�|�t��d�S���dd��}t�||��t��}�|d�S)Nr�c3s |]}���||��VqdSr]r})r!ra�r;Zexpected_lengthrYrr&r�sr�z)JWKEC.fields_from_json.<locals>.<genexpr>)rr�)rr�r�r�r>)	r�r�rZEllipticCurvePublicNumbersr1rr{ZEllipticCurvePrivateNumbersr�)r;rYr�rr�r�r�rrr�r&r\os
zJWKEC.fields_from_jsoncCs8t|jd�r|j��}n|j���t��}t|�|d�S)Nr1r>)�hasattrrr1r�rr|)r%rrrr&r1szJWKEC.public_key)"rHrIrJrKrBr^rr�r�rrrLrr�rr�rMrrhrSrNr8rur{r�Z
EllipticCurver�r�rrWrr\r1r�rrrjr&r�
s,
�
	
	r�)(rKrQr)Zloggingrr�typingrrrrrrr	r
rZcryptography.exceptionsr6Zcryptography.hazmat.backendsrZcryptography.hazmat.primitivesr
rZ)cryptography.hazmat.primitives.asymmetricrrZjosepy.utilr�rrrZ	getLoggerrHr?ZTypedJSONObjectWithFields�ABCMetar�registerrAr_r�rrrr&�<module>s&,
km

Youez - 2016 - github.com/yon3zu
LinuXploit