CasperSecurity

Current Path : /lib/python3/dist-packages/josepy/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/josepy/__pycache__/jwa.cpython-310.pyc

o

h9Ra�#�@sdZddlZddlZddlmZmZmZddlZddl	m
Z
ddlmZddlm
Z
ddlmZmZmZddlmZdd	lmZdd
lmZddlmZmZmZddlmZe�e�ZGd
d�dej �Z!Gdd�de!e�Z"Gdd�de"�Z#Gdd�d�Z$Gdd�de$e"�Z%Gdd�de$e"�Z&Gdd�de"�Z'e"�(e#dej)��Z*e"�(e#dej+��Z,e"�(e#dej-��Z.e"�(e%dej)��Z/e"�(e%dej+��Z0e"�(e%d ej-��Z1e"�(e&d!ej)��Z2e"�(e&d"ej+��Z3e"�(e&d#ej-��Z4e"�(e'd$ej)��Z5e"�(e'd%ej+��Z6e"�(e'd&ej-��Z7dS)'zZJSON Web Algorithms.

https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40

�N)�Dict�Any�Callable)�default_backend)�hashes)�hmac)�padding�ec�rsa)�decode_dss_signature)�encode_dss_signature)�
HashAlgorithm)�errors�
interfaces�jwk)�Hashablec@seZdZdZdS)�JWAzJSON Web Algorithm.N)�__name__�
__module__�__qualname__�__doc__�rr�,/usr/lib/python3/dist-packages/josepy/jwa.pyrsrc	@s�eZdZUdZiZeedfed<eed<deddfdd�Z	d	ede
fd
d�Zdefdd
�Z
eddd��Zdefdd�Zededdfdd��Zejdededefdd��Zejdededede
fdd��Zdefdd�ZdS) �JWASignaturez-Base class for JSON Web Signature Algorithms.�
SIGNATURES�kty�name�returnNcCs
||_dS�N�r)�selfrrrr�__init__&s
zJWASignature.__init__�othercCst|t�stS|j|jkSr)�
isinstancer�NotImplementedr)r r"rrr�__eq__)s
zJWASignature.__eq__cCst|j|jf�Sr)�hash�	__class__r�r rrr�__hash__.szJWASignature.__hash__�
signature_clscCs||j|j<|S)z(Register class for JSON deserialization.)rr)�clsr*rrr�register1szJWASignature.registercC�|jSrrr(rrr�to_partial_json7�zJWASignature.to_partial_json�jobjcCs
|j|Sr)r)r+r0rrr�	from_json:s
zJWASignature.from_json�key�msgcC�t��)�Sign the ``msg`` using ``key``.��NotImplementedError)r r2r3rrr�sign>�zJWASignature.sign�sigcCr4)z-Verify the ``msg`` and ``sig`` using ``key``.r6)r r2r3r:rrr�verifyCr9zJWASignature.verifycCr-rrr(rrr�__repr__Hr/zJWASignature.__repr__)r*rrr)rrrrrr�str�__annotations__rr!�boolr%�intr)�classmethodr,r.r1�abc�abstractmethod�bytesr8r;r<rrrrr!s"
rcsdeZdZejZdedegeff�fdd�Z	de
de
de
fdd	�Zde
de
d
e
defdd�Z
�ZS)
�_JWAHSr�hash_c�t��|�|�|_dSr��superr!r&�r rrF�r'rrr!O�z_JWAHS.__init__r2r3rcCs&tj||jt�d�}|�|�|��S)N��backend)r�HMACr&r�update�finalize)r r2r3�signerrrrr8Ss
z_JWAHS.signr:c
Cshtj||jt�d�}|�|�z|�|�WdStjjy3}zt	j
|dd�WYd}~dSd}~ww)NrMT��exc_infoF)rrOr&rrPr;�cryptography�
exceptions�InvalidSignature�logger�debug)r r2r3r:�verifier�errorrrrr;Xs
���z
_JWAHS.verify)rrrr�JWKOctrr=rr
r!rDr8r?r;�
__classcell__rrrKrrELs
"rEc@s`eZdZUejZeZee	d<eZ
ee	d<dej
dedefdd�Zdejdededefd	d
�ZdS)�_JWARSArr&r2r3rc
Cs�t|d�}z|r|�||j|j�WS|�|j|j�}Wn1ty3}ztj|dd�t�	d��d}~wt
yL}ztj|dd�t�	t|���d}~ww|�|�z|�
�WSt
yq}ztj|dd�t�	t|���d}~ww)r5r8TrS�%Public key cannot be used for signingN)�hasattrr8rr&rR�AttributeErrorrXrYr�Error�
ValueErrorr=rPrQ�r r2r3�new_apirRr[rrrr8is,

���

��z_JWARSA.signr:c
Cs�t|d�}|s|�||j|j�}|�|�z|r%|�|||j|j�WdS|��WdStjjyG}zt	j
|dd�WYd}~dSd}~ww)�,Verify the ``msg` and ``sig`` using ``key``.r;TrSNF)r`rZrr&rPr;rUrVrWrXrY)r r2r3r:rerZr[rrrr;~s


����z_JWARSA.verifyN)rrrr�JWKRSArr$rrr>r&r
r
�
RSAPrivateKeyrDr8�RSAPublicKeyr?r;rrrrr^ds
 r^c�2eZdZdedegefddf�fdd�Z�ZS)�_JWARSrrFrNcs"t��|�t��|_|�|_dSr)rIr!r�PKCS1v15r&rJrKrrr!�s
