| Server IP : 138.197.176.125 / Your IP : 216.73.217.54 Web Server : Apache/2.4.41 (Ubuntu) System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/jwt/contrib/algorithms/__pycache__/ |
Upload File : |
U
�b�[� � @ s@ d dl Z d dlZd dlmZ d dlmZmZ G dd� de�ZdS )� N)� Algorithm)�string_types� text_typec @ sB e Zd ZdZejZejZej Z
dd� Zdd� Zdd� 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
c C s
|| _ d S )N)�hash_alg)�selfr � r �A/usr/lib/python3/dist-packages/jwt/contrib/algorithms/py_ecdsa.py�__init__ s zECAlgorithm.__init__c C s~ t |tj�st |tj�r|S t |t�rrt |t�r:|�d�}ztj�|�}W qz tjj k
rn tj�|�}Y qzX nt
d��|S )Nzutf-8zExpecting a PEM-formatted key.)�
isinstance�ecdsaZ
SigningKeyZVerifyingKeyr r �encodeZfrom_pemZderZ
UnexpectedDER� TypeError)r �keyr r r �prepare_key s
�
zECAlgorithm.prepare_keyc C s |j || jtjjd�S )N)�hashfuncZ sigencode)�signr r �utilZsigencode_string)r �msgr r r r r 3 s
�zECAlgorithm.signc C s6 z|j ||| jtjjd�W S tk
r0 Y dS X d S )N)r Z sigdecodeF)�verifyr r r Zsigdecode_string�AssertionError)r r r Zsigr r r r 7 s �zECAlgorithm.verifyN)�__name__�
__module__�__qualname__�__doc__�hashlibZsha256ZSHA256Zsha384ZSHA384Zsha512ZSHA512r
r r r r r r r r s r )r r Zjwt.algorithmsr Z
jwt.compatr r r r r r r �<module> s