U
    ÓZjê  ã                   @   s�   d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	m
Z
 dd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )zJTest utilities.

.. warning:: This module is not part of the public API.

é    N)Údefault_backend)Úserialization)ÚComparableRSAKeyÚComparableX509c                  G   s   t  ttjjd| žŽ ¡S )zPath to a test vector.Útestdata)r   )Úpkg_resourcesÚresource_filenameÚ__name__ÚosÚpathÚjoin©Únames© r   úS/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/josepy/test_util.pyÚvector_path   s     ÿr   c                  G   s   t  ttjjd| žŽ ¡S )zLoad contents of a test vector.r   )r   )r   Úresource_stringr	   r
   r   r   r   r   r   r   Úload_vector   s     ÿr   c                 C   s<   t j | ¡\}}| ¡ dkr |S | ¡ dkr0|S tdƒ‚d S )Nz.pemz.derz1Loader could not be recognized based on extension)r
   r   ÚsplitextÚlowerÚ
ValueError)ÚfilenameZ
loader_pemZ
loader_derÚ_Úextr   r   r   Ú_guess_loader   s    r   c                  G   s*   t | d tjjtjjƒ}tj |t| Ž ¡S )zLoad certificate.éÿÿÿÿ)r   ÚOpenSSLÚcryptoÚFILETYPE_PEMÚFILETYPE_ASN1Zload_certificater   ©r   Úloaderr   r   r   Ú	load_cert'   s      ÿr"   c                  G   s   t t| Ž ƒS )zLoad ComparableX509 cert.)r   r"   r   r   r   r   Úload_comparable_cert.   s    r#   c                  G   s*   t | d tjjtjjƒ}tj |t| Ž ¡S )zLoad certificate request.r   )r   r   r   r   r   Zload_certificate_requestr   r    r   r   r   Úload_csr3   s      ÿr$   c                  G   s   t t| Ž ƒS )z(Load ComparableX509 certificate request.)r   r$   r   r   r   r   Úload_comparable_csr:   s    r%   c                  G   s,   t | d tjtjƒ}t|t| Ž dtƒ d�ƒS )zLoad RSA private key.r   N)ÚpasswordÚbackend)r   r   Zload_pem_private_keyZload_der_private_keyr   r   r   r    r   r   r   Úload_rsa_private_key?   s    ÿ  ÿr(   c                  G   s*   t | d tjjtjjƒ}tj |t| Ž ¡S )zLoad pyOpenSSL private key.r   )r   r   r   r   r   Zload_privatekeyr   r    r   r   r   Úload_pyopenssl_private_keyG   s      ÿr)   )Ú__doc__r
   r   r   Zcryptography.hazmat.backendsr   Zcryptography.hazmat.primitivesr   Zjosepyr   r   r   r   r   r"   r#   r$   r%   r(   r)   r   r   r   r   Ú<module>   s   
