HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/jwt/contrib/algorithms/__pycache__/py_ecdsa.cpython-36.pyc
3

�k�Z��@s@ddlZddlZddlmZddlmZmZGdd�de�ZdS)�N)�	Algorithm)�string_types�	text_typec@sBeZdZdZejZejZej	Z
dd�Zdd�Zdd�Z
dd	�Zd
S)�ECAlgorithmz�
    Performs signing and verification operations using
    ECDSA and the specified hash function

    This class requires the ecdsa package to be installed.

    This is based off of the implementation in PyJWT 0.3.2
    cCs
||_dS)N)�hash_alg)�selfr�r�/usr/lib/python3.6/py_ecdsa.py�__init__szECAlgorithm.__init__cCs~t|tj�st|tj�r|St|t�rrt|t�r:|jd�}ytjj|�}Wqztjj	k
rntjj|�}YqzXnt
d��|S)Nzutf-8zExpecting a PEM-formatted key.)�
isinstance�ecdsaZ
SigningKeyZVerifyingKeyrr�encodeZfrom_pemZderZ
UnexpectedDER�	TypeError)r�keyrrr	�prepare_keys


zECAlgorithm.prepare_keycCs|j||jtjjd�S)N)�hashfuncZ	sigencode)�signrr�utilZsigencode_string)r�msgrrrr	r3s
zECAlgorithm.signcCs2y|j|||jtjjd�Stk
r,dSXdS)N)rZ	sigdecodeF)�verifyrrrZsigdecode_string�AssertionError)rrrZsigrrr	r7s
zECAlgorithm.verifyN)�__name__�
__module__�__qualname__�__doc__�hashlibZsha256ZSHA256Zsha384ZSHA384Zsha512ZSHA512r
rrrrrrr	rsr)rrZjwt.algorithmsrZ
jwt.compatrrrrrrr	�<module>s