AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/josepy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3/dist-packages/josepy/__pycache__/jws.cpython-310.pyc
o

h9Ra�<�@s�dZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZm
Z
ddlmZddlZddlmZmZmZmZmZmZGdd�d�ZGdd	�d	ej�ZGd
d�dej�ZGdd
�d
ej�ZGdd�d�Zedkrsee� ��dSdS)zJSON Web Signature.�N)	�Dict�Any�Optional�	FrozenSet�Mapping�List�Type�Tuple�cast)�crypto)�b64�errors�	json_util�jwa�jwk�utilc@sBeZdZdZdZ	ededefdd��Zededefdd��Zd	S)
�	MediaTypez MediaType field encoder/decoder.zapplication/�value�returncCs(d|vrd|vr
t�d��|j|S|S)zDecoder.�/�;zUnexpected semi-colon)r
�DeserializationError�PREFIX��clsr�r�,/usr/lib/python3/dist-packages/josepy/jws.py�decodes


zMediaType.decodecCs.d|vr|�|j�sJ�|t|j�d�S|S)zEncoder.rN)�
startswithr�lenrrrr�encodeszMediaType.encodeN)	�__name__�
__module__�__qualname__�__doc__r�classmethod�strrr rrrrr
s	rc@s�eZdZUdZejdejjdd�Z	eje
d<ejddd�Zee
d<ejde
jjdd�Ze
je
d<ejddd�Zee
d<ejd	dd�Zee
d	<ejd
ddd�Zeejd
fe
d
<ejdejdd�Zee
d<ejdejdd�Zee
d<ejdejejdd�Zee
d<ejdejejdd�Zee
d<ejdddd�Zeed
fe
d<e e!ej"fe
d<de e!ej"ffdd�Z#deddfdd�Z$de%jfdd�Z&ej'dedefdd ��Zej(d!d"��Zej'd#d"��Zd$S)%�Headera6JOSE Header.

    .. warning:: This class supports **only** Registered Header
        Parameter Names (as defined in section 4.1 of the
        protocol). If you need Public Header Parameter Names (4.2)
        or Private Header Parameter Names (4.3), you must subclass
        and override :meth:`from_json` and :meth:`to_partial_json`
        appropriately.

    .. warning:: This class does not support any extensions through
        the "crit" (Critical) Header Parameter (4.1.11) and as a
        conforming implementation, :meth:`from_json` treats its
        occurrence as an error. Please subclass if you seek for
        a different behaviour.

    :ivar x5tS256: "x5t#S256"
    :ivar str typ: MIME Media Type, inc. :const:`MediaType.PREFIX`.
    :ivar str cty: Content-Type, inc. :const:`MediaType.PREFIX`.

    �algT)�decoder�	omitempty�jku)r*r�kid�x5u�x5cr�r*�default.�x5tzx5t#S256�x5tS256�typ)�encoderr)r*�cty�crit�_fieldsrcs�fdd��j��D�S)z4Fields that would not be omitted in the JSON object.cs,i|]\}}|�t�|��s|t�|��qSr)�omit�getattr)�.0�name�field��selfrr�
<dictcomp>Ps�z&Header.not_omitted.<locals>.<dictcomp>)r7�itemsr=rr=r�not_omittedNs
�zHeader.not_omitted�othercCsbt|t|��std�t|����|��}|��}t|��|�r#td��|�|�t|�di|��S)NzHeader cannot be added to: {0}z+Addition of overlapping headers not definedr)�
isinstance�type�	TypeError�formatrA�set�intersection�update)r>rB�not_omitted_self�not_omitted_otherrrr�__add__Ts�
zHeader.__add__cCs|jdur
t�d��|jS)z�Find key based on header.

        .. todo:: Supports only "jwk" header parameter lookup.

        :returns: (Public) key found in the header.
        :rtype: .JWK

        :raises josepy.errors.Error: if key could not be found

        NzNo key found)rr
�Errorr=rrr�find_keybs

zHeader.find_key�unused_valuecCs
t�d��)Nz("crit" is not supported, please subclass)r
r)rOrrrr6qs�zHeader.critcCsdd�|D�S)NcSs"g|]
}t�t�tj|j���qSr)�base64�	b64encoder�dump_certificate�
FILETYPE_ASN1�wrapped�r:�certrrr�
<listcomp>{s
�
�zHeader.x5c.<locals>.<listcomp>r�rrrrr.ys�z
Header.x5cc
Cs:z
tdd�|D��WStjy}zt�|��d}~ww)Nc	ss*�|]}t�t�tjt�|���VqdS�N)r�ComparableX509r�load_certificaterSrP�	b64decoderUrrr�	<genexpr>�s���zHeader.x5c.<locals>.<genexpr>)�tuplerrMr
r)r�errorrrrr.~s
�
��N))r!r"r#r$rr<r�JWASignature�	from_jsonr(�__annotations__r+�bytes�jwk_mod�JWKrr,r-r.r	rrZ�decode_b64joser1r2rr rr3r5r6rrr&�FieldrArL�josepyrNr)r4rrrrr''sB

