HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //usr/lib/python3/dist-packages/jwt/__pycache__/utils.cpython-310.pyc
o

�l�i��@s�ddlZddlZddlZddlmZmZzddlmZddlm	Z	m
Z
Wney/eZYnwdeee
fde
fdd�Zd	eee
fde
fd
d�Zd	e
de
fdd
�Zdede
fdd�Zdeee
fdefdd�Zdedede
fdd�Zde
defdd�Zdede
fdd�Zde
dede
fdd�Zd e
dede
fd!d"�Zhd#�Ze�d$d%�e�d&ej�Zd'e
defd(d)�Zd*Z e�d+�Z!gd,�Z"d'e
defd-d.�Z#dS)/�N)�Any�Union)�
EllipticCurve)�decode_dss_signature�encode_dss_signature�value�returncCs*t|t�r
|�d�St|t�r|Std��)Nzutf-8zExpected a string value)�
isinstance�str�encode�bytes�	TypeError)r�r�+/usr/lib/python3/dist-packages/jwt/utils.py�force_bytess



r�inputcCsBt|t�r
|�d�}t|�d}|dkr|dd|7}t�|�S)N�ascii�r�=)r	r
r�len�base64�urlsafe_b64decode)r�remrrr�base64url_decodes


rcCst�|��dd�S)Nr�)r�urlsafe_b64encode�replace)rrrr�base64url_encode%sr�valcCs0|dkrtd��t|�}t|�dkrd}t|�S)NrzMust be a positive integer�)�
ValueError�bytes_from_intrr)r�	int_bytesrrr�to_base64url_uint)sr#cCs*t|t�r
|�d�}t|�}tj|dd�S)Nr�big)�	byteorder)r	r
rr�int�
from_bytes)r�datarrr�from_base64url_uint5s

r)�num�	num_bytescCs dd||f}t�|�d��S)Nz%0*x�r)�binascii�a2b_hexr)r*r+�
padded_hexrrr�number_to_bytes=sr0�stringcCstt�|�d�S)N�)r&r-�b2a_hex)r1rrr�bytes_to_numberBsr4cCs8|}d}|dkr|dL}|d7}|dks|j|ddd�S)Nr��r$F)�signed)�to_bytes)r�	remaining�byte_lengthrrrr!Fs�r!�der_sig�curvecCs2|j}|dd}t|�\}}t||�t||�S)N�r5)�key_sizerr0)r;r<�num_bitsr+�r�srrr�der_to_raw_signatureQsrB�raw_sigcCsT|j}|dd}t|�d|krtd��t|d|��}t||d��}t||�S)Nr=r5r,zInvalid signature)r>rr r4r)rCr<r?r+r@rArrr�raw_to_der_signatureZs
rD>�X509 CRL�
PUBLIC KEY�CERTIFICATE�PRIVATE KEY�
DH PARAMETERS�EC PRIVATE KEY�RSA PUBLIC KEY�DSA PRIVATE KEY�RSA PRIVATE KEY�SSH2 PUBLIC KEY�CERTIFICATE REQUEST�OPENSSH PRIVATE KEY�TRUSTED CERTIFICATE�ENCRYPTED PRIVATE KEY�NEW CERTIFICATE REQUEST�SSH2 ENCRYPTED PRIVATE KEYs----[- ]BEGIN (�|s,)[- ]----
?
.+?
?
----[- ]END \1[- ]----
?
?�keycCstt�|��S�N)�bool�_PEM_RE�search�rVrrr�
is_pem_format�sr\s-cert-v01@openssh.coms\A(\S+)[ \t]+(\S+))sssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521csPt�fdd�tD��r
dSt���}|r&|�d�}t|tt�d�kr&dSdS)Nc3s�|]}|�vVqdSrWr)�.0�string_valuer[rr�	<genexpr>�s�zis_ssh_key.<locals>.<genexpr>Tr6F)�any�_SSH_KEY_FORMATS�_SSH_PUBKEY_RC�match�group�_CERT_SUFFIXr)rV�ssh_pubkey_match�key_typerr[r�
is_ssh_key�s

rh)$rr-�re�typingrr�,cryptography.hazmat.primitives.asymmetric.ecr�/cryptography.hazmat.primitives.asymmetric.utilsrr�ModuleNotFoundErrorr
rrrrr&r#r)r0r4r!rBrD�_PEMS�compile�join�DOTALLrYrXr\rerbrarhrrrr�<module>sD�		���