a ‚oeË ã@sPdZddlZddlmZddlmZddlmZddlZddlm Z ddlm Z ddl m Z dd l mZej e d ¡¡Ze d ¡Ze jd d �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 jee je 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ÚreturncCs@||jd|dœ}|tjkr0| dtj ¡i¡tjfi|¤ŽS)z$Return ChallengeBody from Challenge.Z_uri)r Úurir Z validated)ÚtyprÚ STATUS_VALIDÚupdateÚdatetimeÚnowÚ ChallengeBody)r r Úkwargs©rú8C:\Program Files\Certbot\pkgs\certbot\tests\acme_util.pyÚchall_to_challbsý rz example.comz example.orgzesimerkki.example.org)Ú authz_statusÚdomainÚchallsÚstatusesr cCs„tdd„t||ƒDƒƒ}tjtj|d�|dœ}|tjkr\| |tj ¡tj dd�dœ¡n| d|i¡tj d tj fi|¤Ž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 css|]\}}t||ƒVqdS)N)r)Ú.0r r rrrÚ Bsÿzgen_authzr..)rÚvalue)Z identifierré)Zdays)r Zexpiresr z%https://trusted.ca/new-authz-resource)r Úbody) ÚtupleÚziprZ IdentifierZIDENTIFIER_FQDNrrrrZ timedeltaÚAuthorizationResourceZ Authorization)rrrrZchallbsZ authz_kwargsrrrÚ gen_authzr8s( þÿý þ ÿþr$))Ú__doc__rÚtypingrrrZjosepyZjoseZacmerrZcertbot._internalrZ certbot.testsrZJWKÚloadZ load_vectorZload_rsa_private_keyZKEYZHTTP01ZDNS01ZDNS01_2Z CHALLENGESZ ChallengeZStatusrrZSTATUS_PENDINGZHTTP01_PZDNS01_PZ DNS01_P_2Z CHALLENGES_PZchallb_to_achallZHTTP01_AZDNS01_AZ DNS01_A_2Z ACHALLENGESÚstrr#r$rrrrÚs:        ÿ      ÿ