Graybyt3 Was Here
Linux vps-4656817-x.dattaweb.com 5.14.0-570.33.2.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 14 07:37:35 EDT 2025 x86_64
Apache
200.58.107.103
/
lib
/
python3.9
/
site-packages
/
certbot
/
__pycache__
[ HOME ]
Exec
Submit
File Name : crypto_util.cpython-39.opt-1.pyc
a }|�g�] � @ s` d Z ddlZddlZddlZddlZddlZddlmZ ddlmZ ddlm Z ddlm Z ddlmZ ddlmZ dd l mZ dd lmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl#m%Z% ddl#m&Z& ddl'Z'ddl(m)Z) ddl(m*Z* ddl+m,Z- ddl.m/Z/ ddl.m0Z0 ddl.m1Z1 ddl2m3Z3 e�r�dd l4m5Z5 dd!l6m7Z7 dd"l8m9Z9 dd#l:m;Z; e�<e=�Z>doe?ee@ e@e@e@eAe1jBd(�d)d*�ZCdpe1jBeee@ e e@ f ee@ eAeAe1jDd,�d-d.�ZEeFeAd/�d0d1�ZGeFeFeAd2�d3d4�ZHe@eFe e-jIe1jDee@ f d5�d6d7�ZJdqe?e@ee@ eFd9�d:d;�ZKee@eFf eAd<�d=d>�ZLe0jMdd?�d@dA�ZNe0jMdd?�dBdC�ZOeedDdEee"dFdGf eFeFejPddH�dIdJ�ZQe@e@ddK�dLdM�ZRe0jMdd?�dNdO�ZSeFe e)jTe?f dP�dQdR�ZUe-jIjVfeFee-jIe?f ee@ dS�dTdU�ZWe-jIjVfeFee-jIe?f ee@ dS�dVdW�ZXe-jIjVfeFee-jIe?f ee@ dX�dYdZ�ZYe-jIjVfeee)jT ee'jZ f ee-jIe?f eFd[�d\d]�Z[e@ejd^�d_d`�Z\e@ejd^�dadb�Z]e@e@dc�ddde�Z^e�_dfej`�Zae@e e@e@f dg�dhdi�Zbe@e?d^�djdk�Zcdree@ e@eAe@dl�dmdn�ZddS )sz�Certbot client crypto utility functions. .. todo:: Make the transition to use PSS rather than PKCS1_v1_5 when the server is capable of handling the signatures. � N)�List)�Optional)�Set)�Tuple)� TYPE_CHECKING)�Union)�x509)�InvalidSignature)�UnsupportedAlgorithm)�default_backend)�hashes)� serialization)�ec)�rsa)�DSAPublicKey)�ECDSA)�EllipticCurvePublicKey)�PKCS1v15)�RSAPublicKey)�Encoding)�NoEncryption)� PrivateFormat)�crypto)�SSL)�crypto_util)�errors)� interfaces)�util)�os)�Ed448PublicKey)�Ed25519PublicKey)� X448PublicKey)�X25519PublicKeyr � secp256r1�key-certbot.pemT)�key_size�key_dir�key_type�elliptic_curve�keyname�strict_permissions�returnc C s� zt | |pd|d�}W nF ty\ } z.tjddd� t�dt|�� |�W Y d}~n d}~0 0 d}|r�t�|d|� t�t j �||�d d �\} }| � | �|� W d � n1 s�0 Y |dkr�t�d| |� nt�d | |� t� ||�S )a$ Initializes and saves a privkey. Inits key and saves it in PEM format on the filesystem. .. note:: keyname is the attempted filename, it may be different if a file already exists at the path. :param int key_size: key size in bits if key size is rsa. :param str key_dir: Optional key save directory. :param str key_type: Key Type [rsa, ecdsa] :param str elliptic_curve: Name of the elliptic curve if key type is ecdsa. :param str keyname: Filename of key :param bool strict_permissions: If true and key_dir exists, an exception is raised if the directory doesn't have 0700 permissions or isn't owned by the current user. :returns: Key :rtype: :class:`certbot.util.Key` :raises ValueError: If unable to generate the key given key_size. r# )�bitsr( r'