HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/josepy/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/josepy/__pycache__/jwk.cpython-311.pyc
�

*b�6���dZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZm
Z
mZddlZddlmZddlmZmZddlmZmZddlZddlmZmZmZeje��Z Gd�d	ej!ej"�
��Z#e#j$Gd�de#����Z%e#j$Gd
�de#����Z&e#j$Gd�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
���eZdZUdZdZiZeeedfe	d<dZ
eeedfe	d<	e
Zeee	d<	dd	d
d�Zeeeeeeeeffe	d<ee	d
<ejfdegejfdefd�Zejdd���Ze		ddedeedeedefd���Ze		ddedeedeeddfd���Z dS)�JWKr�kty�TYPES�.�cryptography_key_types�requiredN)�,�:T)�indent�
separators�	sort_keys�_thumbprint_json_dumps_params�key�
hash_function�returnc�X��tj|��t�����}|�t	j�fd��������D��fi�j���	����|�
��S)zgCompute JWK Thumbprint.

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

        :returns: bytes

        )�backendc�.��i|]\}}|�jv�||��Sr)r)�.0�k�v�selfs   ��,/usr/lib/python3/dist-packages/josepy/jwk.py�
<dictcomp>z"JWK.thumbprint.<locals>.<dictcomp>=s5���
'�
'�
'�d�a����
�%�%���%�%�%�)r�Hashr
�update�json�dumps�to_json�itemsr!�encode�finalize)r+r#�digests`  r,�
thumbprintzJWK.thumbprint2s������]�]�_�_�o�6G�6G�H�H�H���
�
�d�j�
'�
'�
'�
'�d�l�l�n�n�2�2�4�4�
'�
'�
'�2�2��0�2�2�39�&�(�(�	<�	<�	<���� � � r.c��t���)ziGenerate JWK with public key.

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

        )�NotImplementedError�r+s r,�
public_keyzJWK.public_keyBs��"�#�#�#r.�data�passwordr&c��|�t��n|}i}tjtjfD]Q}	||||��cS#tt
tjjf$r}||t|��<Yd}~�Jd}~wwxYwtj
tjfD]J}	|||��cS#ttjjf$r}||t|��<Yd}~�Cd}~wwxYwtj
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)�clsr=r>r&rE�loader_private�error�
loader_publics        r,�_load_cryptography_keyzJWK._load_cryptography_keyKsZ��(/��/�#�#�#�G���
� -�A�,�A�C�	8�	8�N�
8�%�~�d�H�g�>�>�>�>�>���	� �+�@�B�
8�
8�
8�27�
�3�~�.�.�/�/�/�/�/�/�����
8����,�?�+�?�A�	7�	7�M�
7�$�}�T�7�3�3�3�3�3��� �+�@�B�
7�
7�
7�16�
�3�}�-�-�.�.�.�.�.�.�����
7����
�l�;�B�B�:�N�N�O�O�Os-�?�!A<� A7�7A<�B(�(C�C�Cc�B�	|�|||��}nG#tj$r5}t�d|��t|���cYd}~Sd}~wwxYw|jturGt||j	��s2tjd�
|j|j�����|j�
��D]%}t||j	��r||���cS�&tjd�
|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})rPrrJ�logger�debug�JWKOct�typ�NotImplemented�
isinstancerrK�	__class__r�values)rLr=r>r&r"rN�jwk_clss       r,�loadzJWK.loadhs8��"	$��,�,�T�8�W�E�E�C�C���|�	$�	$�	$��L�L�G��O�O�O��d�#�#�#�#�#�#�#�#�#�����	$�����7�.�(�(��C��A[�1\�1\�(��,�C�J�J��
�s�}� .� .�/�/�
/��y�'�'�)�)�	(�	(�G��#�w�=�>�>�
(��w�3�'�'�'�'�'�'�
(��l�7�>�>�s�}�M�M�N�N�Ns��A�*A�A�A)r$r)NN)!�__name__�
__module__�__qualname__�__doc__�type_field_namerrrGr�__annotations__rr
rrWrr	r!rr�int�boolr�SHA256r�
HashAlgorithm�bytesr8�abc�abstractmethodr<�classmethodrPr\rr.r,rrs�����������O�$&�E�4��T�%�[� �!�&�&�&�46��E�$�s�)�S�.�1�6�6�6�%�,�H�h�s�m�,�,�,�P�
� ��[�[�!�4��U�8�C�=�(�3�-�QU�3U�-V�(V�#W����

�H�H�H�HN�}�!�!�"*�2�v�/C�+C�"D�!�Y^�!�!�!�!� 	��$�$�$���$��MQ�8<�P�P�%�P�8�E�?�P�(0��
�P�AD�P�P�P��[�P�8�;?�&*�O�O��O��%��O��s�m�O�/4�O�O�O��[�O�O�Or.r)�	metaclassc��eZdZUdZdZdZdejfZe	e
d<deeeffd�Z
edeeefddfd	���Zdd
�ZdS)
rUzSymmetric JWK.�octrRr)r"r$c�8�dtj|j��iS)Nr))r�encode_b64joser"r;s r,�fields_to_partial_jsonzJWKOct.fields_to_partial_json�s��
�Y�-�d�h�7�7�8�8r.�jobjc�J�|tj|d�����S)Nr)rR)r�decode_b64jose)rLrqs  r,�fields_from_jsonzJWKOct.fields_from_json�s$���s�y�/��S�	�:�:�;�;�;�;r.c��|S�Nrr;s r,r<zJWKOct.public_key�s���r.N)r$rU)r]r^r_r`rV�	__slots__rrarrgrbrrGrprjrrrtr<rr.r,rUrU�s����������
�C��I��S�(�)�H�	�J�J�J�9��S�#�X��9�9�9�9��<�G�C��H�$5�<�(�<�<�<��[�<������r.rUc���eZdZUdZdZejejfZdZ	de
jdfZe
jjed<deded	d
f�fd�Zeded	efd
���Zeded	efd���Zdd�Zedeeefd	dfd���Zd	eeeffd�Z�xZS)�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`

    �RSArR�e�nr"�args�kwargsr$Nc���d|vr=t|dtj��stj|d��|d<t��j|i|��dS�Nr")rXr�ComparableRSAKey�super�__init__�r+r}r~rYs   �r,r�zJWKRSA.__init__�s`����F�?�?�:��u�
�t�4�$6�$6�?� �1�&��-�@�@�F�5�M������$�)�&�)�)�)�)�)r.r=c���t|���d��}tj|dz��}t	j|�d|�����S)zOEncode Base64urlUInt.
        :type data: long
        :rtype: unicode
        ��big��	byteorder�length)�max�
bit_length�math�ceilrro�to_bytes�rLr=r�s   r,�
_encode_paramzJWKRSA._encode_param�sQ���T�_�_�&�&��*�*����6�A�:�&�&���'��
�
��f�
�(U�(U�V�V�Vr.c���	tj|��}|stj���t�|d���S#t$rtj���wxYw)�Decode Base64urlUInt.r��r�)rrsr�DeserializationErrorrc�
from_bytesrB)rLr=�binarys   r,�
_decode_paramzJWKRSA._decode_param�sn��	0��-�d�3�3�F��
4��1�3�3�3��>�>�&�E�>�:�:�:���	0�	0�	0��-�/�/�/�	0���s�AA�A%c�b�t|��|j������S)NrR)�typer"r<r;s r,r<zJWKRSA.public_key�s)���t�D�z�z�d�h�1�1�3�3�4�4�4�4r.rqc	�^�����fd�dD��\}}tj||���}d�vr+�|�t�������S���d��}d�vsd�vsd�vsd	�vsd
�vsd�vr�t�fd�d
D����x\}}}}	}
}td�|D����r't
jd�|�����t�fd�|D����\}}}}	}
nXtj	|||��\}}tj
||��}tj||��}	tj||��}
tj
|||||	|
|���t����}�|���S)Nc3�N�K�|]}���|��V�� dSrv�r�)r(�xrLrqs  ��r,�	<genexpr>z*JWKRSA.fields_from_json.<locals>.<genexpr>�s5�����?�?�q��!�!�$�q�'�*�*�?�?�?�?�?�?r.�r|r{)r{r|�drR�p�q�dp�dq�qi�othc3�B�K�|]}��|��V��dSrv)�get)r(r�rqs  �r,r�z*JWKRSA.fields_from_json.<locals>.<genexpr>�sF�����3C�3C� !�������3C�3C�3C�3C�3C�3Cr.)r�r�r�r�r�c3�K�|]}|�|V��	dSrvr)r(�params  r,r�z*JWKRSA.fields_from_json.<locals>.<genexpr>�s"����D�D�u�e�m�U�m�m�m�m�D�Dr.z(Some private parameters are missing: {0}c3�\�K�|]&}��t|����V��'dSrv)r�rG)r(r�rLs  �r,r�z*JWKRSA.fields_from_json.<locals>.<genexpr>�sH�����%?�%?�./��!�!�#�a�&�&�)�)�%?�%?�%?�%?�%?�%?r.)r�RSAPublicNumbersr<r
r��tuplerrJrK�rsa_recover_prime_factors�rsa_crt_dmp1�rsa_crt_dmq1�rsa_crt_iqmp�RSAPrivateNumbers�private_key)
rLrqr|r{�public_numbersr�r�r�r�r�r��
all_paramsr"s
``           r,rtzJWKRSA.fields_from_json�s4����?�?�?�?�?�J�?�?�?���1��-��Q�7�7�7���d�?�?��3�>�4�4�_�5F�5F�G�G�H�H�H�H�
���d�3�i�(�(���4�K�K�3�$�;�;�$�$�,�,�����������
�
�.3�3C�3C�3C�3C�%A�3C�3C�3C�.C�.C�
C��A�q�"�b�"�
��D�D�
�D�D�D�D�D�
%��l�>�E�E�"�$�$�%�%�%� %�%?�%?�%?�%?�3=�%?�%?�%?� ?� ?��A�q�"�b�"�"��0��A�q�9�9�D�A�q��!�!�Q�'�'�B��!�!�Q�'�'�B��!�!�Q�'�'�B��#�
�q�!�R��R��1�1�1<���!�!�2#�2#�	��s�s�|�|�|�r.c	����t�jjtj��r)�j���}|j|jd�}nw�j���}�j�	�����}|j|j|j
|j|j|j
|j|jd�}�fd�|���D��S)Nr�)r|r{r�r�r�r�r�r�c�B��i|]\}}|��|����Sr)r�)r(r"�valuer+s   �r,r-z1JWKRSA.fields_to_partial_json.<locals>.<dictcomp>	s=���2�2�2��C���T�'�'��.�.�2�2�2r.)rXr"�_wrappedr�RSAPublicKeyr�r|r{�private_numbersr<r�r�r��dmp1�dmq1�iqmpr4)r+�numbers�params�private�publics`    r,rpzJWKRSA.fields_to_partial_json�s�����d�h�'��)9�:�:�	��h�-�-�/�/�G��Y��Y���F�F�
�h�.�.�0�0�G��X�(�(�*�*�9�9�;�;�F��X��X��Y��Y��Y��l��l��l�	�	�F�2�2�2�2�"(�,�,�.�.�2�2�2�	2r.)r$ry)r]r^r_r`rVrr��
RSAPrivateKeyrrwrrar�josepyrr�rbrr�rjrcrGr�r�r<rrtrrp�
__classcell__�rYs@r,ryry�sl�����������C�!�.��0A�B���I��S�(�#�.�H�	��	%�%�%�%�*�c�*�S�*�T�*�*�*�*�*�*��W��W��W�W�W��[�W��0��0��0�0�0��[�0�5�5�5�5��&�G�C��H�$5�&�(�&�&�&��[�&�P2��S�#�X��2�2�2�2�2�2�2�2r.ryc	���eZdZUdZdZdZejejfZ	de
jddfZe
jjed<ded	ed
df�fd�Zed
eded
efd���Zed
ededed
efd���Zeded
efd���Zeded
ejfd���Zedejd
efd���Zd
eeeffd�Zedeeefd
dfd���Zdd�Z �xZ!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`

    �ECrR�crvr��yr"r}r~r$Nc���d|vr=t|dtj��stj|d��|d<t��j|i|��dSr�)rXr�ComparableECKeyr�r�r�s   �r,r�zJWKEC.__init__s`����F�?�?�:��u�
�t�3�$5�$5�?� �0����?�?�F�5�M������$�)�&�)�)�)�)�)r.r=r�c�T�tj|�d|�����S)zlEncode Base64urlUInt.
        :type data: long
        :type key_size: long
        :rtype: unicode
        r�r�)rror�r�s   r,r�zJWKEC._encode_param#s%���'��
�
��f�
�(U�(U�V�V�Vr.�name�valid_lengthc
�"�	tj|��}t|��|kr+tjd|�d|�dt|���d����t
�|d���S#t$rtj���wxYw)r�zExpected parameter "z" to be z" bytes after base64-decoding; got z bytes insteadr�r�)rrs�lenrr�rcr�rB)rLr=r�r�r�s     r,r�zJWKEC._decode_param,s���		0��-�d�3�3�F��6�{�{�l�*�*��1�N�4�N�N��N�N�25�f�+�+�N�N�N�����>�>�&�E�>�:�:�:���	0�	0�	0��-�/�/�/�	0���s�A-A0�0B�
curve_namec�X�|dkrdS|dkrdS|dkrdStj���)N�	secp256r1�P-256�	secp384r1�P-384�	secp521r1�P-521)r�SerializationError)rLr�s  r,�_curve_name_to_crvzJWKEC._curve_name_to_crv:sA����$�$��7���$�$��7���$�$��7��'�)�)�)r.c��|dkrtj��S|dkrtj��S|dkrtj��St	j���)Nr�r�r�)r�	SECP256R1�	SECP384R1�	SECP521R1rr�)rLr�s  r,�
_crv_to_curvezJWKEC._crv_to_curveDsR���'�>�>��<�>�>�!��'�>�>��<�>�>�!��'�>�>��<�>�>�!��)�+�+�+r.�curvec���t|tj��rdSt|tj��rdSt|tj��rdStd|�����)N� �0�BzUnexpected curve: )rXrr�r�r�rB)rLr�s  r,�expected_length_for_curvezJWKEC.expected_length_for_curveOsd���e�R�\�*�*�	��2�
��r�|�
,�
,�	��2�
��r�|�
,�
,�	��2��5�e�5�5�6�6�6r.c�F���i}t�jjtj��r�j����n�t�jjtj��rO�j���}�j�������|j	|d<ntjd����j|d<�j
|d<��fd�|���D��}���jj��|d<|S)Nr�zRSupplied key is neither of type EllipticCurvePublicKey nor EllipticCurvePrivateKeyr�r�c	�t��i|]4\}}|��|���j������5Sr)r�r�r�)r(r"r�r�r+s   ��r,r-z0JWKEC.fields_to_partial_json.<locals>.<dictcomp>hsO���
�
�
���U�
��#�#�E�4�+I�+I�&�,�+W�+W�X�X�
�
�
r.r�)rXr"r�r�EllipticCurvePublicKeyr��EllipticCurvePrivateKeyr�r<�
private_valuerr�r�r�r4r�r�r�)r+r�r�r�s`  @r,rpzJWKEC.fields_to_partial_jsonYs�������d�h�'��)B�C�C�
	��X�,�,�.�.�F�F�
���)�2�+E�
F�
F�	��h�.�.�0�0�G��X�(�(�*�*�9�9�;�;�F�!�/�F�3�K�K��+�.���
��h��s���h��s��
�
�
�
�
�$�l�l�n�n�
�
�
���/�/���0A�B�B��u�
��
r.rqc���������d��}��|������fd�dD��\}}tj|||���}d�vr+�|�t�������S���dd���}tj||���t����}�|���S)Nr�c3�R�K�|]!}���||���V��"dSrvr�)r(r|rL�expected_lengthrqs  ���r,r�z)JWKEC.fields_from_json.<locals>.<genexpr>ss9�����S�S�1��!�!�$�q�'�1�o�>�>�S�S�S�S�S�Sr.)r�r�)r�r�r�r�rR)	r�r�r�EllipticCurvePublicNumbersr<r
r��EllipticCurvePrivateNumbersr�)	rLrqr�r�r�r�r�r"r�s	``      @r,rtzJWKEC.fields_from_jsonos�������!�!�$�u�+�.�.���7�7��>�>��S�S�S�S�S�S�
�S�S�S���1��6��a�u�M�M�M���d�?�?��3�>�4�4�_�5F�5F�G�G�H�H�H�H�
���d�3�i��o�>�>���,�Q��?�?�K�K�O�L]�L]�^�^���s�s�|�|�|�r.c��t|jd��r|j���}n8|j����t	����}t|��|���S)Nr<rR)�hasattrr"r<r�r
r�)r+r"s  r,r<zJWKEC.public_keysl���4�8�\�*�*�	J��(�%�%�'�'�C�C��(�)�)�+�+�6�6��7H�7H�I�I�C��t�D�z�z�c�"�"�"�"r.)r$r�)"r]r^r_r`rVrwrr�r�rrrarr�rr�rbrr�rjrcrGr�r�r��
EllipticCurver�r�rrprrtr<r�r�s@r,r�r�
s�����������C��I�
�!�2�#=�?���s�*�C��5�H�	��	$�$�$�$�*�c�*�S�*�T�*�*�*�*�*�*��W��W�c�W�c�W�W�W��[�W��0��0�C�0�s�0�s�0�0�0��[�0��*�C�*�C�*�*�*��[�*��,��,��(8�,�,�,��[�,��7�b�.>�7�3�7�7�7��[�7���S�#�X������,�
�G�C��H�$5�
�'�
�
�
��[�
�#�#�#�#�#�#�#�#r.r�)(r`rhr1�loggingr��typingrrrrrr	r
rr�cryptography.exceptionsrD�cryptography.hazmat.backendsr
�cryptography.hazmat.primitivesrr�)cryptography.hazmat.primitives.asymmetricrr�josepy.utilr�rrr�	getLoggerr]rS�TypedJSONObjectWithFields�ABCMetar�registerrUryr�rr.r,�<module>rs7����
�
�
�
�������������
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�����8�8�8�8�8�8�@�@�@�@�@�@�@�@�=�=�=�=�=�=�=�=�����*�*�*�*�*�*�*�*�*�*�	��	�8�	$�	$��hO�hO�hO�hO�hO�)�
-���hO�hO�hO�hO�V�������S������,��j2�j2�j2�j2�j2�S�j2�j2���j2�Z��w#�w#�w#�w#�w#�C�w#�w#���w#�w#�w#r.