MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: sanbercountryclu (1012)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/share/crypto-policies/python/policygenerators/__pycache__/sequoia.cpython-312.pyc
�

��ig ����ddlZddlZddlmZ	ddlZejZddlmZGd�de�Z
Gd�de
�Zy#e$rddlZejjZY�>wxYw)	�N)�mkstemp�)�ConfigGeneratorc���eZdZdZgZgZdddddddd	d
d�	Zdd
dddddddddd�Zddddddddd�Zddddd d!�Z	d"Z
d#d$hd%d&hd'd(hd)�Zd*d+d,d-d.�Ze
d/��Ze
d0��Ze
d1��Ze
d2��Zy)3�SequoiaGenerator�sequoia�MD5�SHA1NzSHA2-224zSHA2-256zSHA2-384zSHA2-512zSHA3-256zSHA3-512)	�md5�sha1�	ripemd160�sha224�sha256�sha384�sha512�sha3-256�sha3-512zIDEA-CFBz3DES-CFBzAES-128-CFBzAES-192-CFBzAES-256-CFBzCAMELLIA-128-CFBzCAMELLIA-192-CFBzCAMELLIA-256-CFB)�idea�	tripledes�cast5�blowfish�aes128�aes192�aes256�twofish�camellia128�camellia192�camellia256�	SECP256R1�	SECP384R1�	SECP521R1�X25519�X448�MLKEM768-X25519�MLKEM1024-X448)�nistp256�nistp384�nistp521�cv25519�x25519�x448�mlkem768-x25519�mlkem1024-x448z
EDDSA-ED25519zEDDSA-ED448�MLDSA65-ED25519�
MLDSA87-ED448)�ed25519�eddsa�ed448�mldsa65-ed25519�
mldsa87-ed448)�elgamal1024�elgamal2048�elgamal3072�elgamal4096�
brainpoolp256�
brainpoolp512zAES-256-EAXzAES-128-EAXzAES-256-OCBzAES-128-OCBzAES-256-GCMzAES-128-GCM)�eax�ocb�gcm)rr)r*r+r,r-)r0r2r1r3r4)r=)�hash�group�sign�aeadc��|D��cgc]%}|jj|g�D]}|���'}}}|rdjd�|D��}d|�d�Sycc}}w)Nz, c3�(K�|]
}d|�d����y�w)�"N�)�.0�vs  �=/usr/share/crypto-policies/python/policygenerators/sequoia.py�	<genexpr>z<SequoiaGenerator._generate_ignore_invalid.<locals>.<genexpr>ms����8��A��1�#�Q�x��s�zignore_invalid = [ z ]
�)�ignore_invalid�get�join)�cls�kinds�krG�valuess     rH�_generate_ignore_invalidz)SequoiaGenerator._generate_ignore_invalidisa��"�J�U��C�,>�,>�,B�,B�1�b�,I�q�!�,I�!�U��J���Y�Y�8��8�8�F�(����5�5���	Ks�*Ac�D�|j|jdh��S)Nr��_generate_config�scoped�rN�unscoped_policys  rH�generate_configz SequoiaGenerator.generate_configqs ���#�#�O�$:�$:�I�;�$G�H�H�c���|j}d}||jd�z
}|jj�D]&\}}||dvrdnd}||�d|�d�z
}||�d|�d�z
}�(|dz
}|d	z
}||jd
�z
}|jj�D]\}}||d
vrdnd}||�d|�d�z
}�|dz
}|dz
}||jd
d�z
}td�|dD��}td�|dD��}|jd}	dD]}
|
|	k\r|rdnd}|d|
�d|�d�z
}�|jd}dD]}
|
|k\r|rdnd}|d|
�d|�d�z
}�|jj�D]+\}}
|
|d
vrdnd}|
|jvrd}||�d|�d�z
}�-|jj�D]+\}}||dvrdnd}||jvrd}||�d|�d�z
}�-|jD]
}||�d�z
}�|dz
}|dz
}|dz
}||jd�z
}|jj�D](\}}|j|d
�rdnd}||�d|�d�z
}�*|S)Nz[hash_algorithms]
r>�always�neverz.collision_resistance = "z"
z.second_preimage_resistance = "zdefault_disposition = "never"

