HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/jwt/__pycache__/api_jwk.cpython-310.pyc
o

�hc�@s�ddlmZddlZddlZddlmZddlmZmZm	Z	ddl
mZmZm
Z
mZmZddlmZGdd	�d	�ZGd
d�d�ZGdd
�d
�ZdS)�)�annotationsN)�Any�)�get_default_algorithms�
has_crypto�requires_cryptography)�InvalidKeyError�MissingCryptographyError�
PyJWKError�
PyJWKSetError�
PyJWTError)�JWKDictc@sbeZdZdddd	�Zedddd��Zedddd��Zeddd��Zeddd��Z	eddd��Z
dS)�PyJWKN�jwk_datar
�	algorithm�
str | None�return�NonecCspt�|_||_|j�dd�}|std|j����|s't|jt�r'|j�dd�}|s�|j�dd�}|dkrY|dks:|s=d}nM|dkrDd	}nF|d
krKd}n?|dkrRd
}n8td|����|dkr`d}n*|dkrgd}n#|dkr�|sutd|j����|dkr|d}ntd|����td|����ts�|tvr�t	|�d���||_
||jvr�|j||_ntd|j����|j�
|j�|_dS)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�dictrrr	�algorithm_name�	Algorithmr
�from_jwk�key)�selfrrrr�r.�>/usr/local/CyberCP/lib/python3.10/site-packages/jwt/api_jwk.py�__init__sN�
zPyJWK.__init__�objcCs
t||�S�N)r)r1rr.r.r/�	from_dictHs
zPyJWK.from_dict�data�strcCst�|�}t�||�Sr2)�json�loadsrr3)r4rr1r.r.r/�	from_jsonLs
zPyJWK.from_jsoncC�|j�dd�S)Nr�r%r&�r-r.r.r/�key_typeQ�zPyJWK.key_typecCr9)N�kidr:r;r.r.r/�key_idUr=zPyJWK.key_idcCr9)N�user:r;r.r.r/�public_key_useYr=zPyJWK.public_key_user2)rr
rrrr)r1r
rrrr)r4r5rrrr)rr)�__name__�
__module__�__qualname__r0�staticmethodr3r8�propertyr<r?rAr.r.r.r/rs5rc@s<eZdZddd�Zedd	d
��Zedd
d��Zddd�ZdS)�PyJWKSet�keys�
list[JWKDict]rrcCs�g|_|s	td��t|t�std��|D]%}z
|j�t|��Wqty9}z
t|t�r/|�WYd}~qd}~wwt|j�dkrEtd��dS)Nz$The JWK Set did not contain any keyszInvalid JWK Set valuerzUThe JWK Set did not contain any usable keys. Perhaps 'cryptography' is not installed?)	rHrr'�list�appendrrr	�len)r-rHr,�errorr.r.r/r0_s&

����zPyJWKSet.__init__r1�dict[str, Any]cCs|�dg�}t|�S)NrH)r&rG)r1rHr.r.r/r3vszPyJWKSet.from_dictr4r5cCst�|�}t�|�Sr2)r6r7rGr3)r4r1r.r.r/r8{s

zPyJWKSet.from_jsonr>rcCs,|jD]}|j|kr|Sqtd|����)Nzkeyset has no key for kid: )rHr?�KeyError)r-r>r,r.r.r/�__getitem__�s


�zPyJWKSet.__getitem__N)rHrIrr)r1rNrrG)r4r5rrG)r>r5rr)rBrCrDr0rEr3r8rPr.r.r.r/rG^s
rGc@s*eZdZddd�Zd
dd�Zdd	d
�ZdS)�PyJWTSetWithTimestamp�jwk_setrGcCs||_t��|_dSr2)rR�time�	monotonic�	timestamp)r-rRr.r.r/r0�szPyJWTSetWithTimestamp.__init__rcC�|jSr2)rRr;r.r.r/�get_jwk_set��z!PyJWTSetWithTimestamp.get_jwk_set�floatcCrVr2)rUr;r.r.r/�
get_timestamp�rXz#PyJWTSetWithTimestamp.get_timestampN)rRrG)rrG)rrY)rBrCrDr0rWrZr.r.r.r/rQ�s

rQ)�
__future__rr6rS�typingr�
algorithmsrrr�
exceptionsrr	r
rr�typesr
rrGrQr.r.r.r/�<module>sL)