�"��
�
� 
r'cs�eZdZUdZeZeed<dZej	dddd�Z
eed<ej	dde�ejd	�Z
eed<ej	d
ejejd�Zeed
<e
jded
efdd��Z
e
jded
efdd��Z
ded
df�fdd�Zeded
eeeffdd��Zededed
efdd��Zd'dedeejd
efdd�Zede�fdedejdej dede!ded
dfd d!��Z"d
eeeff�fd"d#�Z#ed$e$eefd
eeeff�fd%d&��Z%�Z&S)(�	SignatureaJWS Signature.

    :ivar combined: Combined Header (protected and unprotected,
        :class:`Header`).
    :ivar unicode protected: JWS protected header (Jose Base-64 decoded).
    :ivar header: JWS Unprotected Header (:class:`Header`).
    :ivar str signature: The signature.

    �combined)rj�	protectedT�r/�header)r*r0r)�	signature)r)r4rrcCst�|�d��S�N�utf-8)r�encode_b64joser rXrrrrk�szSignature.protectedcCst�|��d�Sro)rrfrrXrrrrk�s�kwargsNcs8d|vr	|�|�}t�jdi|��|jjdusJ�dS)Nrjr)�_with_combined�super�__init__rjr()r>rr��	__class__rrru�s
zSignature.__init__cCsZd|vsJ�|�d|jdj�}|�d|jdj�}|r%||j�|�}n|}||d<|S)Nrjrmrk)�getr7r0�
header_cls�
json_loads)rrrrmrkrjrrrrs�szSignature._with_combined�payloadcCst�|�d��dt�|�S)Nrp�.)rrQr )rrkr{rrr�_msg�s�zSignature._msg�keycCs8|dur	|j��n|}|jjj|j|j|�|j|�d�S)zvVerify.

        :param bytes payload: Payload to verify.
        :param JWK key: Key used for verification.

        N)r~�sig�msg)rjrNr(�verifyr~rnr}rk)r>r{r~�
actual_keyrrrr��s
�zSignature.verifyr(�include_jwk�protectcKs�t||j�sJ�|}||d<|r|��|d<t|��|jj�s!J�|�|jj�s*J�i}|D]
}	|	|vr;|�|	�||	<q.|rI|jdi|����}
nd}
|jdi|��}	|�	|j
|�|
|��}||
|	|d�S)aDSign.

        :param bytes payload: Payload to sign.
        :param JWK key: Key for signature.
        :param JWASignature alg: Signature algorithm to use to sign.
        :param bool include_jwk: If True, insert the JWK inside the signature headers.
        :param FrozenSet protect: List of headers to protect.

        r(rrl)rkrmrnNr)rC�kty�
public_keyrG�issubsetryr7�pop�
json_dumps�signr~r})rr{r~r(r�r�rr�
header_params�protected_paramsrmrkrnrrrr��s$
�zSignature.signcs t���}|d��s|d=|S)Nrm)rt�fields_to_partial_jsonrA)r>�fieldsrvrrr��s
z Signature.fields_to_partial_json�jobjcs4t��|�}|�|�}d|d��vrt�d��|S)Nr(rjzalg not present)rt�fields_from_jsonrsrAr
r)rr�r��fields_with_combinedrvrrr��s


