%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/acme/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/acme/__pycache__/messages.cpython-312.pyc

�

M/�e�f��z�dZddlmZddlZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlZddlmZddlmZddlmZddlmZddlmZdZidd�dd�dd�dd�dd�dd�d d!�d"d#�d$d%�d&d'�d(d)�d*d+�d,d-�d.d/�d0d1�d2d3�d4d5�d6d7d8d9d:d;d<d=d>d?�	�Ziej5�D��cic]\}}e|z|��
c}}�Zd@edAefdB�ZGdC�dDej>e�Z GdE�dFe �Z!e!d(�Z"e!dG�Z#GdH�dIejH�Z%GdJ�dKejHejL�Z&GdL�dMe �Z'e'dN�Z(e'dO�Z)e'dP�Z*e'dQ�Z+e'dR�Z,e'dS�Z-e'dT�Z.e'dU�Z/GdV�dWej>�Z0GdX�dYejH�Z1GdZ�d[e1�Z2Gd\�d]ejH�Z3Gd^�d_�Z4ed`da�b�Z5Gdc�dae3�Z6Gdd�dee6�Z7Gdf�dge6�Z8Gdh�die2�Z9Gdj�dke3�Z:Gdl�dme1�Z;Gdn�doe3�Z<Gdp�dqe<�Z=Gdr�dse<�Z>Gdt�due2�Z?Gdv�dwejH�Z@Gdx�dye2�ZAGdz�d{ejH�ZBGd|�d}e3�ZCGd~�de2�ZDGd��d�eC�ZEycc}}w)�zACME protocol messages.�)�HashableN)�Any)�Dict)�Iterator)�List)�Mapping)�MutableMapping)�Optional)�Tuple)�Type)�TypeVar)�
challenges)�errors)�fields)�jws)�utilzurn:ietf:params:acme:error:�accountDoesNotExistz4The request specified an account that does not exist�alreadyRevokedzOThe request specified a certificate to be revoked that has already been revoked�badCSRz2The CSR is unacceptable (e.g., due to a short key)�badNoncez1The client sent an unacceptable anti-replay nonce�badPublicKeyz>The JWS was signed by a public key the server does not support�badRevocationReasonz;The revocation reason provided is not allowed by the server�badSignatureAlgorithmz@The JWS was signed with an algorithm the server does not support�caaz\Certification Authority Authorization (CAA) records forbid the CA from issuing a certificate�compoundzBSpecific error conditions are indicated in the "subproblems" array�
connectionz?The server could not connect to the client to verify the domain�dnszAThere was a problem with a DNS query during identifier validation�dnssecz4The server could not validate a DNSSEC signed domain�incorrectResponsez;Response received didn't match the challenge's requirements�invalidEmailz1The provided email for a registration was invalid�invalidContactz$The provided contact URI was invalid�	malformedz!The request message was malformed�rejectedIdentifierz9The server will not issue certificates for the identifierzLThe request attempted to finalize an order that is not ready to be finalizedz,There were too many requests of a given typez(The server experienced an internal errorz=The server experienced a TLS error during domain verificationz)The client lacks sufficient authorizationz@A contact URL for an account used an unsupported protocol schemez*The server could not resolve a domain namez'An identifier is of an unsupported typez,The server requires external account binding)	�
orderNotReady�rateLimited�serverInternal�tls�unauthorized�unsupportedContact�unknownHost�unsupportedIdentifier�externalAccountRequired�err�returnc�`�t|t�r|j�t|jvSy)z#Check if argument is an ACME error.F)�
isinstance�Error�typ�ERROR_PREFIX)r-s �//usr/lib/python3/dist-packages/acme/messages.py�
is_acme_errorr5@s'���#�u��3�7�7�#6��s�w�w�&�&��c���eZdZUdZdZeZeedfe	d<deddf�fd�Z
defd�Zed	eddfd
��Z
defd�Zdedefd
�Zdefd�Z�xZS)�	_ConstantzACME constant.��name�POSSIBLE_NAMESr:r.Nc�N��t�|��||j|<||_y�N)�super�__init__r;r:��selfr:�	__class__s  �r4r?z_Constant.__init__Ls%���
����$(����D�!���	r6c��|jSr=r9�rAs r4�to_partial_jsonz_Constant.to_partial_jsonQs���y�y�r6�jobjc��||jvr"tj|j�d���|j|S)Nz not recognized)r;�jose�DeserializationError�__name__��clsrFs  r4�	from_jsonz_Constant.from_jsonTs=���s�)�)�)��+�+�s�|�|�n�O�,L�M�M��!�!�$�'�'r6c�N�|jj�d|j�d�S)N�(�))rBrJr:rDs r4�__repr__z_Constant.__repr__Zs$���.�.�)�)�*�!�D�I�I�;�a�8�8r6�otherc�b�t|t|��xr|j|jk(Sr=)r0�typer:)rArRs  r4�__eq__z_Constant.__eq__]s%���%��d��,�H����t�y�y�1H�Hr6c�D�t|j|jf�Sr=)�hashrBr:rDs r4�__hash__z_Constant.__hash__`s���T�^�^�T�Y�Y�/�0�0r6)rJ�
__module__�__qualname__�__doc__�	__slots__�NotImplementedr;r�str�__annotations__r?rE�classmethodrMrQr�boolrU�intrX�
__classcell__�rBs@r4r8r8Gs������I�-;�N�D��k�)�*�;��S��T��
����(�S�(�[�(��(�
9�#�9�I�C�I�D�I�1�#�1r6r8c�*�eZdZUdZiZeeefed<y)�IdentifierTypezACME identifier type.r;N�	rJrYrZr[r;rr^r8r_�r6r4rfrfds���+-�N�D��i��(�-r6rf�ipc��eZdZUdZej
dej��Zee	d<ej
d�Z
ee	d<y)�
IdentifierzJACME identifier.

    :ivar IdentifierType typ:
    :ivar str value:

    rT��decoderr2�valueN)rJrYrZr[rH�fieldrfrMr2r_rnr^rhr6r4rkrkms;���%�$�*�*�V�^�5M�5M�N�C��N�����G�$�E�3�$r6rkc���eZdZUdZej
ddd��Zeed<ej
dd��Z	eed<ej
d	d��Z
eed	<ej
d
ejd��Z
eded
<ej
d
d��Zeeded
<ej"deeeefdedfd��Zedededdfd��Zedeefd��Zedeefd��Zdededdfd�Zdefd�Zy)r1a�ACME error.

    https://datatracker.ietf.org/doc/html/rfc7807

    Note: Although Error inherits from JSONObjectWithFields, which is immutable,
    we add mutability for Error to comply with the Python exception API.

    :ivar str typ:
    :ivar str title:
    :ivar str detail:
    :ivar Identifier identifier:
    :ivar tuple subproblems: An array of ACME Errors which may be present when the CA
            returns multiple errors related to the same request, `tuple` of `Error`.

    rTTzabout:blank��	omitempty�defaultr2�title�rr�detail�
identifier�rmrrrk�subproblems)r1.rnr.c�&�td�|D��S)Nc3�FK�|]}tj|����y�wr=)r1rM)�.0�
subproblems  r4�	<genexpr>z$Error.subproblems.<locals>.<genexpr>�s����I�Z�U�_�_�Z�0�I���!��tuple�rns r4ryzError.subproblems�s���I�5�I�I�Ir6�code�kwargsc�T�|tvrtd|z��t|z}|dd|i|��S)z�Create an Error instance with an ACME Error code.

        :str code: An ACME error code, like 'dnssec'.
        :kwargs: kwargs to pass to Error.

        z4The supplied code: %s is not a known ACME error coder2rh)�ERROR_CODES�
