403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/jwt/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/jwt/__pycache__/algorithms.cpython-314.pyc
+
���i�v��:�^RIHt^RIt^RIt^RIt^RIHtHt^RIH	t	H
t
HtHtH
t
HtHt^RIHt^RIHtHt^RIHtHtHtHtHtHtHtHtHt^RIH t H!t!^R	I"H#t#^R
I$H%t%^RI&H't'^RI(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2^R
I3H4t4H5t5^RI6H7t7H8t8^RI9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtA^RIBHCtCHDtDHEtEHFtFHGtGHHtHHItIRtJ]	'dh]:]<,tL]/]1,tM]7]8,]4,]5,tN]L]M,]N,tO]:]/,]7,]4,tP]<]1,]8,]5,tQ0R#mtRRRltS!RR]4tT!RR]T4tU!RR]T4tV]J'd/!RR]T4tW!RR]T4tX!RR ]W4tY!R!R"]T4tZR#R# ]KdRtJL�i;i)$�)�annotationsN)�ABC�abstractmethod)�
TYPE_CHECKING�Any�ClassVar�Literal�NoReturn�cast�overload��InvalidKeyError)�HashlibHash�JWKDict)	�base64url_decode�base64url_encode�der_to_raw_signature�force_bytes�from_base64url_uint�
is_pem_format�
is_ssh_key�raw_to_der_signature�to_base64url_uint)�InvalidSignature�UnsupportedAlgorithm)�default_backend)�hashes)�padding)
�ECDSA�	SECP256K1�	SECP256R1�	SECP384R1�	SECP521R1�
EllipticCurve�EllipticCurvePrivateKey�EllipticCurvePrivateNumbers�EllipticCurvePublicKey�EllipticCurvePublicNumbers)�Ed448PrivateKey�Ed448PublicKey)�Ed25519PrivateKey�Ed25519PublicKey)�
RSAPrivateKey�RSAPrivateNumbers�RSAPublicKey�RSAPublicNumbers�rsa_crt_dmp1�rsa_crt_dmq1�rsa_crt_iqmp�rsa_recover_prime_factors)�Encoding�NoEncryption�
PrivateFormat�PublicFormat�load_pem_private_key�load_pem_public_key�load_ssh_public_keyTFc��V^8�dQhRR/#)��returnzdict[str, Algorithm]�)�formats"�0/usr/lib/python3/dist-packages/jwt/algorithms.py�__annotate__rBis���� 4��c�*�R\4R\\P4R\\P4R\\P4/p\
'Ed/VP
R\\P4R\\P4R\\P4R\\P4R	\\P4R
\\P4R\\P4R\\P4R
\\P4R\\P4R\\P4R\4/4V#)z=
Returns the algorithms that are implemented by the library.
�none�HS256�HS384�HS512�RS256�RS384�RS512�ES256�ES256K�ES384�ES521�ES512�PS256�PS384�PS512�EdDSA)�
NoneAlgorithm�
HMACAlgorithm�SHA256�SHA384�SHA512�
has_crypto�update�RSAAlgorithm�ECAlgorithm�RSAPSSAlgorithm�OKPAlgorithm)�default_algorithmss rA�get_default_algorithmsrais!��
	�
����}�3�3�4���}�3�3�4���}�3�3�4�	���z��!�!���l�&9�&9�:���l�&9�&9�:���l�&9�&9�:���[�%7�%7�8��+�k�&8�&8�9���[�%7�%7�8���[�%7�%7�8����&�&�����)?�)?�@����)?�)?�@����)?�)?�@����
�	
�&�rCc��]tRt^�tRtRRlt]RRl4t]RRl4t]RR	l4t	]
]]R
Rl444t]
]]RRR
ll444t]]RRRll44t]]RRl44t
RtR#)�	Algorithmz@
The interface for an algorithm used to sign and verify tokens.
c� �V^8�dQhRRRR/#)r=�bytestr�bytesr>r?)r@s"rArB�Algorithm.__annotate__�s��5�5�5�5�U�5rCc
��\VRR4pVf\h\'d�\V\4'dp\V\P4'dP\P!V!4\4R7pVPV4\VP44#\V!V4P44#)z�
Compute a hash digest using the specified algorithm's hash algorithm.