zSignature.fields_from_jsonrY)'r!r"r#r$r'ryrb�	__slots__rr<rkr&rarmrfrqrnrcr4r)rrur%rrsr}rrhre�boolr��	frozensetr`rr�r�rr��
__classcell__rrrvrri�sL
	��
�����%0ric@s�eZdZUdZdZeed<eeed<eZ	dde
ejde
fdd	�Zeded
eddfdd��Zedefd
d��Zdefdd�Zededdfdd��Zdde
deeeffdd�Zedeeefddfdd��ZdS)�JWSzgJSON Web Signature.

    :ivar str payload: JWS Payload.
    :ivar str signature: JWS Signatures.

    �r{�
signaturesr{r�Nr~rcst��fdd��jD��S)�Verify.c3s�|]
}|��j��VqdSrY)r�r{�r:r�r~r>rrr]s�zJWS.verify.<locals>.<genexpr>)�allr�)r>r~rr�rr�sz
JWS.verifyrrcKs |||jjdd|i|��fd�S)�Sign.r{r�Nr)�
signature_clsr�)rr{rrrrrr�s�zJWS.signcCst|j�dks	J�|jdS)zPGet a singleton signature.

        :rtype: :class:`JWS.signature_cls`

        �r)rr�r=rrrrns
z
JWS.signaturecCs\t|j�dks	J�d|jj��vsJ�t�|jj�d��dt�|j	�dt�|jj�S)z7Compact serialization.

        :rtype: bytes

        r�r(rpr|)
rr�rnrmrArrQrkr r{r=rrr�
to_compact"s�
����zJWS.to_compact�compactcCsbz
|�d�\}}}Wntyt�d��w|jt�|��d�t�|�d�}|t�|�|fd�S)zACompact deserialization.

        :param bytes compact:

        r|zOCompact JWS serialization should comprise of exactly 3 dot-separated componentsrp)rkrnr�)�split�
ValueErrorr
rr�rr\r)rr�rkr{rnrrrr�from_compact4s���zJWS.from_compactT�flatcCsN|jsJ�t�|j�}|r!t|j�dkr!|jd��}||d<|S||jd�S)Nr�rr{r�)r�rrqr{r�to_partial_json)r>r�r{�retrrrr�Gs
�zJWS.to_partial_jsonr�cspd|vr
d|vr
t�d��d|vr"�t�|�d���j�|�fd�S�t�|d�t�fdd�|dD��d�S)Nrnr�zFlat mixed with non-flatr{r�c3s�|]	}�j�|�VqdSrY)r�rar��rrrr]^s��z JWS.from_json.<locals>.<genexpr>)r
rrrfr�r�rar^)rr�rr�rraUs
���z
JWS.from_jsonrY)T)r!r"r#r$r�rcrbrrir�rrhrer�r�r%rr��propertyrnr�r�rr&r�rarrrrr�s"
	 r�c@s�eZdZdZedejddfdd��Zedejdefdd��Z	ed	e
dejfd
d��Z
ed	e
de
fdd
��Zed	e
deejfdd��Zeddeedeefdd��ZdS)�CLIzJWS CLI.�argsrNcCs�|jj�|j���}|j��|jdurg|_|jr |j�d�t	j
tj���
�||jt|j�d�}|jr@t|���d��dSt|���dS)r�Nr()r{r~r(r�rp)r(r��loadr~�read�closer�r��appendr�r��sys�stdinr rG�printr�r�json_dumps_pretty)rr�r~rrrrr�es

�zCLI.signc
Cs�|jrt�tj�����}n&z
ttt�tj����}Wnt	j
y3}zt|�WYd}~dSd}~ww|jdurQ|j
dus@J�|j
�|j�����}|j��nd}tj�|j���|j|d�S)r�NF)r~)r�r�r�r�r�r�r r
rzr
rMr�r~r�r�r�r��stdout�writer{rr�)rr�rr_r~rrrr�ws ��
z
CLI.verify�argcCstj�|�SrY)rr`ra�rr�rrr�	_alg_type�sz
CLI._alg_typecCs|tjjvsJ�|SrY)riryr7r�rrr�_header_type�szCLI._header_typecCs|tjjvsJ�tjj|SrY)rdre�TYPESr�rrr�	_kty_type�sz
CLI._kty_typecCs�|durtjdd�}t��}|jddd�|��}|�d�}|j|jd�|jdd	t�	d
�dd�|jd
d|j
tjd�|jddd|j
d�|�d�}|j|jd�|jdd	t�	d
�dd�|jd|jdd�|�|�}|�|�S)z Parse arguments and sign/verify.Nr�z	--compact�
store_true)�actionr�)�funcz-kz--key�rbT)rD�requiredz-az--alg)rDr0z-pz	--protectr�)r�rDr�Fz--kty)r��argv�argparse�ArgumentParser�add_argument�add_subparsers�
add_parser�set_defaultsr��FileTyper�r�RS256r�r�r��
parse_argsr�)rr��parser�
subparsers�parser_sign�
parser_verify�parsedrrr�run�s4
��
�
��

zCLI.runrY)r!r"r#r$r%r��	Namespacer�r�r�rrr`r�r�rrdrer�rr&rr�rrrrr�bs"r��__main__)!r$r�rPr��typingrrrrrrrr	r
�OpenSSLrrhrr
rrrrdrr�JSONObjectWithFieldsr'rir�r�r!�exitr�rrrr�<module>s , ayaV�

Anon7 - 2022
AnonSec Team