%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/share/crypto-policies/python/policygenerators/__pycache__/
Upload File :
Create Path :
Current File : //usr/share/crypto-policies/python/policygenerators/__pycache__/sequoia.cpython-39.pyc

a

C�h��@s<ddlZddlZddlmZddlmZGdd�de�ZdS)�N)�mkstemp�)�ConfigGeneratorc@s�eZdZdZddhZddgZddgZddd	d
ddd
ddd�	Zddd	d	dddd	dddd�Zddddddddd�Z	d d!ddd"�Z
d#Zd$d%hd&d'hd(d)hd*�Zd+d,d"d-d.�Z
ed/d0��Zed1d2��Zed3d4��Zd	S)5�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)Zed25519Zed448zmldsa65-ed25519z
mldsa87-ed448)Zelgamal1024Zelgamal2048Zelgamal3072Zelgamal4096Z
brainpoolp256Z
brainpoolp512zAES-256-EAXzAES-128-EAXzAES-256-OCBzAES-128-OCBzAES-256-GCMzAES-128-GCM)ZeaxZocb�gcm)rr)rr	r
r)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>e�z@RPMSequoiaGenerator._generate_ignore_invalid.<locals>.<listcomp>z, css|]}d|�d�VqdS)�"Nr)rrrrr�	<genexpr>grz?RPMSequoiaGenerator._generate_ignore_invalid.<locals>.<genexpr>zignore_invalid = [ z ]
�)�join)rZkinds�valuesrrr�_generate_ignore_invalidcs
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�rz6RPMSequoiaGenerator.generate_config.<locals>.<genexpr>css|]}|�d�VqdS)zDSA-Nr$r&rrrr�rZ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_configks\


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$)rr4rrrr�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)rrzThere 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_configr>�fd�path�f�rrrr�test_config�sR
�
(����	
�
��

�zRPMSequoiaGenerator.test_config)�__name__�
__module__�__qualname__ZCONFIG_NAMEZSCOPESr-r/r(r*r,r.r0r1r�classmethodr!r5rNrrrrrsp�
����	�

:r)r@rDZtempfilerZconfiggeneratorrrrrrr�<module>s

Zerion Mini Shell 1.0