HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1784574/root/lib/python3/dist-packages/certbot/_internal/__pycache__/
Upload File :
Current File : //proc/1784574/root/lib/python3/dist-packages/certbot/_internal/__pycache__/account.cpython-311.pyc
�

E��c�=����dZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZddlmZddlm
Z
dd	lmZdd
lmZddlZddlZddlZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddl m!Z!ddl"m#Z#ddl"m$Z$ej%e&��Z'Gd�d��Z(Gd�dej)��Z*Gd�dej+��Z,Gd�dej)��Z-dS)z!Creates ACME accounts for server.�N)�Any)�Callable)�cast)�Dict)�List)�Mapping)�Optional)�
serialization)�fields)�messages)�ClientV2)�
configuration)�errors)�
interfaces)�util)�	constants)�
filesystem)�osc	��eZdZdZGd�dej��Z	ddejdej	de
dddfd	�Zede
fd
���Zde
fd�Zdedefd
�ZdS)�Accountz�ACME protocol registration.

    :ivar .RegistrationResource regr: Registration Resource
    :ivar .JWK key: Authorized Account Key
    :ivar .Meta: Account metadata
    :ivar str id: Globally unique account identifier.

    c��eZdZUdZejd��Zejed<e	j
d��Zeed<e	j
dd���Z
eed<dS)�Account.Metaa�Account metadata

        :ivar datetime.datetime creation_dt: Creation date and time (UTC).
        :ivar str creation_host: FQDN of host, where account has been created.
        :ivar str register_to_eff: If not None, Certbot will register the provided
                                        email during the account registration.

        .. note:: ``creation_dt`` and ``creation_host`` are useful in
            cross-machine migration scenarios.

        �creation_dt�
creation_host�register_to_effT)�	omitemptyN)�__name__�
__module__�__qualname__�__doc__�acme_fields�rfc3339r�datetime�__annotations__�jose�fieldr�strr���;/usr/lib/python3/dist-packages/certbot/_internal/account.py�Metar-s|�������
	�
	�*=��)<�]�)K�)K��X�&�K�K�K�'�T�Z��8�8�
�s�8�8�8�)�t�z�*;�t�L�L�L���L�L�L�L�Lr)r+N�regr�key�meta�returnc
��||_||_|�e|�tj�t
j����d���tj	��d���n||_
	tj��}nH#t$r;tjd	itt t"t$fddi����}YnwxYw|�|jj����t,jjt,jj�����|���|_dS)