If there is no hash algorithm, raises a NotImplementedError.
�hash_algN)�backend)�getattr�NotImplementedErrorrZ�
isinstance�type�
issubclassr�
HashAlgorithm�Hashrr[rf�finalize�digest)�selfrerirss&&  rA�compute_hash_digest�Algorithm.compute_hash_digest�s����4��T�2����%�%�
�J��8�T�*�*��8�V�%9�%9�:�:��[�[���_�5F�G�F��M�M�'�"�����*�+�+���'�*�1�1�3�4�4rCc� �V^8�dQhRRRR/#)r=�keyrr>r?)r@s"rArBrg�s����s��s�rCc
��R#)z�
Performs necessary validation and conversions on the key and returns
the key value in the proper format for sign() and verify().
Nr?�rtrxs&&rA�prepare_key�Algorithm.prepare_key���rCc�$�V^8�dQhRRRRRR/#)r=�msgrfrxrr>r?)r@s"rArBrg�s!������C��E�rCc
��R#)zV
Returns a digital signature for the specified message
using the specified key value.
Nr?�rtrrxs&&&rA�sign�Algorithm.sign�r}rCc�(�V^8�dQhRRRRRRRR/#)r=rrfrxr�sigr>�boolr?)r@s"rArBrg�s(����%��c����$�rCc
��R#)zb
Verifies that the specified digital signature is valid
for the specified message and key values.
Nr?�rtrrxr�s&&&&rA�verify�Algorithm.verify�r}rCc� �V^8�dQhRRRR/#)r=�as_dict�
Literal[True]r>rr?)r@s"rArBrg�s��?�?��?�7�?rCc	��R#�Nr?��key_objr�s&&rA�to_jwk�Algorithm.to_jwk�s��=@rCc� �V^8�dQhRRRR/#)r=r��Literal[False]r>�strr?)r@s"rArBrg�s��D�D��D�C�DrCc	��R#r�r?r�s&&rAr�r��s	��BErCc� �V^8�dQhRRRR/#)r=r�r�r>�
JWKDict | strr?)r@s"rArBrg�s������-�rCc
��R#)z#
Serializes a given key into a JWK
Nr?r�s&&rAr�r��r}rCc� �V^8�dQhRRRR/#)r=�jwk�
str | JWKDictr>rr?)r@s"rArBrg�s����m���rCc
��R#)z:
Deserializes a given key from JWK back into a key object
Nr?�r�s&rA�from_jwk�Algorithm.from_jwk�r}rCr?N�F)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rurr{r�r�r�staticmethodr�r��__static_attributes__r?rCrArcrc�s����5�,���������������?����@�
���D����E�������
�����rCrcc�n�]tRt^�tRtRRltRRltRRlt]RRR	ll4t	]R
Rl4t
RtR
#)rUzN
Placeholder for use when no signing or verification
operations are required.
c� �V^8�dQhRRRR/#)r=rxz
str | Noner>�Noner?)r@s"rArB�NoneAlgorithm.__annotate__�s����z��d�rCc	�6�VR8XdRpVe\R4hV#)�Nz*When alg = "none", key value must be None.r
rzs&&rAr{�NoneAlgorithm.prepare_key�s$���"�9��C��?�!�"N�O�O��
rCc�$�V^8�dQhRRRRRR/#)r=rrfrxr�r>r?)r@s"rArBr��s!������D��U�rCc	��R#)rCr?r�s&&&rAr��NoneAlgorithm.sign�s��rCc�(�V^8�dQhRRRRRRRR/#)r=rrfrxr�r�r>r�r?)r@s"rArBr��s(����%��d����4�rCc	��R#r�r?r�s&&&&rAr��NoneAlgorithm.verify�s��rCc�$�V^8�dQhRRRRRR/#)r=r�rr�r�r>r
r?)r@s"rArBr��s!��$�$��$�d�$�x�$rCc	��\4hr��rlr�s&&rAr��NoneAlgorithm.to_jwk����!�#�#rCc� �V^8�dQhRRRR/#)r=r�r�r>r
r?)r@s"rArBr��s��$�$�m�$��$rCc	��\4hr�r�r�s&rAr��NoneAlgorithm.from_jwk�r�rCr?Nr�)r�r�r�r�r�r{r�r�r�r�r�r�r?rCrArUrU�s>���
����$��$��$��$rCrUc�&�]tRt^�t$Rt]PtR]R&]Pt
R]R&]PtR]R&RRlt
RR	lt]]R
Rl44t]]RRR
ll44t]RRRll4t]RRl4tRRltRRltRtR#)rVzZ
Performs signing and verification operations using HMAC
and the specified hash function.
zClassVar[HashlibHash]rWrXrYc� �V^8�dQhRRRR/#)r=rirr>r�r?)r@s"rArB�HMACAlgorithm.__annotate__�s��!�!��!��!rCc	��WnR#r��ri�rtris&&rA�__init__�HMACAlgorithm.__init__�s�� �
rCc� �V^8�dQhRRRR/#)r=rx�str | bytesr>rfr?)r@s"rArBr��s��	�	�{�	�u�	rCc	�v�\V4p\V4'g\V4'd\R4hV#)zdThe specified key is an asymmetric key or x509 certificate and should not be used as an HMAC secret.)rrrr�rtrx�	key_bytess&& rAr{�HMACAlgorithm.prepare_key�s;����$�	���#�#�z�)�'<�'<�!�9��
�
�rCc�$�V^8�dQhRRRRRR/#)r=r�r�r�r�r>rr?)r@s"rArBr�s$������'4��	�rCc	��R#r�r?r�s&&rAr��HMACAlgorithm.to_jwk
���rCc�$�V^8�dQhRRRRRR/#)r=r�r�r�r�r>r�r?)r@s"rArBr�s$������'5��	�rCc	��R#r�r?r�s&&rAr�r�s��rCc�$�V^8�dQhRRRRRR/#)r=r�r�r�r�r>r�r?)r@s"rArBr�s!��	#�	#��	#�d�	#�}�	#rCc	��R\\V44P4RR/pV'dV#\P!V4#)�k�kty�oct)rr�decode�json�dumps)r�r�r�s&& rAr�r�sA��
�!�+�g�"6�7�>�>�@��5�
��
��J��:�:�c�?�"rCc� �V^8�dQhRRRR/#)r=r�r�r>rfr?)r@s"rArBr�#s��*�*�m�*��*rCc	�8�\V\4'd\P!V4pM\V\4'dTpM\
hVPR4R8wd\
R4h\VR,4# \
d\
R4Rhi;i)�Key is not valid JSONNr�r�zNot an HMAC keyr�)	rmr�r��loads�dict�
ValueErrorr�getr)r��objs& rAr��HMACAlgorithm.from_jwk"s���	E��#�s�#�#�#�z�z�#����C��&�&��� � ��7�7�5�>�U�"�!�"3�4�4���C��)�)��
�	E�!�"9�:��D�	E�s�,B�B�B�Bc�$�V^8�dQhRRRRRR/#)r=rrfrxr>r?)r@s"rArBr�3s!��:�:��:�E�:�e�:rCc	�`�\P!W!VP4P4#r�)�hmac�newrirsr�s&&&rAr��HMACAlgorithm.sign3s ���x�x��$�-�-�0�7�7�9�9rCc�(�V^8�dQhRRRRRRRR/#)r=rrfrxr�r>r�r?)r@s"rArBr�6s(��=�=�%�=�e�=�%�=�D�=rCc	�L�\P!W0PW44#r�)r��compare_digestr�r�s&&&&rAr��HMACAlgorithm.verify6s���"�"�3�	�	�#�(;�<�<rCr�Nr�)r�r�r�r�r��hashlib�sha256rW�__annotations__�sha384rX�sha512rYr�r{rr�r�r�r�r�r�r?rCrArVrV�s����
%,�N�N�F�!�2�$+�N�N�F�!�2�$+�N�N�F�!�2�!�	��������������	#��	#��*��*� :�=�=rCrVc�&�]tRtRt$Rt]PtR]R&]PtR]R&]Pt	R]R&RRlt
R	R
lt]]
RRl44t]]
RR
Rll44t]
RRRll4t]
RRl4tRRltRRltRtR#)r\i<zf
Performs signing and verification operations using
RSASSA-PKCS-v1_5 and the specified hash function.
�$ClassVar[type[hashes.HashAlgorithm]]rWrXrYc� �V^8�dQhRRRR/#�r=riztype[hashes.HashAlgorithm]r>r�r?)r@s"rArB�RSAAlgorithm.__annotate__F���	%�	%�%?�	%�D�	%rCc	��WnR#r�r�r�s&&rAr��RSAAlgorithm.__init__F���$�MrCc� �V^8�dQhRRRR/#)r=rxzAllowedRSAKeys | str | bytesr>�AllowedRSAKeysr?)r@s"rArBr�Is��	 �	 �#?�	 �N�	 rCc	���\V\\34'dV#\V\\34'g\R4h\
V4pVPR4'd\\\V44#\\\VRR74# \d?\\\T44u# \\3d\R4Rhi;ii;i)�Expecting a PEM-formatted key.sssh-rsaN��passwordz(Could not parse the provided public key.)rmr-r/rfr��	TypeErrorr�
startswithrr;r9r�r:rrr�s&& rAr{�RSAAlgorithm.prepare_keyIs����#�
�|�<�=�=��
��c�E�3�<�0�0�� @�A�A�#�C�(�I�

 ��'�'�
�3�3���.A�)�.L�M�M��%�';�I�PT�'U�����
 � ���.A�)�.L�M�M��"�$8�9� �)�B��� � ��
 �s*�/B�B�C&�)C�C&�C"�"C&c�$�V^8�dQhRRRRRR/#)r=r�r�r�r�r>rr?)r@s"rArBr�cs$��	�	�#�	�.;�	�
�	rCc	��R#r�r?r�s&&rAr��RSAAlgorithm.to_jwka���rCc�$�V^8�dQhRRRRRR/#)r=r�r�r�r�r>r�r?)r@s"rArBr�is$��	�	�#�	�.<�	�
�	rCc	��R#r�r?r�s&&rAr�rgr�rCc�$�V^8�dQhRRRRRR/#)r=r�r�r�r�r>r�r?)r@s"rArBr�ns!��$	'�$	'�N�$	'�T�$	'�m�$	'rCc	���Rp\VR4'EdEVP4pRRRR.R\VPP4P4R\VPP4P4R\VP4P4R	\VP4P4R
\VP4P4R\VP4P4R\VP4P4R
\VP4P4/
pM{\VR4'd_VP4pRRRR.R\VP4P4R\VP4P4/pM\R4hV'dV#\P!V4#)N�private_numbersr��RSA�key_opsr��n�e�d�p�q�dp�dq�qir��Not a public or private key)�hasattrrr�public_numbersrr�rrrr�dmp1�dmq1�iqmprr�r�)r�r�r��numberss&&  rAr�rms���)-�C��w� 1�2�2�!�1�1�3���5���x��*�7�+A�+A�+C�+C�D�K�K�M��*�7�+A�+A�+C�+C�D�K�K�M��*�7�9�9�5�<�<�>��*�7�9�9�5�<�<�>��*�7�9�9�5�<�<�>��+�G�L�L�9�@�@�B��+�G�L�L�9�@�@�B��+�G�L�L�9�@�@�B�����(�+�+�!�0�0�2���5���z��*�7�9�9�5�<�<�>��*�7�9�9�5�<�<�>�	��&�&C�D�D���
��z�z�#��&rCc� �V^8�dQhRRRR/#)r=r�r�r>r�r?)r@s"rArBr��s"��E	E�E	E�-�E	E�N�E	ErCc	��\V\4'd\P!V4pM\V\4'dTpM\
hVPR4R8wd
\
R4RhRV9Ed�RV9Ed�RV9Ed�RV9d\
R	4h.ROpVUu.uFq3V9NK		pp\V4pV'd\V4'g
\
R4Rh\\VR,4\VR,44pV'd�\\VR,4\VR
,4\VR,4\VR,4\VR
,4\VR,4VR7pVP'4#\VR,4p\VPW�P4wr�\VV	V
\!W�4\#W�4\%W�4VR7pVP'4#RV9dBRV9d;\\VR,4\VR,44P)4#\
R4h \
d\
R4Rhi;iuupi)r�Nr�r
zNot an RSA keyrrr�othz5Unsupported RSA private key: > 2 primes not supportedrrrrrz@RSA key must include all parameters if any are present besides d)rrrrrrrr)rrrrr)rmr�r�r�r�r�rr��any�allr0rr.r4rrr1r2r3�private_key�
public_key)r�r��other_props�prop�props_found�any_props_foundrrrrrs&          rAr��RSAAlgorithm.from_jwk�s8��
I��c�3�'�'��*�*�S�/�C���T�*�*��C�$�$��w�w�u�~��&�%�&6�7�T�A��c�z�c�S�j�S�C�Z��C�<�)�O���;��7B�C�{�t�s�{�{��C�"%�k�"2��"�3�{�+;�+;�)�Z��� �"2�'��C��1�'��C��1�"��
#�/�-�c�#�h�7�-�c�#�h�7�-�c�#�h�7�0��T��;�0��T��;�0��T��;�'5��G�2�*�*�,�,�,�C��H�5�A�4�&�(�(�!�-=�-=��D�A�0����)�!�/�)�!�/�)�!�/�'5��G��*�*�,�,�����s�
�'�'��C��1�'��C��1���*�,��
&�&C�D�D��{�
I�%�&=�>�D�H�
I��Ds�,I�I�I�"
I6�I3c�$�V^8�dQhRRRRRR/#�r=rrfrxr-r>r?)r@s"rArBr��s&��	F�	F�E�	F�
�	F�%�	FrCc	�j�VPV\P!4VP44#r�)r�r�PKCS1v15rir�s&&&rAr��RSAAlgorithm.sign�s$���8�8�C��!1�!1�!3�T�]�]�_�E�ErCc�(�V^8�dQhRRRRRRRR/#�r=rrfrxr/r�r>r�r?)r@s"rArBr��s(��	�	�e�	�,�	�U�	�t�	rCc	��VPW1\P!4VP44R# \dR#i;i)TF)r�rr-rirr�s&&&&rAr��RSAAlgorithm.verify�s;��
��
�
�3�W�%5�%5�%7�����I���#�
��
�s�48�A�Ar�Nr�)r�r�r�r�r�rrWr�rXrYr�r{rr�r�r�r�r�r�r?rCrAr\r\<s���	�
8>�}�}��4�D�7=�}�}��4�D�7=�}�}��4�D�	%�	 �0
�	�	�
�
�	�
�	�	�
�
�	�
�$	'�
�$	'�L
�E	E�
�E	E�N	F�	�	rCr\c�&�]tRtRt$Rt]PtR]R&]PtR]R&]Pt	R]R&RRlt
R	R
ltRRltR
Rlt
]]RRl44t]]RRRll44t]RRRll4t]RRl4tRtR#)r]i�zZ
Performs signing and verification operations using
ECDSA and the specified hash function
r�rWrXrYc� �V^8�dQhRRRR/#r�r?)r@s"rArB�ECAlgorithm.__annotate__�r�rCc	��WnR#r�r�r�s&&rAr��ECAlgorithm.__init__�r�rCc� �V^8�dQhRRRR/#)r=rxzAllowedECKeys | str | bytesr>�
AllowedECKeysr?)r@s"rArBr5�s��	�	�#>�	�=�	rCc	��\V\\34'dV#\V\\34'g\R4h\
V4pVPR4'd
\V4pM\V4p\V\\34'g
\R4RhV# \d\TRR7pLDi;i)r�secdsa-sha2-Nr�zcExpecting a EllipticCurvePrivateKey/EllipticCurvePublicKey. Wrong key provided for ECDSA algorithms)
rmr%r'rfr�rrrr;r:r�r9r)rtrxr��
crypto_keys&&  rAr{�ECAlgorithm.prepare_key�s����#� 7�9O�P�Q�Q��
��c�E�3�<�0�0�� @�A�A�#�C�(�I�

L��'�'��7�7�!4�Y�!?�J�!4�Y�!?�J�
��4�6L�M���&�y��������
L�1�)�d�K�
�
L�s�"B+�5B+�+C�Cc�$�V^8�dQhRRRRRR/#)r=rrfrxr%r>r?)r@s"rArBr5s"��	<�	<�E�	<�(?�	<�E�	<rCc	�~�VPV\VP444p\W2P4#r�)r�rrir�curve)rtrrx�der_sigs&&& rAr��ECAlgorithm.signs,���h�h�s�E�$�-�-�/�$:�;�G�'����;�;rCc�(�V^8�dQhRRRRRRRR/#)r=rrfrxr9r�r>r�r?)r@s"rArBr5s(��	�	�e�	�-�	�e�	��	rCc	��\W2P4p\T\4'dTP4MTpTP
YA\TP444R# \dR#i;i \dR#i;i)FT)
rr?r�rmr%r$r�rrir)rtrrxr�r@r$s&&&&  rAr��ECAlgorithm.verifys���
�.�s�I�I�>��	
�"�#�'>�?�?��N�N�$���
�!�!�'��d�m�m�o�0F�G����
��
��$�
��
�s#�A+�AA=�+A:�9A:�=B�Bc�$�V^8�dQhRRRRRR/#)r=r�r9r�r�r>rr?)r@s"rArBr5)s$��	�	�"�	�-:�	�
�	rCc	��R#r�r?r�s&&rAr��ECAlgorithm.to_jwk'rrCc�$�V^8�dQhRRRRRR/#)r=r�r9r�r�r>r�r?)r@s"rArBr5/s$��	�	�"�	�-;�	�
�	rCc	��R#r�r?r�s&&rAr�rG-r�rCc�$�V^8�dQhRRRRRR/#)r=r�r9r�r�r>r�r?)r@s"rArBr54s!��)	'�)	'�M�)	'�D�)	'�]�)	'rCc	��\V\4'd VP4P4pM2\V\4'dVP4pM\R4h\VP\4'dRpM�\VP\4'dRpM^\VP\4'dRpM;\VP\4'dRpM\RVP24hRRRVR	\VPVPPR
7P4R\VPVPPR
7P4/p\V\4'dK\VP!4P"VPPR
7P4VR&V'dV#\$P&!V4#)
r�P-256�P-384�P-521�	secp256k1�Invalid curve: r��EC�crv�x)�
bit_length�yr)rmr%r$rr'rr?r!r"r#r rrS�key_sizer�rUr�
private_valuer�r�)r�r�rrRr�s&&   rAr�rG3s����'�#:�;�;�!(�!3�!3�!5�!D�!D�!F���G�%;�<�<�!(�!7�!7�!9��%�&C�D�D��'�-�-��3�3����G�M�M�9�5�5����G�M�M�9�5�5����G�M�M�9�5�5�!��%���
�
��&G�H�H��t��s��&�"�$�$�&�}�}�5�5���&�(��&�"�$�$�&�}�}�5�5���&�(�#�C��'�#:�;�;�,��+�+�-�;�;�&�}�}�5�5���&�(��C��
��
��z�z�#��&rCc� �V^8�dQhRRRR/#)r=r�r�r>r9r?)r@s"rArBr5`s��G	�G	�-�G	�M�G	rCc	��\V\4'd\P!V4pM\V\4'dTpM\
hVPR4R8wd
\
R4RhRV9gRV9d
\
R4Rh\VPR44p\VPR44pVPR4pVR8Xd<\V4\V4u;8Xd^ 8XdMM\4pM�\
R	4RhVR
8Xd<\V4\V4u;8Xd^08XdMM\4pM�\
R4RhVR8Xd<\V4\V4u;8Xd^B8XdMM\4pM[\
R
4RhVR8Xd;\V4\V4u;8Xd^ 8XdMM\4pM\
R4h\
RV24h\\P!VRR7\P!VRR7VR7pRV9dVP#4#\VPR44p\V4\V48wd\
R\V4V4h\%\P!VRR7V4P'4# \
d\
R4Rhi;i)r�Nr�rQzNot an Elliptic curve keyrSrUrRrLz)Coords should be 32 bytes for curve P-256rMz)Coords should be 48 bytes for curve P-384rNz)Coords should be 66 bytes for curve P-521rOz-Coords should be 32 bytes for curve secp256k1rP�big)�	byteorder)rSrUr?rz!D should be {} bytes for curve {})rmr�r�r�r�r�rr�r�lenr!r"r#r r(�int�
from_bytesr$r&r#)r�r�rSrUr?�	curve_objrrs&       rAr��ECAlgorithm.from_jwk_sd��
I��c�3�'�'��*�*�S�/�C���T�*�*��C�$�$��w�w�u�~��%�%�&A�B��L��#�~��C��%�&A�B��L� ������.�A� ������.�A��G�G�E�N�E�����q�6�S��V�)�r�)� )��I�)�C��� ��'�!��q�6�S��V�)�r�)� )��I�)�C��� ��'�!��q�6�S��V�)�r�)� )��I�)�C��� ��+�%��q�6�S��V�)�r�)� )��I�)�G���&���w�&?�@�@�7��.�.��e�.�4��.�.��e�.�4���N��#�~�%�0�0�2�2� ������.�A��1�v��Q���%�7��Q�����/����q�E��2�N���k�m�
��{�
I�%�&=�>�D�H�
I�s�,J+�J+�J+�+Kr�Nr�)r�r�r�r�r�rrWr�rXrYr�r{r�r�rr�r�r�r�r?rCrAr]r]�s���	�
8>�}�}��4�D�7=�}�}��4�D�7=�}�}��4�D�	%�	�<	<�
	�"
