HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/josepy/__pycache__/jwa.cpython-38.pyc
U

��]u�@s�dZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddlm
Z
mZmZzddlmZWn ek
r�ddlmZYnXe�e�ZGd	d
�d
ej�ZGdd�dee�ZGd
d�de�ZGdd�de�ZGdd�dee�ZGdd�dee�ZGdd�de�Ze� edej!��Z"e� edej#��Z$e� edej%��Z&e� edej!��Z'e� edej#��Z(e� edej%��Z)e� edej!��Z*e� edej#��Z+e� edej%��Z,e� ed ��Z-e� ed!��Z.e� ed"��Z/dS)#zZJSON Web Algorithms.

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

�N)�default_backend)�hashes)�hmac)�padding)�errors�
interfaces�jwk)�Hashablec@seZdZdZdS)�JWAzJSON Web Algorithm.N)�__name__�
__module__�__qualname__�__doc__�rr�,/usr/lib/python3/dist-packages/josepy/jwa.pyr
sr
c@sxeZdZdZiZdd�Zdd�Zdd�Zdd	�Ze	d
d��Z
dd
�Ze	dd��Ze
jdd��Ze
jdd��Zdd�ZdS)�JWASignaturez-Base class for JSON Web Signature Algorithms.cCs
||_dS�N��name)�selfrrrr�__init__$szJWASignature.__init__cCst|t�stS|j|jkSr)�
isinstancer�NotImplementedr�r�otherrrr�__eq__'s
zJWASignature.__eq__cCst|j|jf�Sr)�hash�	__class__r�rrrr�__hash__,szJWASignature.__hash__cCs
||kSrrrrrr�__ne__/szJWASignature.__ne__cCs||j|j<|S)z(Register class for JSON deserialization.)�
SIGNATURESr)�clsZ
signature_clsrrr�register2szJWASignature.registercCs|jSrrrrrr�to_partial_json8szJWASignature.to_partial_jsoncCs
|j|Sr)r!)r"Zjobjrrr�	from_json;szJWASignature.from_jsoncCs
t��dS)�Sign the ``msg`` using ``key``.N��NotImplementedError�r�key�msgrrr�sign?szJWASignature.signcCs
t��dS)z-Verify the ``msg`` and ``sig`` using ``key``.Nr'�rr*r+�sigrrr�verifyDszJWASignature.verifycCs|jSrrrrrr�__repr__IszJWASignature.__repr__N)rrr
rr!rrrr �classmethodr#r$r%�abc�abstractmethodr,r/r0rrrrr s 



rcs2eZdZejZ�fdd�Zdd�Zdd�Z�Z	S)�_JWAHScstt|��|�|�|_dSr)�superr4rr�rrZhash_�rrrrQsz_JWAHS.__init__cCs&tj||jt�d�}|�|�|��S)N�Zbackend)r�HMACrr�update�finalize)rr*r+�signerrrrr,Us
z_JWAHS.signc
Csptj||jt�d�}|�|�z|�|�Wn:tjjk
rf}zt	j
|dd�WY�dSd}~XYnXdSdS)Nr8T��exc_infoF)rr9rrr:r/�cryptography�
exceptions�InvalidSignature�logger�debug)rr*r+r.�verifier�errorrrrr/Zs
z
_JWAHS.verify)
rrr
rZJWKOct�ktyrr,r/�
__classcell__rrr7rr4Msr4c@s*eZdZejZeZeZdd�Z	dd�Z
dS)�_JWARSAc
Cst|d�}z,|r$|�||j|j�WS|�|j|j�}Wnvtk
rp}ztj|dd�t�	d��W5d}~XYn>t
k
r�}z tj|dd�t�	t|���W5d}~XYnX|�|�z
|�
�WSt
k
�r}z tj|dd�t�	t|���W5d}~XYnXdS)r&r,Tr=z%Public key cannot be used for signingN)�hasattrr,rrr<�AttributeErrorrBrCr�Error�
ValueError�strr:r;)rr*r+�new_apir<rErrrr,ls"
 

z_JWARSA.signc
Cs�t|d�}|s*|�||j|j�}|�|�z&|rF|�|||j|j�n|��Wn:tjjk
r�}zt	j
|dd�WY�dSd}~XYnXdSdS)z,Verify the ``msg` and ``sig`` using ``key``.r/Tr=FN)rIrDrrr:r/r?r@rArBrC)rr*r+r.rNrDrErrrr/�s

z_JWARSA.verifyN)rrr
rZJWKRSArFrrrr,r/rrrrrHfs
rHcseZdZ�fdd�Z�ZS)�_JWARScs&tt|��|�t��|_|�|_dSr)r5rOrrZPKCS1v15rr6r7rrr�s
z_JWARS.__init__�rrr
rrGrrr7rrO�srOcseZdZ�fdd�Z�ZS)�_JWAPScs8tt|��|�tjt�|��tjjd�|_|�|_dS)N)ZmgfZsalt_length)r5rQrrZPSSZMGF1Z
MAX_LENGTHrr6r7rrr�s
�z_JWAPS.__init__rPrrr7rrQ�srQc@seZdZdd�Zdd�ZdS)�_JWAEScCs
t��dSrr'r)rrrr,�sz_JWAES.signcCs
t��dSrr'r-rrrr/�sz
_JWAES.verifyN)rrr
r,r/rrrrrR�srR�HS256�HS384�HS512�RS256�RS384�RS512�PS256�PS384�PS512�ES256�ES384�ES512)0rr2ZloggingZcryptography.exceptionsr?Zcryptography.hazmat.backendsrZcryptography.hazmat.primitivesrrZ)cryptography.hazmat.primitives.asymmetricrZjosepyrrrZcollections.abcr	�ImportError�collectionsZ	getLoggerrrBZJSONDeSerializabler
rr4�objectrHrOrQrRr#ZSHA256rSZSHA384rTZSHA512rUrVrWrXrYrZr[r\r]r^rrrr�<module>s@
-.