N)�tzr)�microsecond)rrr�md5�usedforsecurityF)�encoding�format)r3)r-r,r+r#�now�pytz�UTC�replace�socket�getfqdnr.�hashlibr3�
ValueError�newrrr'r�update�
public_key�public_bytesr
�Encoding�PEM�PublicFormat�SubjectPublicKeyInfo�	hexdigest�id)�selfr,r-r.�hashers     r*�__init__zAccount.__init__=sK�������	�
&*�\�	�I�I� �)�-�-���-�:�:�B�B�q�B�Q�Q� �.�*�*� �	�"�"�"�8<�		
�	�	_��[�]�]�F�F���	_�	_�	_��[�^�^�$�w�s�C�x�/@�CT�V[�B\�*]�*]�^�^�F�F�F�		_����	�
�
�d�h�l�-�-�/�/�<�<�"�+�/� �-�B�=�D�D�	
�	
�	
�
�"�"�$�$����s�>B�AC�Cc��d�tj|jj��|jj|jdd���S)z3Short account identification string, useful for UI.z
{1}@{0} ({2})N�)r6�	pyrfc3339�generater.rrrH�rIs r*�slugzAccount.slug\sJ���%�%�i�&8��I�!�'#�'#�$(�I�$;�T�W�R�a�R�[�J�J�	Jr)c�d�d�|jj|j|j|j��S)Nz<{0}({1}, {2}, {3})>)r6�	__class__rr,rHr.rPs r*�__repr__zAccount.__repr__bs1��%�,�,��N�#�T�Y�����D�D�	Dr)�otherc��t||j��o/|j|jko|j|jko|j|jkS�N)�
isinstancerSr-r,r.)rIrUs  r*�__eq__zAccount.__eq__fsI���5�$�.�1�1�(���E�I�%�(�*.�)�u�z�*A�(��	�U�Z�'�	)r)rW)rrrr r%�JSONObjectWithFieldsr+r�RegistrationResource�JWKr	rK�propertyr'rQrTr�boolrYr(r)r*rr#s��������M�M�M�M�M�t�(�M�M�M�"+/�%�%�X�:�%���%���'�%�37�%�%�%�%�>�J�c�J�J�J��X�J�
D�#�D�D�D�D�)�C�)�D�)�)�)�)�)�)r)rc�|�eZdZdZddeeeefddfd�Zde	efd�Z
dededdfd	�Zd
edefd�Z
dS)
�AccountMemoryStoragezIn-memory account storage.N�initial_accountsr/c��|�|ni|_dSrW)�accounts)rIras  r*rKzAccountMemoryStorage.__init__os��,<�,H�(�(�b��
�
�
r)c�N�t|j�����SrW)�listrc�valuesrPs r*�find_allzAccountMemoryStorage.find_allrs���D�M�(�(�*�*�+�+�+r)�account�clientc��|j|jvr t�d|j��||j|j<dS)NzOverwriting account: %s)rHrc�logger�debug)rIrhris   r*�savezAccountMemoryStorage.saveus<���:���&�&��L�L�2�G�J�?�?�?�$+��
�g�j�!�!�!r)�
account_idc�b�	|j|S#t$rtj|���wxYwrW)rc�KeyErrorr�AccountNotFound�rIrns  r*�loadzAccountMemoryStorage.loadzs@��	5��=��,�,���	5�	5�	5��(��4�4�4�	5���s��.rW)rrrr r	rr'rrKrrgr
rmrsr(r)r*r`r`ls�������$�$�Q�Q��$�s�G�|�2D�)E�Q�QU�Q�Q�Q�Q�,�$�w�-�,�,�,�,�,�G�,�X�,�$�,�,�,�,�
5�s�5�w�5�5�5�5�5�5r)r`c�>�eZdZUdZejd��Zeed<dS)�$RegistrationResourceWithNewAuthzrURIafA backwards-compatible RegistrationResource with a new-authz URI.

       Hack: Certbot versions pre-0.11.1 expect to load
       new_authzr_uri as part of the account. Because people
       sometimes switch between old and new versions, we will
       continue to write out this field for some time so older
       clients don't crash in that scenario.
    �new_authzr_uriN)	rrrr r%r&rvr'r$r(r)r*ruru�s;���������%�$�*�%5�6�6�N�C�6�6�6�6�6r)ruc��eZdZdZdejddfd�Zdedefd�Zdededefd	�Z	e
d
edefd���Ze
d
edefd���Ze
d
edefd
���Z
dedeefd�Zdeefd�Zdedededdfd�Zdededdfd�Zdededefd�Zdedefd�Zdededdfd�Zdededdfd�Zdeddfd�Zdeddfd�Zdededdfd�Zdeddfd�Zdedeegefdefd�Zdedefd�Zded eddfd!�Z ded"ed eddfd#�Z!ded eddfd$�Z"dS)%�AccountFileStoragezjAccounts file storage.

    :ivar certbot.configuration.NamespaceConfig config: Client configuration

    �configr/Nc�^�||_tj|jd|jj��dS�Ni�)ryr�make_or_verify_dir�accounts_dir�strict_permissions)rIrys  r*rKzAccountFileStorage.__init__�s,�������� 3�U�D�K�<Z�[�[�[�[�[r)rnc�B�|�||jj��SrW)�!_account_dir_path_for_server_pathry�server_pathrrs  r*�_account_dir_pathz$AccountFileStorage._account_dir_path�s���5�5�j�$�+�BY�Z�Z�Zr)r�c�v�|j�|��}tj�||��SrW)ry�accounts_dir_for_server_pathr�path�join)rIrnr�r}s    r*r�z4AccountFileStorage._account_dir_path_for_server_path�s-���{�?�?��L�L���w�|�|�L�*�5�5�5r)�account_dir_pathc�B�tj�|d��S)Nz	regr.json�rr�r���clsr�s  r*�
_regr_pathzAccountFileStorage._regr_path�����w�|�|�,�k�:�:�:r)c�B�tj�|d��S)Nzprivate_key.jsonr�r�s  r*�	_key_pathzAccountFileStorage._key_path�s���w�|�|�,�.@�A�A�Ar)c�B�tj�|d��S)Nz	meta.jsonr�r�s  r*�_metadata_pathz!AccountFileStorage._metadata_path�r�r)c��|j�|��}	tj|��}n#t$rgcYSwxYwg}|D]]}	|�|�||�����-#tj$rt�
dd���Y�ZwxYw|sc|tjvrUtj|}|�
|��}|r*	|�||��n#t$rgcYSwxYw|}|S)NzAccount loading problemT)�exc_info)ryr�r�listdir�OSError�append�_load_for_server_pathr�AccountStorageErrorrkrlr�LE_REUSE_SERVERS�_find_all_for_server_path�_symlink_to_accounts_dir)rIr�r}�
candidatesrcrn�prev_server_path�
prev_accountss        r*r�z,AccountFileStorage._find_all_for_server_path�sa���{�?�?��L�L��	���L�1�1�J�J���	�	�	��I�I�I�	������$�	G�	G�J�
G����� :� :�:�{� S� S�T�T�T�T���-�
G�
G�
G����6���F�F�F�F�F�
G�����
	%�K�9�+E�E�E�(�9�+�F�� �:�:�;K�L�L�M��
���1�1�2B�K�P�P�P�P�������I�I�I�����$�H��s2�1�A�A�
)A4�4+B"�!B"�C6�6D�Dc�@�|�|jj��SrW)r�ryr�rPs r*rgzAccountFileStorage.find_all�s���-�-�d�k�.E�F�F�Fr)r�c��|�||��}|�||��}tj||��dSrW)r�r�symlink)rIr�r�rn�prev_account_dir�new_account_dirs      r*�_symlink_to_account_dirz*AccountFileStorage._symlink_to_account_dir�sG���A�A�*�N^�_�_���@�@��[�Y�Y��
�
�#�_�5�5�5�5�5r)c�(�|j�|��}tj�|��rtj|��ntj|��|j�|��}tj||��dSrW)ryr�rr��islink�unlink�rmdirr�)rIr�r�r}r�s     r*r�z+AccountFileStorage._symlink_to_accounts_dir�s����{�?�?��L�L��
�7�>�>�,�'�'�	#��I�l�#�#�#�#��H�\�"�"�"��;�C�C�DT�U�U��
�
�#�\�2�2�2�2�2r)c��|�||��}tj�|��s�|tjvr�tj|}|�||��}|j�|��}tj	|��r|�
|||��n|�||��|Stj
d|�d����	t|�|����5}t j�|�����}ddd��n#1swxYwYt|�|����5}	t*j�|	�����}
ddd��n#1swxYwYt|�|����5}t0j�|�����}ddd��n#1swxYwYn&#t4$r}
tj|
���d}
~
wwxYwt1||
|��S)N�Account at � does not exist)r�rr��isdirrr�r�ryr�r�r�r�rrq�openr�rr[�
json_loads�readr�r%r\r�rr+�IOErrorr�)rIrnr�r�r��prev_loaded_accountr}�	regr_filer,�key_filer-�
metadata_filer.�errors              r*r�z(AccountFileStorage._load_for_server_path�s����A�A�*�k�Z�Z���w�}�}�-�.�.�	Z��i�8�8�8�#,�#=�k�#J� �&*�&@�&@��M]�&^�&^�#�#�{�G�G��T�T���:�l�+�+�Q��0�0�1A�;�PZ�[�[�[�[��1�1�2B�K�P�P�P�*�*��(�)X�7G�)X�)X�)X�Y�Y�Y�	4��d�o�o�&6�7�7�8�8�
R�I��4�?�?�	���@P�@P�Q�Q��
R�
R�
R�
R�
R�
R�
R�
R�
R�
R�
R����
R�
R�
R�
R��d�n�n�%5�6�6�7�7�
;�8��h�)�)�(�-�-�/�/�:�:��
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;��d�)�)�*:�;�;�<�<�
E�
��|�.�.�}�/A�/A�/C�/C�D�D��
E�
E�
E�
E�
E�
E�
E�
E�
E�
E�
E����
E�
E�
E�
E����	4�	4�	4��,�U�3�3�3�����	4�����t�S�$�'�'�'s��#"H%�2E�7H%�E�H%�
E�%H%�02F.�"H%�.F2�2H%�5F2�6%H%�2H�
H%�H�H%� H�!H%�%
I�/I�Ic�B�|�||jj��SrW)r�ryr�rrs  r*rszAccountFileStorage.load�s���)�)�*�d�k�6M�N�N�Nr)rhric��	|�|��}|�||��|�||��|�|||��dS#t$r}tj|���d}~wwxYw)z�Create a new account.

        :param Account account: account to create
        :param ClientV2 client: ACME client associated to the account

        N)�_prepare�_create�_update_meta�_update_regrr�rr��rIrhri�dir_pathr�s     r*rmzAccountFileStorage.save�s���	4��}�}�W�-�-�H��L�L��(�+�+�+����g�x�0�0�0����g�v�x�8�8�8�8�8���	4�	4�	4��,�U�3�3�3�����	4���s�AA�
A?�&A:�:A?c��	|�|��}|�|||��dS#t$r}tj|���d}~wwxYw)z�Update the registration resource.

        :param Account account: account to update
        :param ClientV2 client: ACME client associated to the account

        N)r�r�r�rr�r�s     r*�update_regrzAccountFileStorage.update_regrsf��	4��}�}�W�-�-�H����g�v�x�8�8�8�8�8���	4�	4�	4��,�U�3�3�3�����	4���s�,0�
A�A�Ac��	|�|��}|�||��dS#t$r}tj|���d}~wwxYw)zVUpdate the meta resource.

        :param Account account: account to update

        N)r�r�r�rr�)rIrhr�r�s    r*�update_metazAccountFileStorage.update_metasd��	4��}�}�W�-�-�H����g�x�0�0�0�0�0���	4�	4�	4��,�U�3�3�3�����	4���s�+/�
A�A
�
Ac�\�|�|��}tj�|��st	jd|�d����|�||jj��tj	|jj
��s!|�|jj��dSdS)znDelete registration info from disk

        :param account_id: id of account which should be deleted

        r�r�N)r�rr�r�rrq�#_delete_account_dir_for_server_pathryr�r�r}�$_delete_accounts_dir_for_server_path)rIrnr�s   r*�deletezAccountFileStorage.deletes��� �1�1�*�=�=���w�}�}�-�.�.�	Z��(�)X�7G�)X�)X�)X�Y�Y�Y��0�0��T�[�=T�U�U�U��z�$�+�2�3�3�	O��5�5�d�k�6M�N�N�N�N�N�	O�	Or)c��tj|j|��}|�||��}t	j|��dSrW)�	functools�partialr��!_delete_links_and_find_target_dir�shutil�rmtree)rIrnr��	link_func�nonsymlinked_dirs     r*r�z6AccountFileStorage._delete_account_dir_for_server_path.sD���%�d�&L�j�Y�Y�	��A�A�+�y�Y�Y���
�&�'�'�'�'�'r)c�r�|jj}|�||��}tj|��dSrW)ryr�r�rr�)rIr�r�r�s    r*r�z7AccountFileStorage._delete_accounts_dir_for_server_path3s9���K�<�	��A�A�+�y�Y�Y��
��!�"�"�"�"�"r)r�c��||��}i}tj���D]
\}}|||<�d}|rXd}||vrP||}||��}	tj�|	��rt
j|	��|krd}|}|	}|�Xtj�|��rIt
j|��}
tj|��|
}tj�|���I|S)a/Delete symlinks and return the nonsymlinked directory path.

        :param str server_path: file path based on server
        :param callable link_func: callable that returns possible links
            given a server_path

        :returns: the final, non-symlinked target
        :rtype: str

        TF)	rr��itemsrr�r�r�readlinkr�)rIr�r�r��reused_servers�k�v�possible_next_link�next_server_path�
next_dir_path�targets           r*r�z4AccountFileStorage._delete_links_and_find_target_dir8s'���9�[�)�)�����.�4�4�6�6�	"�	"�D�A�q� !�N�1���"�� �	-�!&���n�,�,�#1�+�#>� � )�	�*:� ;� ;�
��7�>�>�-�0�0�-�Z�5H��5W�5W�[c�5c�5c�)-�&�"2�K�,�H�!�	-��g�n�n�X�&�&�	��(��2�2�F��I�h�����H��g�n�n�X�&�&�	�
�r)c�z�|�|j��}tj|d|jj��|Sr{)r�rHrr|ryr~)rIrhr�s   r*r�zAccountFileStorage._prepare`s9���1�1�'�*�=�=���� 0�%���9W�X�X�X��r)r�c���tj|�|��dd���5}|�|j�����ddd��dS#1swxYwYdS)N�w�)�chmod)r�	safe_openr��writer-�
json_dumps)rIrhr�r�s    r*r�zAccountFileStorage._createes���
�^�D�N�N�8�4�4�c��
G�
G�
G�	5�8��N�N�7�;�1�1�3�3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s�-A%�%A)�,A)�acmec�~�t|�|��d��5}|j}t|jd��r"t|jji|j���}ntj	i|j���}|�
|�����ddd��dS#1swxYwYdS)Nr�z	new-authz)rv�body�uri)r�r�)r�r�r,�hasattr�	directoryru�	new_authzr�rr[r�r�)rIrhr�r�r�r,s      r*r�zAccountFileStorage._update_regris��
�$�/�/�(�+�+�S�
1�
1�	/�Y��<�D�
�t�~�{�3�3�
"�;�#'�>�#;����"�"�"���
 �4����"�"�"��
�O�O�D�O�O�-�-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s�BB2�2B6�9B6c���t|�|��d��5}|�|j�����ddd��dS#1swxYwYdS)Nr�)r�r�r�r.r�)rIrhr�r�s    r*r�zAccountFileStorage._update_meta{s���
�$�%�%�h�/�/��
5�
5�	;������� 7� 7� 9� 9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�-A�A"�%A")#rrrr r�NamespaceConfigrKr'r�r��classmethodr�r�r�rrr�rgr�r�r�rsr
rmr�r�r�r�r�rr�r�r�r�r�r(r)r*rxrx�s���������
\�}�<�\��\�\�\�\�[�C�[�C�[�[�[�[�6�C�6�c�6�VY�6�6�6�6��;�#�;�#�;�;�;��[�;��B��B��B�B�B��[�B��;�c�;�c�;�;�;��[�;��S��T�'�]�����6G�$�w�-�G�G�G�G�6��6�#�6�,/�6�48�6�6�6�6�3��3�3�3�SW�3�3�3�3�(��(�#�(�'�(�(�(�(�8O�s�O�w�O�O�O�O�
4�G�
4�X�
4�$�
4�
4�
4�
4�4�7�4�H�4��4�4�4�4�
4�7�
4�t�
4�
4�
4�
4�O��O��O�O�O�O� (�c�(�PS�(�X\�(�(�(�(�
#��#��#�#�#�#�
&�S�&�5=�s�e�S�j�5I�&�NQ�&�&�&�&�P �� �C� � � � �
5�w�5�#�5�$�5�5�5�5�/�G�/�8�/�s�/�t�/�/�/�/�$;�G�;�s�;�t�;�;�;�;�;�;r)rx).r r#r�r=�loggingr�r;�typingrrrrrrr	�cryptography.hazmat.primitivesr
�josepyr%rNr8r�rr!r�acme.clientr
�certbotrrrr�certbot._internalr�certbot.compatrr�	getLoggerrrkr�AccountStorager`r[rurxr(r)r*�<module>r�s���'�'�����������������
�
�
�
�
�
�
�
�������������������������������������������8�8�8�8�8�8�������������&�&�&�&�&�&������� � � � � � �!�!�!�!�!�!�������������������'�'�'�'�'�'�%�%�%�%�%�%�������	��	�8�	$�	$��F)�F)�F)�F)�F)�F)�F)�F)�R5�5�5�5�5�:�4�5�5�5�*	7�	7�	7�	7�	7�8�+H�	7�	7�	7�p;�p;�p;�p;�p;��2�p;�p;�p;�p;�p;r)