�	�	�
�
�	�
�	�	�
�
�	�
�)	'�
�)	'�V
�G	�
�G	rCr]c�2�]tRtRtRtRRltRRltRtR#)	r^i�z1
Performs a signature using RSASSA-PSS with MGF1
c�$�V^8�dQhRRRRRR/#r+r?)r@s"rArB�RSAPSSAlgorithm.__annotate__�s!��	�	�E�	�
�	�%�	rCc		���VPV\P!\P!VP	44VP	4P
R7VP	44#)��mgf�salt_length)r�r�PSS�MGF1ri�digest_sizer�s&&&rAr��RSAPSSAlgorithm.sign�sN���8�8��������T�]�]�_�5� $�
�
�� ;� ;���
�
��
�
rCc�(�V^8�dQhRRRRRRRR/#r0r?)r@s"rArBrc�s(��
	�
	�e�
	�,�
	�U�
	�t�
	rCc
	��VPVV\P!\P!VP	44VP	4P
R7VP	44R# \dR#i;i)reTF)r�rrhririrjrr�s&&&&rAr��RSAPSSAlgorithm.verify�sh��
��
�
����K�K�#�L�L�����9�$(�M�M�O�$?�$?���M�M�O����#�
��
�s�A2A6�6B�Br?N)r�r�r�r�r�r�r�r�r?rCrAr^r^�s��	�	�
	�
	rCr^c��]tRtRtRtRRltRRltRRltR	R
