403Webshell
Server IP : 35.236.43.222  /  Your IP : 216.73.216.143
Web Server : Apache
System : Linux order-form-vm-001 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64
User : deploy ( 1002)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/josepy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

��]�$�@s�dZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddl
mZddl
mZddl
mZddlmZmZmZe�e�ZGd	d
�d
ej�ZejGdd�de��ZejGd
d�de��ZejGdd�de��ZdS)�
JSON Web Key.�N)�default_backend)�hashes)�
serialization)�ec)�rsa)�errors�	json_util�utilc@sdeZdZdZdZiZdZeZdddd�Z	e
jfdd	�Ze
jd
d��Zeddd
��Zeddd��ZdS)�JWKrZkty�N)�,�:T)�indentZ
separatorsZ	sort_keysc	sTtj|�t�d�}|�tjt�fdd�t���	��D��fi�j
�����|��S)zgCompute JWK Thumbprint.

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

        :returns: bytes

        )�backendc3s$|]\}}|�jvr||fVqdS�N)�required)�.0�k�v��selfr�,/usr/lib/python3/dist-packages/josepy/jwk.py�	<genexpr>3s

�z!JWK.thumbprint.<locals>.<genexpr>)
rZHashr�update�json�dumps�dict�six�	iteritemsZto_json�_thumbprint_json_dumps_params�encode�finalize)rZ
hash_functionZdigestrrr�
thumbprint)s��zJWK.thumbprintcCs
t��dS)ziGenerate JWK with public key.

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

        N��NotImplementedErrorrrrr�
public_key8szJWK.public_keycCs�|durt�n|}i}tjtjfD]N}z||||�WStttjjfyn}z|||<WYd}~q"d}~00q"tj	tj
fD]J}z|||�WSttjjfy�}z|||<WYd}~q~d}~00q~t�d�
|���dS)NzUnable to deserialize key: {0})rrZload_pem_private_keyZload_der_private_key�
ValueError�	TypeError�cryptography�
exceptionsZUnsupportedAlgorithmZload_pem_public_keyZload_der_public_keyr�Error�format)�cls�data�passwordrr*�loader�errorrrr�_load_cryptography_keyAs*�� �� zJWK._load_cryptography_keyc
Cs�z|�|||�}Wn<tjyN}z"t�d|�t|d�WYd}~Sd}~00|jtur|t||j	�s|t�d�
|j|j���t�
|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��keyNz"Unable to deserialize {0} into {1}zUnsupported algorithm: {0})r2rr+�logger�debug�JWKOct�typ�NotImplemented�
isinstance�cryptography_key_typesr,�	__class__rZ
itervalues�TYPES)r-r.r/rr4r1Zjwk_clsrrr�load[s ��zJWK.load)NN)NN)�__name__�
__module__�__qualname__�__doc__�type_field_namer=r;r9rr rZSHA256r#�abc�abstractmethodr&�classmethodr2r>rrrrrs �

rc@sJeZdZdZdZejejfZde	j
ddfZdd�Ze
dd	��Zd
d�ZdS)
�JWKESz<ES JWK.

    .. warning:: This is not yet implemented!

    ZESZcrv�x�ycCs
t��dSrr$rrrr�fields_to_partial_json�szJWKES.fields_to_partial_jsoncCs
t��dSrr$�r-�jobjrrr�fields_from_json�szJWKES.fields_from_jsoncCs
t��dSrr$rrrrr&�szJWKES.public_keyN)r?r@rArBr8rZEllipticCurvePublicKeyZEllipticCurvePrivateKeyr;rrCrrJrFrMr&rrrrrG{s�
rGc@s>eZdZdZdZdZdejfZdd�Z	e
dd��Zd	d
�ZdS)r7zSymmetric JWK.�octr3rcCsdt�|j�iS)Nr)r	�encode_b64joser4rrrrrJ�szJWKOct.fields_to_partial_jsoncCs|t�|d�d�S)Nrr3)r	�decode_b64joserKrrrrM�szJWKOct.fields_from_jsoncCs|Srrrrrrr&�szJWKOct.public_keyN)
r?r@rArBr8�	__slots__rrCrrJrFrMr&rrrrr7�s

r7csteZdZdZdZejejfZdZ	de
jdfZ�fdd�Z
edd	��Zed
d��Zdd
�Zedd��Zdd�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`

    ZRSAr3�e�ncsDd|vr*t|dtj�s*t�|d�|d<tt|�j|i|��dS)Nr4)r:r
ZComparableRSAKey�superrR�__init__)r�args�kwargs�r<rrrV�s


�zJWKRSA.__init__cCs.dd�}t�t�|t|�dd��d����S)zQEncode Base64urlUInt.

        :type data: long
        :rtype: unicode

        cSst|�drd|S|S)N��0)�len)�argrrr�_leading_zeros�sz,JWKRSA._encode_param.<locals>._leading_zerosrZN�L)r	rO�binasciiZ	unhexlify�hex�rstrip)r-r.r^rrr�
_encode_param�s�zJWKRSA._encode_paramcCs8ztt�t�|��d�WSty2t���Yn0dS)zDecode Base64urlUInt.�N)�intr`Zhexlifyr	rPr'rZDeserializationError)r-r.rrr�
_decode_param�szJWKRSA._decode_paramcCst|�|j��d�S)Nr3)�typer4r&rrrrr&�szJWKRSA.public_keyc
	s@��fdd�dD�\}}tj||d�}d�vr<|�t��}n����d�}d�vszd�vszd�vszd	�vszd
�vszd�vr�t�fdd�d
D��\}}}	}
}}tdd�|D��r�t�d�|���t�fdd�|D��\}}}	}
}n6t�	|||�\}}t�
||�}	t�||�}
t�||�}t�
||||	|
||��t��}�|d�S)Nc3s|]}���|�VqdSr�rf�rrHrKrrr��z*JWKRSA.fields_from_json.<locals>.<genexpr>�rTrS)rSrT�d�p�q�dp�dq�qiZothc3s|]}��|�VqdSr)�getri)rLrrr�s)rmrnrorprqcss|]}|dur|VqdSrr)rZparamrrrr�rjz(Some private parameters are missing: {0}c3s|]}��|�VqdSrrhri)r-rrr�sr3)rZRSAPublicNumbersr&rrf�tuplerr+r,Zrsa_recover_prime_factorsZrsa_crt_dmp1Zrsa_crt_dmq1Zrsa_crt_iqmpZRSAPrivateNumbersZprivate_key)
r-rLrTrS�public_numbersr4rlrmrnrorprq�
all_paramsrrKrrM�sD���������zJWKRSA.fields_from_jsonc	s�t�jjtj�r*�j��}|j|jd�}n>�j��}�j�	���}|j|j|j
|j|j|j
|j|jd�}t�fdd�t�|�D��S)Nrk)rTrSrlrmrnrorprqc3s |]\}}|��|�fVqdSr)rc)rr4�valuerrrrs�z0JWKRSA.fields_to_partial_json.<locals>.<genexpr>)r:r4Z_wrappedr�RSAPublicKeyrtrTrSZprivate_numbersr&rlrmrnZdmp1Zdmq1Ziqmprrr)rZnumbers�paramsZprivateZpublicrrrrJ�s&
�
�
�zJWKRSA.fields_to_partial_json)r?r@rArBr8rrwZ
RSAPrivateKeyr;rQrrCrrVrFrcrfr&rMrJ�
__classcell__rrrYrrR�s


&rR)rBrDr`rZloggingZcryptography.exceptionsr)rZcryptography.hazmat.backendsrZcryptography.hazmat.primitivesrrZ)cryptography.hazmat.primitives.asymmetricrrZjosepyrr	r
Z	getLoggerr?r5ZTypedJSONObjectWithFieldsr�registerrGr7rRrrrr�<module>s(
g

Youez - 2016 - github.com/yon3zu
LinuXploit