/usr/lib/python3/dist-packages/jwt/__pycache__
Edit: /usr/lib/python3/dist-packages/jwt/__pycache__/algorithms.cpython-310.pyc (16081B)
o
liV @ s d dl Z d dlZd dlZddlmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ zZd dlZd dlmZ d dlmZ d dlmZmZ d dlmZmZ d d lmZmZ d d
lmZmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d
Z1W n e2y dZ1Y nw h dZ3dd Z4G dd dZ5G dd de5Z6G dd de5Z7e1rG dd de5Z8G dd de5Z9G dd de8Z:G dd de5Z;dS dS ) N InvalidKeyError) base64url_decodebase64url_encodeder_to_raw_signatureforce_bytesfrom_base64url_uint
is_pem_format
is_ssh_keyraw_to_der_signatureto_base64url_uint)InvalidSignature)hashes)ecpadding)EllipticCurvePrivateKeyEllipticCurvePublicKey)Ed448PrivateKeyEd448PublicKey)Ed25519PrivateKeyEd25519PublicKey)
RSAPrivateKeyRSAPrivateNumbersRSAPublicKeyRSAPublicNumbersrsa_crt_dmp1rsa_crt_dmq1rsa_crt_iqmprsa_recover_prime_factors)EncodingNoEncryption
PrivateFormatPublicFormatload_pem_private_keyload_pem_public_keyload_ssh_public_keyTF> ES256ES384ES512ES521EdDSAPS256PS384PS512RS256RS384RS512ES256Kc C s t ttjttjttjd} trG| ttjttjttjttjttjttjttjttjt t jt t jt t jt
d | S )zE
Returns the algorithms that are implemented by the library.
)noneHS256HS384HS512)r/ r0 r1 r' r2 r( r* r) r, r- r. r+ )
NoneAlgorithm
HMACAlgorithmSHA256SHA384SHA512
has_cryptoupdateRSAAlgorithmECAlgorithmRSAPSSAlgorithmOKPAlgorithm)default_algorithms rC 0/usr/lib/python3/dist-packages/jwt/algorithms.pyget_default_algorithmsK s0 rE c @ s@ e Zd ZdZdd Zdd Zdd Zedd Zed
d Z dS )
AlgorithmzH
The interface for an algorithm used to sign and verify tokens.
c C t )z
Performs necessary validation and conversions on the key and returns
the key value in the proper format for sign() and verify().
NotImplementedErrorselfkeyrC rC rD prepare_keyr zAlgorithm.prepare_keyc C rG )zn
Returns a digital signature for the specified message
using the specified key value.
rH rK msgrL rC rC rD signy rN zAlgorithm.signc C rG )zz
Verifies that the specified digital signature is valid
for the specified message and key values.
rH rK rP rL sigrC rC rD verify rN zAlgorithm.verifyc C rG )z7
Serializes a given RSA key into a JWK
rH key_objrC rC rD to_jwk rN zAlgorithm.to_jwkc C rG )zb
Deserializes a given RSA key from JWK back into a PublicKey or PrivateKey object
rH )jwkrC rC rD from_jwk rN zAlgorithm.from_jwkN)
__name__
__module____qualname____doc__rM rQ rT staticmethodrW rY rC rC rC rD rF m s
rF c @ s( e Zd ZdZdd Zdd Zdd ZdS ) r7 zZ
Placeholder for use when no signing or verification
operations are required.
c C s |dkrd }|d urt d|S )N z*When alg = "none", key value must be None.r rJ rC rC rD rM s
zNoneAlgorithm.prepare_keyc C dS )N rC rO rC rC rD rQ zNoneAlgorithm.signc C r` )NFrC rR rC rC rD rT rb zNoneAlgorithm.verifyN)rZ r[ r\ r] rM rQ rT rC rC rC rD r7 s
r7 c @ sZ e Zd ZdZejZejZej Z
dd Zdd Ze
dd Ze
dd Zd
d Zdd
ZdS )r8 zf
Performs signing and verification operations using HMAC
and the specified hash function.
c C
|| _ d S Nhash_algrK rf rC rC rD __init__
zHMACAlgorithm.__init__c C s$ t |}t|st|rtd|S )NzdThe specified key is an asymmetric key or x509 certificate and should not be used as an HMAC secret.)r r
r r rJ rC rC rD rM s zHMACAlgorithm.prepare_keyc C s t tt| ddS )Noct)kkty)jsondumpsr r decoderU rC rC rD rW s
zHMACAlgorithm.to_jwkc C sh zt | trt| }n
t | tr| }ntW n ty" tdw |ddkr.tdt|d S )NKey is not valid JSONrl rj zNot an HMAC keyrk )
isinstancestrrm loadsdict
ValueErrorr getr )rX objrC rC rD rY s
zHMACAlgorithm.from_jwkc C s t ||| j S rd )hmacnewrf digestrO rC rC rD rQ zHMACAlgorithm.signc C s t || ||S rd )rx compare_digestrQ rR rC rC rD rT r{ zHMACAlgorithm.verifyN)rZ r[ r\ r] hashlibsha256r9 sha384r: sha512r; rh rM r^ rW rY rQ rT rC rC rC rD r8 s
r8 c @ sZ e Zd ZdZejZejZejZdd Zdd Z e
dd Ze
dd Zd
d Z
dd
ZdS )r> z~
Performs signing and verification operations using
RSASSA-PKCS-v1_5 and the specified hash function.
c C rc rd re rg rC rC rD rh ri zRSAAlgorithm.__init__c C sx t |ttfr |S t |ttfstdt|}z|dr%t|}W |S t |d d}W |S t
y; t|}Y |S w )NExpecting a PEM-formatted key.s ssh-rsapassword)rq r r bytesrr TypeErrorr
startswithr&