lt]	]
RRl44t]	]
RR
Rll44t]
RRRll4t]
RRl4tRt
R#)r_i�zv
Performs signing and verification operations using EdDSA

This class requires ``cryptography>=2.6`` to be installed.
c� �V^8�dQhRRRR/#)r=�kwargsrr>r�r?)r@s"rArB�OKPAlgorithm.__annotate__�s��	�	�S�	�T�	rCc	��R#r�r?)rtrqs&,rAr��OKPAlgorithm.__init__�s��rCc� �V^8�dQhRRRR/#)r=rxzAllowedOKPKeys | str | bytesr>�AllowedOKPKeysr?)r@s"rArBrr�s��	�	�#?�	�N�	rCc	���\V\\34'd�\V\4'dVPR4MTp\V\4'dVP	R4MTpRV9d
\V4pM.RV9d\
VRR7pMVR,R8Xd\V4p\V\\\\34'g\R4hV#)�utf-8z-----BEGIN PUBLICz-----BEGIN PRIVATENr�:r�Nzssh-zcExpecting a EllipticCurvePrivateKey/EllipticCurvePublicKey. Wrong key provided for EdDSA algorithms)
rmrfr�r��encoder:r9r;r+r,r)r*r)rtrx�key_strr�s&&  rAr{�OKPAlgorithm.prepare_key�s����#��s�|�,�,�1;�C��1G�1G�#�*�*�W�-�S��3=�c�3�3G�3G�C�J�J�w�/�S�	�&�'�1�-�i�8�C�)�W�4�.�y�4�H�C��S�\�V�+�-�i�8�C���"�$4�o�~�V���&�y����JrCc�$�V^8�dQhRRRRRR/#)r=rr�rxz#Ed25519PrivateKey | Ed448PrivateKeyr>rfr?)r@s"rArBrr�s$��	'�	'�"�	'�)L�	'�
�	'rCc
�v�\V\4'dVPR4MTpVPV4#)a
Sign a message ``msg`` using the EdDSA private key ``key``
:param str|bytes msg: Message to sign
:param Ed25519PrivateKey}Ed448PrivateKey key: A :class:`.Ed25519PrivateKey`
    or :class:`.Ed448PrivateKey` isinstance