ValueErrorr3)rLr�r�r2s    r4�	with_codezError.with_code�sE���{�"��%�'+�,�-�
-��T�!���%�s�%�f�%�%r6c�@�tj|j�S)z�Hardcoded error description based on its type.

        :returns: Description if standard ACME error or ``None``.
        :rtype: str

        )�ERROR_TYPE_DESCRIPTIONS�getr2rDs r4�descriptionzError.description�s��'�*�*�4�8�8�4�4r6c�j�t|j�jdd��d}|tvr|Sy)z�ACME error code.

        Basically self.typ without the ERROR_PREFIX.

        :returns: error code if standard ACME code or ``None``.
        :rtype: str

        �:�)�maxsplit���N)r^r2�rsplitr�)rAr�s  r4r�z
Error.code�s6���4�8�8�}�#�#�C�!�#�4�R�8���;���K�r6r:Nc�0�tj|||�Sr=)�object�__setattr__)rAr:rns   r4r�zError.__setattr__�s���!�!�$��e�4�4r6c�v�djd�|j|j|j|jfD��j�}|jrd|jj�d�|z}|jr1t|j�dkDr|jD]
}|d|��z
}�|S)Ns :: c3�DK�|]}|�|jdd����y�w)N�ascii�backslashreplace��encode)r|�parts  r4r~z Error.__str__.<locals>.<genexpr>�s*����!�9=���
�K�K��!3�4�!�s� zProblem for z: r�
)
�joinr2r�rvrt�decoderwrnry�len)rA�resultr}s   r4�__str__z
Error.__str__�s������!�
�X�X�t�'�'����d�j�j�A�!�!�"(���	��?�?�#�D�O�O�$9�$9�#:�"�=��F�F�����D�$4�$4� 5�� 9�"�.�.�
,�
��B�z�l�+�+��
,��
r6)rJrYrZr[rHror2r^r_rtrvrkrMrwr
ryrrmrrrr`r��propertyr�r�r�r�rhr6r4r1r1xsh����t�z�z�&�D�-�H�C��H�����G�t�4�E�3�4��$�*�*�X��6�F�C�6�)3�����j�2�2�d�*D�J���&�D�1;����M�UY�1Z�K��%��-�.�Z����J�4��S�#�X��/�J�E�,�4G�J��J��
&�S�
&�C�
&�G�
&��
&��5�X�c�]�5��5���h�s�m����5��5�C�5�D�5�
��
r6r1c�*�eZdZUdZiZeeefed<y)�StatuszACME "status" field.r;Nrgrhr6r4r�r��s���+-�N�D��i��(�-r6r��unknown�pending�
processing�valid�invalid�revoked�ready�deactivatedc��eZdZdZGd�dej
�Zdeee	fddfd�Z
dede	fd	�Zdede	fd
�Zde
ee	ffd�Zedeee	fddfd��Zy)
�	DirectoryzmDirectory.

    Directory resources must be accessed by the exact field name in RFC8555 (section 9.7.5).
    c�8��eZdZUdZej
dd��Zeed<ej
dd��Z	eed<ej
dd��Z
eeed<ej
d	d��Ze
ed
<dedd
f�fd�Zedefd��Zdeef�fd�Zdedefd�Z�xZS)�Directory.MetazDirectory Meta.�termsOfServiceTru�_terms_of_service�website�
caaIdentities�caa_identitiesr,�external_account_requiredr�r.Nc���|j�D��cic]\}}|j|�|��}}}t�|�di|��ycc}}w�Nrh��items�_internal_namer>r?�rAr��k�vrBs    �r4r?zDirectory.Meta.__init__�sF���<B�L�L�N�K�D�A�q�d�)�)�!�,�a�/�K�F�K��G��&�v�&��L��Ac��|jS)zURL for the CA TOS)r�rDs r4�terms_of_servicezDirectory.Meta.terms_of_service�s���)�)�)r6c#�P�K�t�|��D]}|dk(r|ddn|���y�w)Nr�r��r>�__iter__r@s  �r4r�zDirectory.Meta.__iter__�s8�������(�*�
H��"&�*=�"=�d�1�2�h�4�G�
H�s�#&r:c��|dk(rd|zS|S)Nr��_rh�rAr:s  r4r�zDirectory.Meta._internal_name�s��!%�);�!;�3��:�E��Er6)rJrYrZr[rHror�r^r_r�r�rr�rarr?r�r�rr�r�rcrds@r4�Metar��s�����!+����,<��!M��3�M�!�t�z�z�)�t�<���<�$.�D�J�J��$�$O���S�	�O�*4�$�*�*�5N�Z^�*_�!�4�_�	'�S�	'�T�	'�
�	*�c�	*�
�	*�	H�h�s�m�	H�	F�s�	F�s�	Fr6r�rFr.Nc��||_yr=)�_jobj�rArFs  r4r?zDirectory.__init__�s	����
r6r:c�X�	||S#t$r}tt|���d}~wwxYwr=)�KeyError�AttributeErrorr^)rAr:�errors   r4�__getattr__zDirectory.__getattr__s0��	-���:����	-� ��U��,�,��	-�s��	)�$�)c�Z�	|j|S#t$rtd|�d���wxYw)NzDirectory field "z" not found)r�r�r�s  r4�__getitem__zDirectory.__getitem__s=��	B��:�:�d�#�#���	B��.�t�f�K�@�A�A�	B�s��*c�D�tj|jd��S)Nc��|Sr=rh)r�s r4�<lambda>z+Directory.to_partial_json.<locals>.<lambda>
s��1�r6)r�map_keysr�rDs r4rEzDirectory.to_partial_jsons���}�}�T�Z�Z��5�5r6c�n�|jj|jdi��|d<||�S)N�meta)r�rM�poprKs  r4rMzDirectory.from_jsons/���x�x�)�)�$�(�(�6�2�*>�?��V���4�y�r6)rJrYrZr[rH�JSONObjectWithFieldsr�rr^rr?r�r�rrEr`r	rMrhr6r4r�r��s����
F�t�(�(�F�2�W�S�#�X�.��4��-��-��-�B��B��B�6��c�3�h��6���^�C��H�5��+���r6r�c�@�eZdZUdZej
d�Zded<y)�ResourcezOACME Resource.

    :ivar acme.messages.ResourceBody body: Resource body.

    �body�ResourceBodyN)rJrYrZr[rHror�r_rhr6r4r�r�s���
&�4�:�:�f�-�D�.�-r6r�c�@�eZdZUdZej
d�Zeed<y)�ResourceWithURIzKACME Resource with URI.

    :ivar str uri: Location of the resource.

    �uriN)	rJrYrZr[rHror�r^r_rhr6r4r�r�s���
�t�z�z�%� �C�� r6r�c��eZdZdZy)r�zACME Resource Body.N�rJrYrZr[rhr6r4r�r�'s��r6r�c
�T�eZdZdZedejdededede	ee
ff
d��Zy)	�ExternalAccountBindingzACME External Account Binding�account_public_key�kid�hmac_key�	directoryr.c��tj|j��j�}tj
j
|�}|d}tjj|tjj|��tjjd||�}|j�S)zLCreate External Account Binding Resource from contact details, kid and hmac.�
newAccount)�keyN)�json�dumpsrEr�rH�b64�	b64decoder�JWS�sign�jwk�JWKOct�jwa�HS256)	rLr�r�r�r��key_json�decoded_hmac_key�url�eabs	         r4�	from_dataz ExternalAccountBinding.from_data.s���
�:�:�0�@�@�B�C�J�J�L���8�8�-�-�h�7����%���g�g�l�l�8�T�X�X�_�_�9I�_�%J��8�8�>�>�4���%���"�"�$�$r6N)rJrYrZr[r`rH�JWKr^r�rrr�rhr6r4r�r�+sH��'��%�4�8�8�%�#�%��%�&�%�+/��S��>�%��%r6r��GenericRegistration�Registration)�boundc����eZdZUdZej
ddejj��Zeje	d<ej
ddd��Z
eedfe	d<ej
d	d�
�Z
ee	d	<ej
dd�
�Zee	d<ej
dd�
�Zee	d
<ej
dd�
�Zee	d<ej
dd�
�Zeeefe	d<dZdZe			d$deedeedeedeeeefdedefd��Zdeddf�fd�Zdedeedffd�Zdeeefdeeeffd�Zdeeeff�fd �Z deeeff�fd!�Z!e"deedffd"��Z#e"deedffd#��Z$�xZ%S)%r�z�Registration Resource Body.

    :ivar jose.JWK key: Public key.
    :ivar tuple contact: Contact information following ACME spec,
        `tuple` of `str`.
    :ivar str agreement:

    r�T�rrrm�contactrhrq.�	agreementru�status�termsOfServiceAgreed�terms_of_service_agreed�onlyReturnExisting�only_return_existing�externalAccountBinding�external_account_bindingztel:zmailto:NrL�phone�emailr�r.c�F�d|v}t|jdd��}|�|j|j|z�|�;|j	|jd�D�cgc]}|j|z��c}�|s|rt|�|d<|r||d<|di|��Scc}w)a
        Create registration resource from contact details.

        The `contact` keyword being passed to a Registration object is meaningful, so
        this function represents empty iterables in its kwargs by passing on an empty
        `tuple`.
        rrh�,r)�listr��append�phone_prefix�extend�split�email_prefixr�)rLrr
rr��contact_provided�details�mails        r4r�zRegistration.from_data[s���%��.���v�z�z�)�R�0�1�����N�N�3�+�+�e�3�4����N�N����C�@P�Q��C�,�,�t�3�Q�R��&� %�g��F�9��#�1I�F�-�.��}�V�}���Rs� Bc�d��d|vr|d�tj|dd�t�|�di|��y)z;Note if the user provides a value for the `contact` member.rN�_add_contactTrh)r�r�r>r?)rAr�rBs  �r4r?zRegistration.__init__|s7������6�)�#4�#@����t�^�T�:�
���"�6�"r6�prefixc�@��t�fd�|jD��S)Nc3�\�K�|]#}|j��r|t��d���%y�wr=)�
startswithr�)r|rvrs  �r4r~z/Registration._filter_contact.<locals>.<genexpr>�s2�����*�%+�� � ��(�
�3�v�;�<� �*�s�),)r�r)rArs `r4�_filter_contactzRegistration._filter_contact�s!����*�/3�|�|�*�*�	*r6rFc�H�t|dd�r|jd�|d<|S)a�
        The `contact` member of Registration objects should not be required when
        de-serializing (as it would be if the Fields' `omitempty` flag were `False`), but
        it should be included in serializations if it was provided.

        :param jobj: Dictionary containing this Registrations' data
        :type jobj: dict

        :returns: Dictionary containing Registrations data to transmit to the server
        :rtype: dict
        rFr)�getattrr�r�s  r4�_add_contact_if_appropriatez(Registration._add_contact_if_appropriate�s'���4���/�"�k�k�)�4�D��O��r6c�B��t�|��}|j|�S)z2Modify josepy.JSONDeserializable.to_partial_json())r>rEr"�rArFrBs  �r4rEzRegistration.to_partial_json�s!����w�&�(���/�/��5�5r6c�B��t�|��}|j|�S)z;Modify josepy.JSONObjectWithFields.fields_to_partial_json())r>�fields_to_partial_jsonr"r$s  �r4r&z#Registration.fields_to_partial_json�s!����w�-�/���/�/��5�5r6c�8�|j|j�S)z*All phones found in the ``contact`` field.)rrrDs r4�phoneszRegistration.phones�����#�#�D�$5�$5�6�6r6c�8�|j|j�S)z*All emails found in the ``contact`` field.)rrrDs r4�emailszRegistration.emails�r)r6)NNN)&rJrYrZr[rHror�rMr�r_rrr^rrr�rrar	rrrrrr`rr�r
r�r?rr"rEr&r�r(r+rcrds@r4r�r�As�����D�J�J�u��d�h�h�>P�>P�Q�C����Q� *�t�z�z�)�t�R�P�G�U�3��8�_�P��T�Z�Z��t�<�I�s�<��T�Z�Z��D�9�F�F�9�$.�D�J�J�/E�QU�$V��T�V�!+����,@�D�!Q��$�Q�/9�t�z�z�:R�DH�0J��d�3��8�n�J��L��L��IM�)-�GK��t�/�0���#���!�#���,4�T�#�s�(�^�,D�� ��%8����@#��#��#�*�c�*�e�C��H�o�*�
��S�#�X���4��S��>��"6��c�3�h��6�
6��S�#�X��6�
�7��c�3�h��7��7��7��c�3�h��7��7r6c��eZdZdZy)�NewRegistrationzNew registration.Nr�rhr6r4r-r-�s��r6r-c��eZdZdZy)�UpdateRegistrationzUpdate registration.Nr�rhr6r4r/r/�s��r6r/c��eZdZUdZej
dej��Zee	d<ej
dd��Z
ee	d<ej
dd��Zee	d<y)	�RegistrationResourcez�Registration Resource.

    :ivar acme.messages.Registration body:
    :ivar str new_authzr_uri: Deprecated. Do not use.
    :ivar str terms_of_service: URL for the CA TOS.

    r�rl�new_authzr_uriTrur�N)
rJrYrZr[rHror�rMr�r_r2r^r�rhr6r4r1r1�sW���$����F�L�4J�4J�K�D�,�K�$�$�*�*�%5��F�N�C�F�&�D�J�J�'9�T�J��c�Jr6r1c����eZdZUdZdZejddd��Zee	d<ejde
jde�	�Z
e
e	d<ejd
d��Zej"e	d
<ejdejdd�	�Zee	d<d
eddf�fd�Zdedef�fd�Zdeeeff�fd�Zedeeefdeeeff�fd��Zedefd��Zdedefd�Zdeef�fd�Z dedefd�Z!�xZ"S)�
ChallengeBodya>Challenge Resource Body.

    .. todo::
       Confusingly, this has a similar name to `.challenges.Challenge`,
       as well as `.achallenges.AnnotatedChallenge`. Please use names
       such as ``challb`` to distinguish instances of this class from
       ``achall``.

    :ivar acme.challenges.Challenge: Wrapped challenge.
        Conveniently, all challenge fields are proxied, i.e. you can
        call ``challb.x`` to get ``challb.chall.x`` contents.
    :ivar acme.messages.Status status:
    :ivar datetime.datetime validated:
    :ivar messages.Error error:

    )�challr�TNrq�_urlr)rmrrrs�	validatedrur�r�r.c���|j�D��cic]\}}|j|�|��}}}t�|�di|��ycc}}wr�r�r�s    �r4r?zChallengeBody.__init__�sF���8>����G���1�$�%�%�a�(�!�+�G��G�
���"�6�"��Hr�r:c�@��t�|�|j|��Sr=)r>r�r�r@s  �r4r�zChallengeBody.encode�s����w�~�d�1�1�$�7�8�8r6c�v��t�|��}|j|jj��|Sr=)r>rE�updater5r$s  �r4rEzChallengeBody.to_partial_json�s.����w�&�(�����D�J�J�.�.�0�1��r6rFc�j��t�|�|�}tjj	|�|d<|S)Nr5)r>�fields_from_jsonr�	ChallengerM)rLrF�jobj_fieldsrBs   �r4r=zChallengeBody.fields_from_json�s3����g�.�t�4��)�3�3�=�=�d�C��G���r6c��|jS)zThe URL of this challenge.)r6rDs r4r�zChallengeBody.uri�s���y�y�r6c�.�t|j|�Sr=)r!r5r�s  r4r�zChallengeBody.__getattr__�s���t�z�z�4�(�(r6c#�J�K�t�|��D]
}|dk(rdn|���y�w)Nr6r�r�r@s  �r4r�zChallengeBody.__iter__�s.������G�$�&�	4�D��6�>�%�t�3�	4�s� #c��|dk(rdS|S)Nr�r6rhr�s  r4r�zChallengeBody._internal_names�����v�0�D�0r6)#rJrYrZr[r\rHror6r^r_r�rM�STATUS_PENDINGrr�rfc3339r7�datetimer1r�rr?r�rrEr`rr=r�r�r�rr�r�rcrds@r4r4r4�sQ���� �I�
��
�
�5�D�$�?�D�#�?��T�Z�Z��&�2B�2B�"&��@�F�F�@�#1�6�>�>�+��#N�I�x� � �N��4�:�:�g�u���!%�t�5�E�5�5�#��#��#�9�3�9�3�9���c�3�h���
��G�C��H�$5��$�s�C�x�.����
��S����)��)��)�4�(�3�-�4�1�3�1�3�1r6r4c��eZdZUdZej
dej��Zee	d<ej
d�Z
ee	d<edefd��Z
y)�ChallengeResourcez�Challenge Resource.

    :ivar acme.messages.ChallengeBody body:
    :ivar str authzr_uri: URI found in the 'up' ``Link`` header.

    r�rl�
authzr_urir.c�.�|jjS)zThe URL of the challenge body.)r�r�rDs r4r�zChallengeResource.uris���y�y�}�}�r6N)rJrYrZr[rHror4rMr�r_rIr^r�r�rhr6r4rHrHsT���%�$�*�*�V�]�5L�5L�M�D�-�M� �d�j�j��.�J��.�
��S���r6rHc��eZdZUdZej
dejd��Zee	d<ej
dd��Z
eee	d<ej
dde
j��Ze
e	d<ej d	d��Zej$e	d	<ej
d
d��Zee	d
<e
j*deeeefdeed
ffd��Z
y)�
Authorizationz�Authorization Resource Body.

    :ivar acme.messages.Identifier identifier:
    :ivar list challenges: `list` of `.ChallengeBody`
    :ivar acme.messages.Status status:
    :ivar datetime.datetime expires:

    rwTrxrrurr�expires�wildcardrnr..c�&�td�|D��S)Nc3�FK�|]}tj|����y�wr=)r4rM)r|r5s  r4r~z+Authorization.challenges.<locals>.<genexpr>,s����G��]�,�,�U�3�G�rr�r�s r4rzAuthorization.challenges*s���G��G�G�Gr6N)rJrYrZr[rHrorkrMrwr_rrr4r�rrrErMrFrNrarmrr^rrrhr6r4rLrLs����(�T�Z�Z��j�>R�>R�^b�c�J�
�c�&0�d�j�j���&N�J��]�#�N��T�Z�Z��D�&�BR�BR�S�F�F�S�
"0����	�T�!J�G�X�
�
�J��T�Z�Z�
�d�;�H�d�;����H�$�t�C��H�~�.�H�5���9K�3L�H��Hr6rLc��eZdZdZy)�NewAuthorizationzNew authorization.Nr�rhr6r4rRrR/s��r6rRc��eZdZdZy)�UpdateAuthorizationzUpdate authorization.Nr�rhr6r4rTrT3s��r6rTc��eZdZUdZej
dej��Zee	d<ej
dd��Z
ee	d<y)�AuthorizationResourcez~Authorization Resource.

    :ivar acme.messages.Authorization body:
    :ivar str new_cert_uri: Deprecated. Do not use.

    r�rl�new_cert_uriTruN)rJrYrZr[rHrorLrMr�r_rWr^rhr6r4rVrV7s=���%�$�*�*�V�]�5L�5L�M�D�-�M�"��
�
�>�T�B�L�#�Br6rVc��eZdZUdZej
dejej��Zeje
d<y)�CertificateRequestz~ACME newOrder request.

    :ivar jose.ComparableX509 csr:
        `OpenSSL.crypto.X509Req` wrapped in `.ComparableX509`

    �csr�rm�encoderN)rJrYrZr[rHro�
decode_csr�
encode_csrrZ�ComparableX509r_rhr6r4rYrYBs3��� *�t�z�z�%����RV�Ra�Ra�b�C��	�	�br6rYc�x�eZdZUdZej
d�Zeed<ej
d�Z	e
edfed<y)�CertificateResourceaCertificate Resource.

    :ivar josepy.util.ComparableX509 body:
        `OpenSSL.crypto.X509` wrapped in `.ComparableX509`
    :ivar str cert_chain_uri: URI found in the 'up' ``Link`` header
    :ivar tuple authzrs: `tuple` of `AuthorizationResource`.

    �cert_chain_uri�authzrs.N)rJrYrZr[rHrorbr^r_rcrrVrhr6r4raraLs?���%�$�*�*�%5�6�N�C�6�1;����I�1F�G�U�(�#�-�
.�Fr6rac��eZdZUdZej
dejej��Zeje
d<ej
d�Zee
d<y)�
Revocationz�Revocation message.

    :ivar jose.ComparableX509 certificate: `OpenSSL.crypto.X509` wrapped in
        `jose.ComparableX509`

    �certificater[�reasonN)
rJrYrZr[rHro�decode_cert�encode_certrfr_r_rgrbrhr6r4rereYsP���(2�t�z�z��t�/�/��9I�9I�(K�K��$�$�K��$�*�*�X�&�F�C�&r6rec��eZdZUdZej
dd��Zeee	d<ej
de
jd��Ze
e	d<ej
dd��Z
eee	d<ej
dd��Zee	d<ej
d	d��Zee	d	<ej$d
d��Zej(e	d
<ej
ddej��Zee	d<ej.d
eeeefdeedffd��Zy)�Ordera_Order Resource Body.

    :ivar identifiers: List of identifiers for the certificate.
    :vartype identifiers: `list` of `.Identifier`
    :ivar acme.messages.Status status:
    :ivar authorizations: URLs of authorizations.
    :vartype authorizations: `list` of `str`
    :ivar str certificate: URL to download certificate as a fullchain PEM.
    :ivar str finalize: URL to POST to to request issuance once all
        authorizations have "valid" status.
    :ivar datetime.datetime expires: When the order expires.
    :ivar ~.Error error: Any error that occurred during finalization, if applicable.
    �identifiersTrurrx�authorizationsrf�finalizerMr�rrnr..c�&�td�|D��S)Nc3�FK�|]}tj|����y�wr=)rkrM)r|rws  r4r~z$Order.identifiers.<locals>.<genexpr>s����N�*�Z�)�)�*�5�N�rr�r�s r4rlzOrder.identifiers}s���N��N�N�Nr6N)rJrYrZr[rHrorlrrkr_r�rMrrmr^rfrnrrErMrFr1r�rmrrrrhr6r4rkrkes
���%/�D�J�J�}��$M�K��j�!�M��T�Z�Z��&�2B�2B�d�S�F�F�S� *��
�
�+;�t� L�N�D��I�L�!�t�z�z�-�4�@�K��@��D�J�J�z�T�:�H�c�:�!/����	�T�!J�G�X�
�
�J��4�:�:�g��u���O�E�5�O����O�4��S�#�X��/�O�E�*�c�/�4J�O��Or6rkc�x�eZdZUdZej
dej��Zee	d<ej
ddd�d���Z
ee	d<ej
d	�Ze
ee	d	<ej
d
d��Zee	d
<ej
dd��Ze
ee	d<ej$d
e
eeefdeedffd��Zy)�
OrderResourcea�Order Resource.

    :ivar acme.messages.Order body:
    :ivar bytes csr_pem: The CSR this Order will be finalized with.
    :ivar authorizations: Fully-fetched AuthorizationResource objects.
    :vartype authorizations: `list` of `acme.messages.AuthorizationResource`
    :ivar str fullchain_pem: The fetched contents of the certificate URL
        produced once the order was finalized, if it's present.
    :ivar alternative_fullchains_pem: The fetched contents of alternative certificate
        chain URLs produced once the order was finalized, if present and requested during
        finalization.
    :vartype alternative_fullchains_pem: `list` of `str`
    r�rl�csr_pemTc�$�|jd�S�Nzutf-8r�)�ss r4r�zOrderResource.<lambda>����!�(�(�7�2C�r6c�$�|jd�Sru)r�)�bs r4r�zOrderResource.<lambda>�rwr6)rrrmr\rm�
fullchain_pemru�alternative_fullchains_pemrnr..c�&�td�|D��S)Nc3�FK�|]}tj|����y�wr=)rVrM)r|�authzs  r4r~z/OrderResource.authorizations.<locals>.<genexpr>�s����O��*�4�4�U�;�O�rr�r�s r4rmzOrderResource.authorizations�s���O��O�O�Or6N)rJrYrZr[rHrorkrMr�r_rs�bytesrmrrVrzr^r{rmrrrrhr6r4rrrr�s�����$�*�*�V�U�_�_�=�D�%�=��T�Z�Z�	�T�)D�(C�	E�G�U�	E�3=�$�*�*�=M�2N�N�D�.�/�N�#����O�t�D�M�3�D�,6�D�J�J�7S�AE�-G���S�	�G�
���P�d�4��S��>�2�P�u�=R�TW�=W�7X�P��Pr6rrc��eZdZdZy)�NewOrderz
New order.Nr�rhr6r4r�r��s��r6r�)Fr[�collections.abcrrFr��typingrrrrrr	r
rrr
�josepyrH�acmerrrrrr3r�r�r��
BaseExceptionrar5�JSONDeSerializabler8rf�IDENTIFIER_FQDN�
IDENTIFIER_IPr�rkr1r��STATUS_UNKNOWNrD�STATUS_PROCESSING�STATUS_VALID�STATUS_INVALID�STATUS_REVOKED�STATUS_READY�STATUS_DEACTIVATEDr�r�r�r�r�r�r�r-r/r1r4rHrLrRrTrVrYrarerkrrr�)r:�descs00r4�<module>r�s����$��������!�����������,����Q�����
�B�	�
�C���T�
��X���_��
����T�����
�N��
�D�� �X�!�$�G�%�&�<�'�(�4�)�*�U�+�,d�A�@�J�?�\�?�F�M�=��B�0;�0A�0A�0C��",�$��L�4�������
�}����1��'�'��1�:.�Y�.�
!��'���t�$�
�%��*�*�%�T�D�%�%�v�|�|�T�n.�Y�.�
�	�"���	�"���<�(���g����	�"���	�"���g����M�*��4��'�'�4�n.�t�(�(�.�!�h�!��4�,�,��%�%�&�3�>�J��j7�<�j7�Z�l�����
K�?�
K�>1�L�>1�B
��
� H�L�H�6�}�� �-� �C�O�C�c��2�2�c�
G�/�
G�	'��*�*�	'�O�L�O�:#P�O�#P�L�u���[s�J7

Zerion Mini Shell 1.0