ó
Y[c           @   s!  d  Z  d d l Z d d l Z d d l 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 d d l j j Z e j d ƒ Z e j d ƒ Z e j d ƒ Z e j d ƒ Z e j d	 ƒ Z e j d	 ƒ Z e j d
 ƒ Z e j d
 ƒ Z e j d ƒ Z e j d ƒ Z e j d ƒ Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ  d e j f d „  ƒ  YZ! d e j f d „  ƒ  YZ" d e j f d „  ƒ  YZ# d e j f d „  ƒ  YZ$ d e$ f d „  ƒ  YZ% d e$ f d „  ƒ  YZ& d e$ f d  „  ƒ  YZ' d! e$ f d" „  ƒ  YZ( d# e j f d$ „  ƒ  YZ) d% e j f d& „  ƒ  YZ* d' e j f d( „  ƒ  YZ+ d) e j f d* „  ƒ  YZ, d+ e j f d, „  ƒ  YZ- d- e j f d. „  ƒ  YZ. d/ e j f d0 „  ƒ  YZ/ d1 e j f d2 „  ƒ  YZ0 e1 d3 k re j2 ƒ  n  d S(4   s   Tests for certbot.crypto_util.iÿÿÿÿN(   t   errors(   t
   interfaces(   t   utils   rsa256_key.pems   rsa512_key.pems   rsa2048_key.pems   cert_512.pems   cert_2048.pems   nistp256_key.pems   cert-nosans_nistp256.pemt   InitSaveKeyTestc           B   s_   e  Z d  Z d „  Z d „  Z e d „  ƒ Z e j d ƒ d „  ƒ Z	 e j d ƒ d „  ƒ Z
 RS(   s,   Tests for certbot.crypto_util.init_save_key.c         C   sI   t  t |  ƒ j ƒ  t j t j ƒ t j j t	 j
 d t ƒ t j ƒ d  S(   Nt   strict_permissions(   t   superR   t   setUpt   loggingt   disablet   CRITICALt   zopet	   componentt   provideUtilityt   mockt   Mockt   TrueR   t   IConfig(   t   self(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR      s    	c         C   s'   t  t |  ƒ j ƒ  t j t j ƒ d  S(   N(   R   R   t   tearDownR   R   t   NOTSET(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   %   s    c         C   s    d d l  m } | | | d ƒ S(   Niÿÿÿÿ(   t   init_save_keys   key-certbot.pem(   t   certbot.crypto_utilR   (   t   clst   key_sizet   key_dirR   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   _call*   s    s   certbot.crypto_util.make_keyc         C   sy   d | _  |  j d |  j ƒ } |  j | j d ƒ |  j d | j k ƒ |  j t j j	 t j j
 |  j | j ƒ ƒ ƒ d  S(   Nt   key_pemi   s   key-certbot.pem(   t   return_valueR   t   tempdirt   assertEqualt   pemt
   assertTruet   filet   ost   patht   existst   join(   R   t	   mock_maket   key(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_success/   s
    	c         C   s)   t  | _ |  j t  |  j d |  j ƒ d  S(   Ni¯  (   t
   ValueErrort   side_effectt   assertRaisesR   R   (   R   R%   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_key_failure7   s    	(   t   __name__t
   __module__t   __doc__R   R   t   classmethodR   R   t   patchR'   R+   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR      s   		t   InitSaveCSRTestc           B   s>   e  Z d  Z d „  Z e j d ƒ e j d ƒ d „  ƒ ƒ Z RS(   s,   Tests for certbot.crypto_util.init_save_csr.c         C   s9   t  t |  ƒ j ƒ  t j j t j d t ƒ t	 j
 ƒ d  S(   NR   (   R   R1   R   R
   R   R   R   R   R   R   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   @   s    	s   acme.crypto_util.make_csrs+   certbot.crypto_util.util.make_or_verify_dirc         C   sg   d d l  m } d | _ | t j d d ƒ d |  j ƒ } |  j | j d ƒ |  j d | j	 k ƒ d  S(   Niÿÿÿÿ(   t   init_save_csrt   csr_pemR   t	   dummy_keys   example.coms   csr-certbot.pem(
   R   R2   R   R   R   R   R   t   dataR   R    (   R   t   unused_mock_verifyt   mock_csrR2   t   csr(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_itF   s    	(   R,   R-   R.   R   R   R0   R9   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR1   =   s   	t   ValidCSRTestc           B   sJ   e  Z d  Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   s(   Tests for certbot.crypto_util.valid_csr.c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   t	   valid_csr(   R   R;   (   R   R8   R;   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   W   s    c         C   s#   |  j  |  j t j d ƒ ƒ ƒ d  S(   Ns   csr_512.pem(   R   R   t	   test_utilt   load_vector(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_valid_pem_true\   s    c         C   s#   |  j  |  j t j d ƒ ƒ ƒ d  S(   Ns   csr-san_512.pem(   R   R   R<   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_valid_pem_san_true_   s    c         C   s#   |  j  |  j t j d ƒ ƒ ƒ d  S(   Ns   csr_512.der(   t   assertFalseR   R<   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_valid_der_falseb   s    c         C   s   |  j  |  j d ƒ ƒ d  S(   Nt    (   R@   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_empty_falsee   s    c         C   s   |  j  |  j d ƒ ƒ d  S(   Ns   foo bar(   R@   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_random_falseh   s    (
   R,   R-   R.   R/   R   R>   R?   RA   RC   RD   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR:   T   s   				t   CSRMatchesPubkeyTestc           B   s/   e  Z d  Z e d „  ƒ Z d „  Z d „  Z RS(   s1   Tests for certbot.crypto_util.csr_matches_pubkey.c         O   s   d d l  m } | | | Ž  S(   Niÿÿÿÿ(   t   csr_matches_pubkey(   R   RF   (   R   t   argst   kwargsRF   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   o   s    c         C   s&   |  j  |  j t j d ƒ t ƒ ƒ d  S(   Ns   csr_512.pem(   R   R   R<   R=   t
   RSA512_KEY(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_valid_truet   s    c         C   s&   |  j  |  j t j d ƒ t ƒ ƒ d  S(   Ns   csr_512.pem(   R@   R   R<   R=   t
   RSA256_KEY(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_invalid_falsex   s    (   R,   R-   R.   R/   R   RJ   RL   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRE   l   s   	t   ImportCSRFileTestc           B   s8   e  Z d  Z e d „  ƒ Z d „  Z d „  Z d „  Z RS(   s/   Tests for certbot.certbot_util.import_csr_file.c         O   s   d d l  m } | | | Ž  S(   Niÿÿÿÿ(   t   import_csr_file(   R   RN   (   R   RG   RH   RN   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   €   s    c      	   C   sw   t  j d ƒ } t  j d ƒ } t  j d ƒ } |  j t j j t j d | d | d d ƒ d g f |  j	 | | ƒ ƒ d  S(   Ns   csr_512.ders   csr_512.pemR    R5   t   formR   s   Example.com(
   R<   t   vector_pathR=   R   t   OpenSSLt   cryptot   FILETYPE_PEMR   t   CSRR   (   R   t   csrfileR5   t   data_pem(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_der_csr…   s    		c      	   C   sh   t  j d ƒ } t  j d ƒ } |  j t j j t j d | d | d d ƒ d g f |  j	 | | ƒ ƒ d  S(   Ns   csr_512.pemR    R5   RO   R   s   Example.com(
   R<   RP   R=   R   RQ   RR   RS   R   RT   R   (   R   RU   R5   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_pem_csr’   s    		c         C   s2   |  j  t j |  j t j d ƒ t j d ƒ ƒ d  S(   Ns   cert_512.pem(   R*   R    t   ErrorR   R<   RP   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_bad_csrž   s    (   R,   R-   R.   R/   R   RW   RX   RZ   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRM   }   s
   		t   MakeKeyTestc           B   s   e  Z d  Z d „  Z RS(   s'   Tests for certbot.crypto_util.make_key.c         C   s3   d d l  m } t j j t j j | d ƒ ƒ d  S(   Niÿÿÿÿ(   t   make_keyi   (   R   R\   RQ   RR   t   load_privatekeyRS   (   R   R\   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR9   §   s    	(   R,   R-   R.   R9   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR[   ¤   s   t   VerifyCertSetupc           B   s   e  Z d  Z d „  Z RS(   s#   Refactoring for verification tests.c         C   s’   t  t |  ƒ j ƒ  t j ƒ  |  _ t |  j _ t |  j _ t	 |  j _
 t j d ƒ |  j _ t j ƒ  |  _ t |  j _ t |  j _ t |  j _ d  S(   Ns   cert_fullchain_2048.pem(   R   R^   R   R   t	   MagicMockt   renewable_certt   SS_CERT_PATHt   certt   chaint   RSA2048_KEY_PATHt   privkeyR<   RP   t	   fullchaint   bad_renewable_cert(   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   ±   s    (   R,   R-   R.   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR^   ®   s   t   VerifyRenewableCertTestc           B   sP   e  Z d  Z d „  Z d „  Z d „  Z e j d d e j	 d ƒ ƒd „  ƒ Z
 RS(   s4   Tests for certbot.crypto_util.verify_renewable_cert.c         C   s   t  t |  ƒ j ƒ  d  S(   N(   R   Rh   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   Ã   s    c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   t   verify_renewable_cert(   R   Ri   (   R   R`   Ri   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   Æ   s    c         C   s    |  j  d  |  j |  j ƒ ƒ d  S(   N(   R   t   NoneR   R`   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_verify_renewable_certÊ   s    s-   certbot.crypto_util.verify_renewable_cert_sigR)   RB   c         C   s    |  j  t j |  j |  j ƒ d  S(   N(   R*   R    RY   R   Rg   (   R   t!   unused_verify_renewable_cert_sign(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt"   test_verify_renewable_cert_failureÍ   s    (   R,   R-   R.   R   R   Rk   R   R0   R    RY   Rm   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRh   À   s
   			t   VerifyRenewableCertSigTestc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s4   Tests for certbot.crypto_util.verify_renewable_cert.c         C   s   t  t |  ƒ j ƒ  d  S(   N(   R   Rn   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   Õ   s    c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   t   verify_renewable_cert_sig(   R   Ro   (   R   R`   Ro   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   Ø   s    c         C   s    |  j  d  |  j |  j ƒ ƒ d  S(   N(   R   Rj   R   R`   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_cert_sig_matchÜ   s    c         C   sD   t  j ƒ  } t | _ t | _ t | _ |  j d  |  j	 | ƒ ƒ d  S(   N(
   R   R_   t   P256_CERT_PATHRb   Rc   t   P256_KEYRe   R   Rj   R   (   R   R`   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_cert_sig_match_ecß   s
    			c         C   s5   t  j d ƒ |  j _ |  j t j |  j |  j ƒ d  S(   Ns   cert_512_bad.pem(   R<   RP   Rg   Rb   R*   R    RY   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_cert_sig_mismatchæ   s    (   R,   R-   R.   R   R   Rp   Rs   Rt   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRn   Ò   s   				t   VerifyFullchainTestc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s/   Tests for certbot.crypto_util.verify_fullchain.c         C   s   t  t |  ƒ j ƒ  d  S(   N(   R   Ru   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   î   s    c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   t   verify_fullchain(   R   Rv   (   R   R`   Rv   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   ñ   s    c         C   s    |  j  d  |  j |  j ƒ ƒ d  S(   N(   R   Rj   R   R`   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_fullchain_matchesõ   s    c         C   s    |  j  t j |  j |  j ƒ d  S(   N(   R*   R    RY   R   Rg   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_fullchain_mismatchø   s    c         C   s,   d |  j  _ |  j t j |  j |  j  ƒ d  S(   Nt   dog(   Rg   Rc   R*   R    RY   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_fullchain_ioerrorû   s    (   R,   R-   R.   R   R   Rw   Rx   Rz   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRu   ë   s   				t   VerifyCertMatchesPrivKeyTestc           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s;   Tests for certbot.crypto_util.verify_cert_matches_priv_key.c         C   s   t  t |  ƒ j ƒ  d  S(   N(   R   R{   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR     s    c         C   s#   d d l  m } | | j | j ƒ S(   Niÿÿÿÿ(   t   verify_cert_matches_priv_key(   R   R|   Rb   Re   (   R   R`   R|   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR     s    c         C   s8   t  |  j _ t |  j _ |  j d  |  j |  j ƒ ƒ d  S(   N(   Ra   R`   Rb   Rd   Re   R   Rj   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_cert_priv_key_match
  s    c         C   s8   t  |  j _ t |  j _ |  j t j |  j |  j ƒ d  S(   N(	   t   RSA256_KEY_PATHRg   Re   Ra   Rb   R*   R    RY   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_cert_priv_key_mismatch  s    (   R,   R-   R.   R   R   R}   R   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR{      s
   			t   ValidPrivkeyTestc           B   s8   e  Z d  Z e d „  ƒ Z d „  Z d „  Z d „  Z RS(   s,   Tests for certbot.crypto_util.valid_privkey.c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   t   valid_privkey(   R   R   (   R   Re   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR     s    c         C   s   |  j  |  j t ƒ ƒ d  S(   N(   R   R   RI   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRJ     s    c         C   s   |  j  |  j d ƒ ƒ d  S(   NRB   (   R@   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRC   !  s    c         C   s   |  j  |  j d ƒ ƒ d  S(   Ns   foo bar(   R@   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyRD   $  s    (   R,   R-   R.   R/   R   RJ   RC   RD   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR€     s
   		t   GetSANsFromCertTestc           B   s/   e  Z d  Z e d „  ƒ Z d „  Z d „  Z RS(   s1   Tests for certbot.crypto_util.get_sans_from_cert.c         O   s   d d l  m } | | | Ž  S(   Niÿÿÿÿ(   t   get_sans_from_cert(   R   Rƒ   (   R   RG   RH   Rƒ   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   +  s    c         C   s&   |  j  g  |  j t j d ƒ ƒ ƒ d  S(   Ns   cert_512.pem(   R   R   R<   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_single0  s    c         C   s,   |  j  d d g |  j t j d ƒ ƒ ƒ d  S(   Ns   example.coms   www.example.coms   cert-san_512.pem(   R   R   R<   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_san3  s    	(   R,   R-   R.   R/   R   R„   R…   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR‚   (  s   	t   GetNamesFromCertTestc           B   sA   e  Z d  Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   s2   Tests for certbot.crypto_util.get_names_from_cert.c         O   s   d d l  m } | | | Ž  S(   Niÿÿÿÿ(   t   get_names_from_cert(   R   R‡   (   R   RG   RH   R‡   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   <  s    c         C   s)   |  j  d g |  j t j d ƒ ƒ ƒ d  S(   Ns   example.coms   cert_512.pem(   R   R   R<   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR„   A  s    c         C   s,   |  j  d d g |  j t j d ƒ ƒ ƒ d  S(   Ns   example.coms   www.example.coms   cert-san_512.pem(   R   R   R<   R=   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR…   F  s    	c         C   sI   |  j  d g g  d D] } d j | ƒ ^ q |  j t j d ƒ ƒ ƒ d  S(   Ns   example.comt   abcds   {0}.example.coms   cert-5sans_512.pem(   R   t   formatR   R<   R=   (   R   t   c(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_common_name_sans_orderK  s    &c         C   s    |  j  t j j |  j d ƒ d  S(   Ns   hello there(   R*   RQ   RR   RY   R   (   R   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_parse_non_certR  s    (	   R,   R-   R.   R/   R   R„   R…   R‹   RŒ   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR†   9  s   			t   CertLoaderTestc           B   s    e  Z d  Z d „  Z d „  Z RS(   s8   Tests for certbot.crypto_util.pyopenssl_load_certificatec         C   sW   d d l  m } | t ƒ \ } } |  j | j d ƒ t j j | t ƒ j d ƒ ƒ d  S(   Niÿÿÿÿ(   t   pyopenssl_load_certificatet   sha256(   R   RŽ   t   CERTR   t   digestRQ   RR   t   load_certificate(   R   RŽ   Rb   t	   file_type(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_load_valid_certY  s    c         C   s<   d d l  m } t j d d ƒ } |  j t j | | ƒ d  S(   Niÿÿÿÿ(   RŽ   s   BEGIN CERTIFICATEs   ASDFASDFASDF!!!(   R   RŽ   R   t   replaceR*   R    RY   (   R   RŽ   t   bad_cert_data(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_load_invalid_cert`  s    (   R,   R-   R.   R”   R—   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   V  s   	t   NotBeforeTestc           B   s   e  Z d  Z d „  Z RS(   s'   Tests for certbot.crypto_util.notBeforec         C   s0   d d l  m } |  j | t ƒ j ƒ  d ƒ d  S(   Niÿÿÿÿ(   t	   notBefores   2014-12-11T22:34:45+00:00(   R   R™   R   t	   CERT_PATHt	   isoformat(   R   R™   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_notBeforej  s    (   R,   R-   R.   Rœ   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR˜   g  s   t   NotAfterTestc           B   s   e  Z d  Z d „  Z RS(   s&   Tests for certbot.crypto_util.notAfterc         C   s0   d d l  m } |  j | t ƒ j ƒ  d ƒ d  S(   Niÿÿÿÿ(   t   notAfters   2014-12-18T22:34:45+00:00(   R   Rž   R   Rš   R›   (   R   Rž   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_notAfters  s    (   R,   R-   R.   RŸ   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR   p  s   t   Sha256sumTestc           B   s   e  Z d  Z d „  Z RS(   s&   Tests for certbot.crypto_util.notAfterc         C   s*   d d l  m } |  j | t ƒ d ƒ d  S(   Niÿÿÿÿ(   t	   sha256sumt@   914ffed8daf9e2c99d90ac95c77d54f32cbd556672facac380f0c063498df84e(   R   R¡   R   Rš   (   R   R¡   (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   test_sha256sum|  s    (   R,   R-   R.   R£   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR    y  s   t   CertAndChainFromFullchainTestc           B   s   e  Z d  Z d „  Z RS(   s;   Tests for certbot.crypto_util.cert_and_chain_from_fullchainc   	      C   s‘   t  j ƒ  } | t j ƒ  } | | } | d | } d d l m } xF | | f D]8 } | | ƒ \ } } |  j | | ƒ |  j | | ƒ qQ Wd  S(   Nu   
iÿÿÿÿ(   t   cert_and_chain_from_fullchain(   R   t   decodet   SS_CERTR   R¥   R   (	   R   t   cert_pemt	   chain_pemt   fullchain_pemt   spacey_fullchain_pemR¥   Rf   t   cert_outt	   chain_out(    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt"   test_cert_and_chain_from_fullchain…  s    
(   R,   R-   R.   R®   (    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyR¤   ‚  s   t   __main__(3   R.   R   R!   t   unittestRQ   R   t   zope.componentR
   t   certbotR    R   R   t   certbot.tests.utilt   testsR<   R=   RK   RP   R~   RI   Rd   Rš   R   Ra   R§   Rr   Rq   t	   P256_CERTt   TempDirTestCaseR   R1   t   TestCaseR:   RE   RM   R[   R^   Rh   Rn   Ru   R{   R€   R‚   R†   R   R˜   R   R    R¤   R,   t   main(    (    (    sB   /usr/lib/python2.7/dist-packages/certbot/tests/crypto_util_test.pyt   <module>   sT   !'
			