z_JWARS.__init__�rrrr=rr
r!r]rrrKrrk��*rkcrj)�_JWAPSrrFrNcs4t��|�tjt�|��tjjd�|_|�|_dS)N)�mgf�salt_length)rIr!r�PSS�MGF1�
MAX_LENGTHr&rJrKrrr!�s
�z_JWAPS.__init__rmrrrKrro�rnrocs�eZdZejZdedegeff�fdd�Z	de
jdedefdd	�Z
de
jdedefd
d�Zde
jdededefd
d�Zde
jdededefdd�Z�ZS)�_JWAECrrFcrGrrHrJrKrrr!�rLz_JWAEC.__init__r2r3rcCsB|�||�}t|�\}}tj�|j�}|j|dd�|j|dd�S)r5�big)�length�	byteorder)�_signrr�JWKEC�expected_length_for_curve�curve�to_bytes)r r2r3r:�dr�dsrwrrrr8�s�z_JWAEC.signc
Cs�t|d�}z|r|�|t�|j��WS|�t�|j��}Wn1ty5}ztj|dd�t	�
d��d}~wtyN}ztj|dd�t	�
t|���d}~ww|�
|�z|��WStys}ztj|dd�t	�
t|���d}~ww)Nr8TrSr_)r`r8r	�ECDSAr&rRrarXrYrrbrcr=rPrQrdrrrry�s,

���

��z_JWAEC._signr:cCs^tj�|j�}t|�d|krdSttj|d|�dd�tj||d�dd��}|�|||�S)rf�Frrv)rxN)	rrzr{r|�lenrr@�
from_bytes�_verify)r r2r3r:�rlen�asn1sigrrrr;�s�z
_JWAEC.verifyr�c
Cs�t|d�}|s|�|t�|j��}|�|�z|r'|�||t�|j��WdS|��WdStjj	yI}zt
j|dd�WYd}~dSd}~ww)Nr;TrSF)r`rZr	r�r&rPr;rUrVrWrXrY)r r2r3r�rerZr[rrrr��s


����z_JWAEC._verify)rrrrrzrr=rr
r!r	�EllipticCurvePrivateKeyrDr8ry�EllipticCurvePublicKeyr?r;r�r]rrrKrru�s$ru�HS256�HS384�HS512�RS256�RS384�RS512�PS256�PS384�PS512�ES256�ES384�ES512)8rrB�logging�typingrrr�cryptography.exceptionsrU�cryptography.hazmat.backendsr�cryptography.hazmat.primitivesrr�)cryptography.hazmat.primitives.asymmetricrr	r
�/cryptography.hazmat.primitives.asymmetric.utilsrr�%cryptography.hazmat.primitives.hashesr
�josepyrrr�collections.abcr�	getLoggerrrX�JSONDeSerializablerrrEr^rkrorur,�SHA256r��SHA384r��SHA512r�r�r�r�r�r�r�r�r�r�rrrr�<module>sD
+-
B
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY