ruạṛ
a M��fr � @ s� d dl Z d dlZd dlZd dlZd dlmZ zd dlmZ W n eyZ d dl mZ Y n0 d dl mZmZm Z eg d��Zeee d�ZG dd� de�Zdd d �Zdd� Zd d� Zdd� Zdd� Zdd� ZG dd� de�Zdd� ZdS )� N)�six)�parse_http_list)�SHA1�SHA256�SHA512)zrsa-sha1z rsa-sha256z rsa-sha512z hmac-sha1zhmac-sha256zhmac-sha512)�sha1�sha256�sha512c @ s e Zd ZdS )�HttpSigExceptionN)�__name__� __module__�__qualname__� r r ��/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/oci/_vendor/httpsig_cffi/utils.pyr s r c C s� t |�}| sdg} g }| D ]�}|�� }|dkrX|r6|s>td��|�d||�� |f � q|dkr�|s�d|v rv|| }ntd| ��|�d||f � q||vr�td| ��|�d||| f � qd�|��d �}|S ) N�datez(request-target)z@method and path arguments required when using "(request-target)"z %s: %s %s�hostzmissing required header "%s"z%s: %s� �ascii)�CaseInsensitiveDict�lower� Exception�append�join�encode)�required_headers�headersr �method�path� signable_list�h�signabler r r �generate_message s* r! c C s� t | tj�s| �d�} | �dd�}t|�dkr6td��i }t|�dkr�|d }|r�t|�r�t|�}|D ]N}d|v rf|�dd�\}}t|�rft|�s�qf|d dkr�|dd � }|||<