a
}|g
@ sP d Z ddlZddlmZ ddlmZ ddlmZ ddlZddlm Z ddlm
Z
ddlmZ dd l
mZ ejed
Zed
Ze jddZe jd
dZe jddZeegZe je
je
jdddZeee
jZeee
jZeee
jZeegZ e!eedZ"e!eedZ#e!eedZ$e"e#gZ%e
je&ee j ee
j e
j'dddZ(dS )zACME utilities for testing. N)Any)Dict)Iterable)
challenges)messages)auth_handler)utilzrsa512_key.pems+ evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ+PCt92wr+oA)tokens 17817c66b60ce2e4012dfad92657527as cafecafecafecafecafecafe0feedbac)challstatusreturnc C s@ | | j d |d}|tjkr0|dtj i tjf i |S )z$Return ChallengeBody from Challenge.Z_uri)r
urir Z validated)typr STATUS_VALIDupdatedatetimenow
ChallengeBody)r
r kwargs r ;/usr/lib/python3.9/site-packages/certbot/tests/acme_util.pychall_to_challb s
r zexample.comzexample.orgzesimerkki.example.org)authz_statusdomainchallsstatusesr c C s t dd t||D }tjtj|d|d}| tjkr\|| tj tj dd d n|d| i tj
d tjf i |d
S )zGenerate 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