
    M/e
                         d Z ddlZddlZddlmZ ddlmZ ddlZddl	m
Z
 ddlmZ ej                  dk\  rddlmZ nddlZd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zy)zJTest utilities.

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

    N)default_backend)serialization)ComparableECKey)crypto)   	   c                  v     t        j                  t              j                  dg|  }|j	                         S )zLoad contents of a test vector.testdata)importlib_resourcesfiles__package__joinpath
read_bytes)names
vector_refs     @/usr/lib/python3/dist-packages/acme/_internal/tests/test_util.pyload_vectorr      s7     A$**;7@@TeTJ  ""    c                     t         j                  j                  |       \  }}|j                         dk(  r|S |j                         dk(  r|S t	        d      )Nz.pemz.derz1Loader could not be recognized based on extension)ospathsplitextlower
ValueError)filename
loader_pem
loader_der_exts        r   _guess_loaderr       sN    WWh'FAs
yy{f		
H
IIr   c                      t        | d   t        j                  t        j                        }t        j                  |t        |        S )zLoad certificate.)r    r   FILETYPE_PEMFILETYPE_ASN1load_certificater   r   loaders     r   	load_certr(   %   s;    b	6&&(<(<>F""6;+>??r   c                  8    t        j                  t        |        S )zLoad ComparableX509 cert.)joseComparableX509r(   r   s    r   load_comparable_certr-   ,   s    y%011r   c                      t        | d   t        j                  t        j                        }t        j                  |t        |        S )zLoad certificate request.r"   )r    r   r#   r$   load_certificate_requestr   r&   s     r   load_csrr0   1   s;    b	6&&(<(<>F**6;3FGGr   c                  8    t        j                  t        |        S )z(Load ComparableX509 certificate request.)r*   r+   r0   r,   s    r   load_comparable_csrr2   8   s    x/00r   c                      t        | d   t        j                  t        j                        }t	        j
                   |t        |  dt                           S )zLoad RSA private key.r"   Npasswordbackend)r    r   load_pem_private_keyload_der_private_keyr*   ComparableRSAKeyr   r   r&   s     r   load_rsa_private_keyr:   =   sO    59m&H&H(==?F  UdO4E"G H Hr   c                      t        | d   t        j                  t        j                        }t	         |t        |  dt                           S )zLoad ECDSA private key.r"   Nr4   )r    r   r7   r8   r   r   r   r&   s     r   load_ecdsa_private_keyr<   E   sI    59m&H&H(==?F6UdO4EG H Hr   c                      t        | d   t        j                  t        j                        }t        j                  |t        |        S )zLoad pyOpenSSL private key.r"   )r    r   r#   r$   load_privatekeyr   r&   s     r   load_pyopenssl_private_keyr?   M   s;    b	6&&(<(<>F!!&+u*=>>r   )__doc__r   syscryptography.hazmat.backendsr   cryptography.hazmat.primitivesr   josepyr*   josepy.utilr   OpenSSLr   version_infoimportlib.resources	resourcesr   r   r    r(   r-   r0   r2   r:   r<   r?    r   r   <module>rK      sg   
 
 
 8 8  ' v5#J@2
H1
HH?r   