z[symmetric_algorithms]
�cipherz = "z[asymmetric_algorithms]
r?r@c3�>K�|]}|jd����y�w)zRSA-N��
startswith�rF�ss  rHrIz4SequoiaGenerator._generate_config.<locals>.<genexpr>������>�I�q�a�l�l�6�*�I���c3�>K�|]}|jd����y�w)zDSA-Nr`rbs  rHrIz4SequoiaGenerator._generate_config.<locals>.<genexpr>�rdre�min_rsa_size)iiii�rsa�min_dsa_size�dsaz = "never"
zdefault_disposition = "never"
z
[aead_algorithms]
rA)�enabledrR�hash_backwards_map�items�symmetric_backwards_map�any�integers�asymmetric_group_backwards_map�force_on_group�asymmetric_sign_backwards_map�
force_on_sign�asymmetric_always_disabled�aead_backwards_map�intersection)rN�policy�p�cfg�seqoia_name�c_p_namerG�any_rsa�any_dsa�min_rsa�l�min_dsa�seq_namer?r@�	c_p_namess                rHrUz!SequoiaGenerator._generate_configus<���N�N��#���s�+�+�F�3�3��%(�%;�%;�%A�%A�%C�!�K��$��&�	�1��w�A��k�]�";�A�3�c�B�B�C��k�]�"A�!��C�H�H�C�&D�	�2�2���)�)���s�+�+�H�5�5��%(�%@�%@�%F�%F�%H�!�K��$��(��3���A��k�]�$�q�c��-�-�C�&I�	�2�2���*�*���s�+�+�G�V�<�<���>�A�f�I�>�>���>�A�f�I�>�>���/�/�.�1��'�A���L�W��'�A��S���4��s�#�&�&�C�(��/�/�.�1��'�A���L�W��'�A��S���4��s�#�&�&�C�(� #�A�A�G�G�I�O�H�e�!�Q�w�Z�/��W�A���*�*�*����h�Z�t�A�3�c�*�*�C�	 J�"�?�?�E�E�G�N�H�d� �A�f�I�-��7�A��s�(�(�(����h�Z�t�A�3�c�*�*�C�	H��6�6�H��h�Z�|�,�,�C�7��0�0��	�&�&���0�0���s�+�+�F�3�3��#&�#9�#9�#?�#?�#A��H�i�%�2�2�1�X�;�?��W�A��h�Z�t�A�3�c�*�*�C�$B��
rZc��tj|�	tj|�djd�|j
d�D��}||k7}|}tjd�d	k(ry
t�\}}	tj|d�5}|j|�ddd�tjd|gdd
tjtj��}|jd|j �|j"rd|j"zdznd���|j |j"fdk(r	tj$|�y
|jd|rdndzdz�|jd|���	tj$|�y#t$rO}|jd�|jdt	|��d|���|jd|���Yd}~yd}~wwxYw#1swY��SxYw#t&$r)|jd�Ytj$|�y
wxYw#tj$|�wxYw)Nz3There is a syntax error in generated sequoia policyzInvalid TOML: � zPolicy:
F�
c3�BK�|]}|jd�s|���y�w)zignore_invalid = Nr`)rFr�s  rHrIz/SequoiaGenerator.test_config.<locals>.<genexpr>�s%����$
�)�!��<�<� 3�4�
�)�s��OLD_SEQUOIA�1T�wzsequoia-policy-config-checkzutf-8)�check�encoding�stdout�stderrz$sequoia-policy-config-check returns z `�`rJ)rrJzThere is an error in a �	tightened�	generatedz sequoia policyz,sequoia-policy-config not found, skipping...)�toml�loads�
toml_error�eprint�typerM�split�os�getenvr�fdopen�write�
subprocess�run�PIPE�STDOUT�
returncoder��unlink�FileNotFoundError)	rN�config�ex�stricter_configr��fd�path�f�rs	         rH�test_configzSequoiaGenerator.test_config�s��	
�
�
�6��	��J�J�v���)�)�$
��|�|�D�)�$
�
���o�-�	� ��
�9�9�]�#�s�*���9���D�	����2�s�#�q������$���� =� $� &�%*�(/�&0�o�o�&0�&7�&7�9�A�
�J�J�=��,�,��34�8�8�$����/�C�/��D�F�
G����a�h�h�'�7�2��
�I�I�d�O�
�J�J�0�)2�+��E�*�+�
,�
�J�J��6�(�+�,�

�I�I�d�O���Q�	��J�J�L�M��J�J���R��z��2�$�7�8��J�J��6�(�+�,���		��$$�#��"!�	��J�J�E�F���I�I�d�O�		��
�I�I�d�O�s[�F�H�G:�)BH�/H�	G7�(AG2�2G7�:H�?H�H9�!H<�8H9�9H<�<I)�__name__�
__module__�__qualname__�CONFIG_NAMErrrtrlrnrqrsrurvrK�classmethodrRrYrUr�rErZrHrrs2���K��N��M����������
����������)�)�)�
��  ������,�*�	&�"�#� ��,�(�%�!�"���}�-��}�-��}�-���)�H�5���N������I��I��8��8�t�-��-rZrc�0�eZdZdZddgZddgZed��Zy)�RPMSequoiaGenerator�rpm-sequoiar$r%r.r/c�F�|j|jddh��S)N�rpmr�rTrWs  rHrYz#RPMSequoiaGenerator.generate_config�s0���#�#�O�$:�$:�E�<I�<K�%L�M�	MrZN)r�r�r�r�rrrtr�rYrErZrHr�r��s2���K�(�)9�:�N�&��8�M��M��MrZr�)r�r��tempfiler�tomllibr��TOMLDecodeErrorr��ModuleNotFoundError�decoder�TomlDecodeError�configgeneratorrrr�rErZrH�<module>r�sj��
���.���%�%�J�
-�J��J�Z
M�*�
M��i�.�����-�-�J�.�s�=�A�A