File: //usr/local/CyberCP/lib64/python3.10/site-packages/jwt/__pycache__/api_jwk.cpython-310.pyc
o
�hc � @ s� d dl mZ d dlZd dlZd dlmZ ddlmZmZm Z ddl
mZmZm
Z
mZmZ ddlmZ G dd � d �ZG d
d� d�ZG dd
� d
�ZdS )� )�annotationsN)�Any� )�get_default_algorithms�
has_crypto�requires_cryptography)�InvalidKeyError�MissingCryptographyError�
PyJWKError�
PyJWKSetError�
PyJWTError)�JWKDictc @ sb e Zd Zdddd �Zedddd��Zedddd��Zeddd��Zeddd��Z eddd��Z
dS )�PyJWKN�jwk_datar
� algorithm�
str | None�return�Nonec C sp t � | _|| _| j�dd �}|std| j� ���|s't| jt�r'| j�dd �}|s�| j�dd �}|dkrY|dks:|s=d}nM|dkrDd }nF|d
krKd}n?|dkrRd
}n8td|� ���|dkr`d}n*|dkrgd}n#|dkr�|sutd| j� ���|dkr|d}ntd|� ���td|� ���ts�|tv r�t |� d���|| _
|| jv r�| j| | _ntd| j� ���| j�
| j�| _d S )N�ktyzkty is not found: �alg�crv�ECzP-256�ES256zP-384�ES384zP-521�ES512� secp256k1�ES256KzUnsupported crv: �RSA�RS256�oct�HS256�OKPzcrv is not found: �Ed25519�EdDSAzUnsupported kty: z) requires 'cryptography' to be installed.z%Unable to find an algorithm for key: )r �_algorithms� _jwk_data�getr �
isinstance�dictr r r �algorithm_name� Algorithmr
�from_jwk�key)�selfr r r r � r. �>/usr/local/CyberCP/lib/python3.10/site-packages/jwt/api_jwk.py�__init__ sN �
zPyJWK.__init__�objc C s
t | |�S �N)r )r1 r r. r. r/ � from_dictH s
zPyJWK.from_dict�data�strc C s t �| �}t�||�S r2 )�json�loadsr r3 )r4 r r1 r. r. r/ � from_jsonL s
zPyJWK.from_jsonc C � | j �dd �S )Nr �r% r&