File: //lib/python3.9/site-packages/certbot/tests/__pycache__/acme_util.cpython-39.pyc
a
}|�g�
� @ sP d Z ddlZddlmZ ddlmZ ddlmZ ddlZddlm Z ddlm
Z
ddlmZ dd l
mZ ej�e�d
��Ze�d
�Ze jdd�Ze jd
d�Ze jdd�ZeegZe je
je
jd�dd�Zeee
j�Zeee
j�Zeee
j�ZeegZ e�!eed�Z"e�!eed�Z#e�!eed�Z$e"e#gZ%e
je&ee j ee
j e
j'd�dd�Z(dS )zACME utilities for testing.� N)�Any)�Dict)�Iterable)�
challenges)�messages)�auth_handler)�utilzrsa512_key.pems+ evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ+PCt92wr+oA)�tokens 17817c66b60ce2e4012dfad92657527as cafecafecafecafecafecafe0feedbac)�chall�status�returnc C s@ | | j d |d�}|tjkr0|�dtj�� i� tjf i |��S )z$Return ChallengeBody from Challenge.Z_uri)r
�urir Z validated)�typr �STATUS_VALID�update�datetime�now�
ChallengeBody)r
r �kwargs� r �;/usr/lib/python3.9/site-packages/certbot/tests/acme_util.py�chall_to_challb s �
r zexample.comzexample.orgzesimerkki.example.org)�authz_status�domain�challs�statusesr c C s� t dd� t||�D ��}tjtj|d�|d�}| tjkr\|�| tj�� tj dd� d�� n|�d| i� tj
d tjf i |��d
�S )z�Generate an authorization resource.
:param authz_status: Status object
:type authz_status: :class:`acme.messages.Status`
:param list challs: Challenge objects
:param list statuses: status of each challenge object
c s s | ]\}}t ||�V qd S )N)r )�.0r
r r r r � <genexpr>B s �zgen_authzr.<locals>.<genexpr>)r �value)Z
identifierr � )Zdays)r Zexpiresr z%https://trusted.ca/new-authz-resource)r
�body)�tuple�zipr Z
IdentifierZIDENTIFIER_FQDNr r r r Z timedelta�AuthorizationResourceZ
Authorization)r r r r ZchallbsZauthz_kwargsr r r �
gen_authzr8 s(
���
�
��r$ ))�__doc__r �typingr r r ZjosepyZjoseZacmer r Zcertbot._internalr Z
certbot.testsr ZJWK�loadZload_vectorZload_rsa_private_keyZKEYZHTTP01ZDNS01ZDNS01_2Z
CHALLENGESZ ChallengeZStatusr r ZSTATUS_PENDINGZHTTP01_PZDNS01_PZ DNS01_P_2ZCHALLENGES_PZchallb_to_achallZHTTP01_AZDNS01_AZ DNS01_A_2ZACHALLENGES�strr# r$ r r r r �<module> s:
��