MOON
Server: Apache
System: Linux vps.espica.me 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: solaraatech (1010)
PHP: 8.2.32
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/crypto-policies/python/policygenerators/__pycache__/sequoia.cpython-39.opt-1.pyc
a

ԏ�i�@s<ddlZddlZddlmZddlmZGdd�de�ZdS)�N)�mkstemp�)�ConfigGeneratorc@s�eZdZdZddhZddgZddgZddd	d
ddd
ddd�	Zddd	d	dddd	dddd�Zddddddddd�Z	d d d!ddd"�Z
d#Zd$d%hd&d'hd(d)hd*�Zd+d,d-d.d/�Z
ed0d1��Zed2d3��Zed4d5��Zd	S)6�RPMSequoiaGeneratorzrpm-sequoiaZrpmzMLKEM768-X25519zMLKEM1024-X448zMLDSA65-ED25519z
MLDSA87-ED448ZMD5ZSHA1NzSHA2-224zSHA2-256zSHA2-384zSHA2-512zSHA3-256zSHA3-512)	Zmd5Zsha1Z	ripemd160Zsha224Zsha256Zsha384Zsha512�sha3-256�sha3-512zIDEA-CFBz3DES-CFBzAES-128-CFBzAES-192-CFBzAES-256-CFBzCAMELLIA-128-CFBzCAMELLIA-192-CFBzCAMELLIA-256-CFB)ZideaZ	tripledesZcast5ZblowfishZaes128Zaes192Zaes256ZtwofishZcamellia128Zcamellia192Zcamellia256Z	SECP256R1Z	SECP384R1Z	SECP521R1ZX25519ZX448)Znistp256Znistp384Znistp521Zcv25519�x25519�x448�mlkem768-x25519�mlkem1024-x448z
EDDSA-ED25519zEDDSA-ED448)�ed25519�eddsa�ed448�mldsa65-ed25519�
mldsa87-ed448)Zelgamal1024Zelgamal2048Zelgamal3072Zelgamal4096Z
brainpoolp256Z
brainpoolp512zAES-256-EAXzAES-128-EAXzAES-256-OCBzAES-128-OCBzAES-256-GCMzAES-128-GCM)ZeaxZocb�gcm)rr)rr	r
r)rrr
rr)r)�hash�group�sign�aeadcs:�fdd�|D�}|r6d�dd�|D��}d|�d�SdS)	Ncs$g|]}�j�|g�D]}|�qqS�)�ignore_invalid�get)�.0�k�v��clsr�=/usr/share/crypto-policies/python/policygenerators/sequoia.py�
<listcomp>h�z@RPMSequoiaGenerator._generate_ignore_invalid.<locals>.<listcomp>z, css|]}d|�d�VqdS)�"Nr)rrrrr�	<genexpr>jr z?RPMSequoiaGenerator._generate_ignore_invalid.<locals>.<genexpr>zignore_invalid = [ z ]
�)�join)rZkinds�valuesrrr�_generate_ignore_invalidfs
z,RPMSequoiaGenerator._generate_ignore_invalidcCs�|j}d}||�d�7}|j��D]D\}}||dvr:dnd}||�d|�d�7}||�d|�d�7}q"|d7}|d	7}||�d
�7}|j��D]0\}}||d
vr�dnd}||�d|�d�7}q�|d7}|d7}||�d
d�7}tdd�|dD��}tdd�|dD��}|jd}	dD]4}
|
|	k�r4|�r4dnd}|d|
�d|�d�7}�q|jd}dD]4}
|
|k�rx|�rxdnd}|d|
�d|�d�7}�q`|j��D]D\}}
|
|d
v�r�dnd}|
|jv�r�d}||�d|�d�7}�q�|j	��D]D\}}||dv�r
dnd}||j
v�rd}||�d|�d�7}�q�|jD]}||�d�7}�q<|d7}|d7}|d7}||�d�7}|j��D]6\}}|�
|d
��r�dnd}||�d|�d�7}�q�|S)Nz[hash_algorithms]
r�always�neverz.collision_resistance = "z"
z.second_preimage_resistance = "zdefault_disposition = "never"

z[symmetric_algorithms]
Zcipherz = "z[asymmetric_algorithms]
rrcss|]}|�d�VqdS)zRSA-N��
startswith�r�srrrr"�r z6RPMSequoiaGenerator.generate_config.<locals>.<genexpr>css|]}|�d�VqdS)zDSA-Nr)r+rrrr"�r Zmin_rsa_size)iiiiZrsaZmin_dsa_sizeZdsaz = "never"
zdefault_disposition = "never"
z
[aead_algorithms]
r)Zenabledr&�hash_backwards_map�items�symmetric_backwards_map�anyZintegers�asymmetric_group_backwards_map�force_on_group�asymmetric_sign_backwards_map�
force_on_sign�asymmetric_always_disabled�aead_backwards_map�intersection)rZpolicy�pZcfgZseqoia_nameZc_p_namerZany_rsaZany_dsaZmin_rsa�lZmin_dsaZseq_namerrZ	c_p_namesrrr�generate_configns\


z#RPMSequoiaGenerator.generate_configc	Cs^d�dd�|�d�D��}||k}|}t�d�dkr8dSt�\}}�zz�t�|d��}|�|�Wd�n1st0Ytjd|gd	d
tj	tj
d�}|�d|j�|j
r�d
|j
dnd���|j|j
fdkr�WWt�|�dS|�d|r�dndd�|�d|���Wn,t�y>|�d�YWt�|�dS0Wt�|�nt�|�0d	S)N�
css|]}|�d�s|VqdS)zignore_invalid = Nr))rr9rrrr"�s
�z2RPMSequoiaGenerator.test_config.<locals>.<genexpr>ZOLD_SEQUOIA�1T�wzsequoia-policy-config-checkFzutf-8)�check�encoding�stdout�stderrz$sequoia-policy-config-check returns z `�`r#)rr#zThere is an error in a �	tightenedZ	generatedz sequoia policyzPolicy:
z,sequoia-policy-config not found, skipping...)r$�split�os�getenvr�fdopen�write�
subprocess�run�PIPEZSTDOUTZeprint�
returncoder@�unlink�FileNotFoundError)rZconfigZstricter_configrC�fd�path�f�rrrr�test_config�sR
�
(����	
�
��

�zRPMSequoiaGenerator.test_config)�__name__�
__module__�__qualname__ZCONFIG_NAMEZSCOPESr2r4r-r/r1r3r5r6r�classmethodr&r:rSrrrrrsr�
����	�


:r)rErIZtempfilerZconfiggeneratorrrrrrr�<module>s