File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/runners/__pycache__/venafiapi.cpython-310.pyc
Back
o ;j� � @ s� d Z ddlZddlZddlZddlZddlmZ ddlZddl Zddl ZddlmZ zddl Z ddlmZ dZW n eyC dZY nw dZdZe�e�Zd d � Zdd� Z dd d�ZeZdd� Zdd� Zdd� Zdd� ZdS )a) Support for Venafi :depends: - vcert Python module :configuration: In order to connect to Venafi services you need to specify it in Salt master configuration. Example for Venafi Cloud (using env variables): .. code-block:: yaml venafi: api_key: "sdb://osenv/CLOUDAPIKEY" Example for Venafi Platform (using env variables): .. code-block:: yaml venafi: base_url: "https://tpp.example.com/" tpp_user: admin tpp_password: "sdb://osenv/TPP_PASSWORD" trust_bundle: "/opt/venafi/bundle.pem" � N)�CommandExecutionError)�CertificateRequestTF�venafi/domains�venafic C s� t �d� t�di ��dd�} t�di ��dd�}t �d|� t�di ��dd�}t�di ��dd�}t�di ��d d�}t�di ��d d�}t �d� |rTtjdd �S |rht �d|� tj|| ||d|id�S tj|| ||d�S )Nz=Initializing Venafi Trust Platform or Venafi Cloud connectionr �api_key� �base_urlzUsing base_url: %s�tpp_user�tpp_password�trust_bundle�fakezFinished config processingT)r z"Will use trust bundle from file %sZverify)�url�token�user�passwordZhttp_request_kwargs)r r r r )�log�info�__opts__�get�vcertZ Connection)r r r r r r � r �J/opt/saltstack/salt/lib/python3.10/site-packages/salt/runners/venafiapi.py�_init_connection3 s. ��r c C s t rtS dS )z; Only load the module if vcert module is installed F)� HAS_VCERT�__virtualname__r r r r �__virtual__N s r c C s< t �d� |du rt �d� t�d� |dur"|�d�r"td |�}t� }| du rEt|||||||d�}|� |�} t �d| � |� | � nFt �d | � t �d |� z#tjj �| ��}|�� }W d � n1 shw Y t||d�}W n ty� } z td| � d |� ���d}~ww |�||� d}t�� | }d}|du r�t�� |k r�|�|�}|du r�t�d� |du r�t�� |k s�| du r�|j}n8| r�ztjj �| ��}|�� }W d � n1 s�w Y W n ty� } z td| � d |� ���d}~ww d}tj�tt�dtj��}| |j|j|d�}|�t||� |j|fS )z� Request a new certificate CLI Example: .. code-block:: bash salt-run venafi.request <minion_id> <dns_name> zRequesting Venafi certificateNzMissing zone parameter� zsdb://zsdb.get)�common_name�countryZprovinceZlocalityZorganizationZorganizational_unit�key_passwordzUpdating request from zone %szWill use generated CSR from %szUsing CN %s)�csrr zUnable to open file z: i, � �cachedir)� minion_id�cert�chainZpkey) r r �error�sys�exit� startswithZ__salt__r r Zread_zone_confZupdate_from_zone_config�salt�utils�filesZfopen�read� ExceptionZrequest_cert�timeZ retrieve_cert�sleepZprivate_key_pem�cache�Cacher r �syspaths� CACHE_DIRr$ r% �store�CACHE_BANK_NAME)r# �dns_name�zoner �state�locZorgZorg_unitr Zcsr_pathZ pkey_path�conn�requestZzone_configZcsr_filer �eZtimeout_seconds�timeoutr$ Zprivate_keyZ pkey_filer1 �datar r r r<