Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
lib
/
python3
/
dist-packages
/
botocore
/
crt
/
__pycache__
/
Filename :
auth.cpython-310.pyc
back
Copy
o ,&�a�[ � @ s� d dl Z d dlmZ d dlmZmZmZmZmZ d dl m Z mZmZm Z mZ d dlmZ d dlmZ G dd� de�ZG d d � d e�ZG dd� de�ZG d d� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Zeeeeeeed�ZdS )� N)�BytesIO)�_host_from_url�_get_body_as_dict� BaseSigner�SIGNED_HEADERS_BLACKLIST�UNSIGNED_PAYLOAD)�awscrt�HTTPHeaders�parse_qs�urlsplit� urlunsplit)�percent_encode_sequence)�NoCredentialsErrorc @ �r e Zd ZdZg d�ZejjjZ dZ dZdd� Zdd� Z dd� Zd d � Zdd� Zd d� Zdd� Zdd� Zdd� ZdS )�CrtSigV4AuthT�� Authorizationz X-Amz-Date�X-Amz-Content-SHA256zX-Amz-Security-Tokenc C � || _ || _|| _d | _d S �N��credentials� _service_name�_region_name�_expiration_in_seconds��selfr �service_name�region_name� r �3/usr/lib/python3/dist-packages/botocore/crt/auth.py�__init__ � zCrtSigV4Auth.__init__c C � | j d u rt� �tj�� jtjjd�}| �|�}| �|� t j jj| j j | j j| j jd�}| �|�r:|r7|}nd }nt}| �|�rGt j jj}nt j jj}t j jt j jj| j|| j| j|| j| j| j||| jd�}| � |�}t j �!||�} | �"� | �#||� d S �N)�tzinfo)� access_key_id�secret_access_key� session_token)� algorithm�signature_type�credentials_provider�region�service�date�should_sign_header�use_double_uri_encode�should_normalize_uri_path�signed_body_value�signed_body_header_type�expiration_in_seconds)$r r �datetime�utcnow�replace�timezone�utc�_get_existing_sha256�_modify_request_before_signingr �auth�AwsCredentialsProvider� new_static� access_key� secret_key�token�_should_sha256_sign_payloadr �!_should_add_content_sha256_header�AwsSignedBodyHeaderType�X_AMZ_CONTENT_SHA_256�NONE�AwsSigningConfig�AwsSigningAlgorithm�V4�_SIGNATURE_TYPEr r �_should_sign_header�_USE_DOUBLE_URI_ENCODE�_SHOULD_NORMALIZE_URI_PATHr �_crt_request_from_aws_request�aws_sign_request�result�_apply_signing_changes� r �request�datetime_now�existing_sha256r+ �explicit_payload�body_header�signing_config�crt_request�futurer r r �add_auth �N � � � � zCrtSigV4Auth.add_authc C �� t |j�}|jr|jnd}|jr3g }|j�� D ]\}}t|�}|�d||f � q|d d�|� }n |jr=d||jf }t j �|j�� �}d }|j rZt|j d�rU|j }nt|j �}t j j|j|||d�} | S �N�/z%s=%s�?�&z%s?%s�seek)�method�path�headers�body_stream�r �urlrd �params�items�str�append�join�queryr �http�HttpHeadersre �body�hasattrr �HttpRequestrc � r �aws_request� url_parts�crt_path�array�param�value�crt_headers�crt_body_streamrY r r r rN S �. �z*CrtSigV4Auth._crt_request_from_aws_requestc C � t �t|j��|_d S r �r � from_pairs�listre �r ru �signed_crt_requestr r r rQ p � �z#CrtSigV4Auth._apply_signing_changesc K � |� � tvS r ��lowerr �r �name�kwargsr r r rK u � z CrtSigV4Auth._should_sign_headerc C �@ | j D ]}||jv r|j|= qd|jvrt|j�|jd<