:return bytes signature: The signature, as bytes
rx)rmr�rzr�)rtrrx�	msg_bytess&&& rAr��OKPAlgorithm.sign�s/��0:�#�s�/C�/C��
�
�7�+��I��8�8�I�&�&rCc�(�V^8�dQhRRRRRRRR/#)r=rr�rxrvr�r>r�r?)r@s"rArBrr�s,��	�	�"�	�)7�	�>I�	�
�	rCc
�N�\V\4'dVPR4MTp\V\4'dVPR4MTp\V\\34'dVP4MTpVP
WT4R# \dR#i;i)ap
Verify a given ``msg`` against a signature ``sig`` using the EdDSA key ``key``

:param str|bytes sig: EdDSA signature to check ``msg`` against
:param str|bytes msg: Message to sign
:param Ed25519PrivateKey|Ed25519PublicKey|Ed448PrivateKey|Ed448PublicKey key:
    A private or public EdDSA key instance
:return bool verified: True if signature is valid, False if not.
rxTF)rmr�rzr+r)r$r�r)rtrrxr�r�	sig_bytesr$s&&&&   rAr��OKPAlgorithm.verify�s���
�3=�c�3�3G�3G�C�J�J�w�/�S�	�3=�c�3�3G�3G�C�J�J�w�/�S�	�"�#�(9�?�'K�L�L��N�N�$���
�!�!�)�7���#�
��
�s�BB�B$�#B$c�$�V^8�dQhRRRRRR/#)r=rxrvr�r�r>rr?)r@s"rArBrrs$��	�	��	�*7�	�
�	rCc	��R#r�r?�rxr�s&&rAr��OKPAlgorithm.to_jwkrrCc�$�V^8�dQhRRRRRR/#)r=rxrvr�r�r>r�r?)r@s"rArBrrs$��	�	��	�*8�	�
�	rCc	��R#r�r?r�s&&rAr�r�r�rCc�$�V^8�dQhRRRRRR/#)r=rxrvr�r�r>r�r?)r@s"rArBrrs&��,	A�,	A��,	A��,	A�-�,	ArCc	��\V\\34'd�VP\P
\P
R7p\V\4'dRMRpR\\V44P4RRRV/pV'dV#\P!V4#\V\\34'd�VP\P
\P
\!4R7pVP#4P\P
\P
R7p\V\4'dRMRpR\\V44P4R\\V44P4RRRV/pV'dV#\P!V4#\%R	4h)
)�encodingr@�Ed25519�Ed448rSr��OKPrR)r�r@�encryption_algorithmrr)rmr,r*�public_bytesr5�Rawr8rrr�r�r�r+r)�
private_bytesr7r6r$r)rxr�rSrRr�rs&&    rAr�r�sy���#� 0�.�A�B�B��$�$�%�\�\�'�+�+�%���$.�c�3C�#D�#D�i�'���)�+�a�.�9�@�@�B��5��3�����J��:�:�c�?�*��#� 1�?�C�D�D��%�%�%�\�\�(�,�,�)5��&����N�N�$�1�1�%�\�\�'�+�+�2���
$.�c�3D�#E�#E�i�7���)�+�a�.�9�@�@�B��)�+�a�.�9�@�@�B��5��3�	����J��:�:�c�?�*�!�"?�@�@rCc� �V^8�dQhRRRR/#)r=r�r�r>rvr?)r@s"rArBrrKs�� 	H� 	H�-� 	H�N� 	HrCc	��\V\4'd\P!V4pM\V\4'dTpM\
hVPR4R8wd\
R4hVPR4pVR8wdVR8wd\
RV24hR	V9d\
R
4h\VPR	44pRV9d4VR8Xd\P!V4#\P!V4#\VPR44pVR8Xd\P!V4#\P!V4# \
d\
R4Rhi;i \
dp\
R4ThRp?ii;i)
r�Nr�r�zNot an Octet Key PairrRr�r�rPrSzOKP should have "x" parameterrzInvalid key parameter)rmr�r�r�r�r�rr�rr,�from_public_bytesr*r+�from_private_bytesr))r�r�r?rSr�errs&     rAr��OKPAlgorithm.from_jwkJs`��
I��c�3�'�'��*�*�S�/�C���T�*�*��C�$�$��w�w�u�~��&�%�&=�>�>��G�G�E�N�E��	�!�e�w�&6�%���w�&?�@�@��#�~�%�&E�F�F� ������.�A�

H��c�>��	�)�/�A�A�!�D�D�)�;�;�A�>�>�$�S�W�W�S�\�2���I�%�,�?�?��B�B�&�9�9�!�<�<��-�
I�%�&=�>�D�H�
I��.�
H�%�&=�>�C�G��
H�s@�,E�E�E�	#E+�-E+�6E+�:E+�E(�+F�6F�Fr?Nr�)r�r�r�r�r�r�r{r�r�rr�r�r�r�r?rCrAr_r_�s���	�	�	�.	'�	�4
�	�	�
�
�	�
�	�	�
�
�	�
�,	A�
�,	A�\
� 	H�
� 	HrCr_>rLrNrPrOrTrQrRrSrIrJrKrM)[�
__future__rr�r�r��abcrr�typingrrrr	r
rr�
exceptionsr�typesrr�utilsrrrrrrrrr�cryptography.exceptionsrr�cryptography.hazmat.backendsr�cryptography.hazmat.primitivesr�)cryptography.hazmat.primitives.asymmetricr�,cryptography.hazmat.primitives.asymmetric.ecrr r!r"r#r$r%r&r'r(�/cryptography.hazmat.primitives.asymmetric.ed448r)r*�1cryptography.hazmat.primitives.asymmetric.ed25519r+r,�-cryptography.hazmat.primitives.asymmetric.rsar-r.r/r0r1r2r3r4�,cryptography.hazmat.primitives.serializationr5r6r7r8r9r:r;rZ�ModuleNotFoundErrorr�r9rv�AllowedKeys�AllowedPrivateKeys�AllowedPublicKeys�requires_cryptographyrarcrUrVr\r]r^r_r?rCrA�<module>r�s���"����#�R�R�R�'�'�
�
�
�/�N�<�5�A������	�	�	�����J�
�"�\�1�N�+�.D�D�M��,�,��>��O��!�=�0�>�A�K��/�/�2C�C�o�U��	�-�-�0@�@�>�Q��

�� �DF��F�R$�I�$�<E=�I�E=�P�h�y�h�TA�i�A�F�,��<dH�y�dH�[��k���J��s�A*F�	F�F

Youez - 2016 - github.com/yon3zu
LinuXploit