Your IP : 216.73.216.172


Current Path : /lib/python3/dist-packages/certbot/tests/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/certbot/tests/__pycache__/crypto_util_test.cpython-38.pyc

U

�]�5�@sLdZddlZddlZddlZddlZddlZddlmm	Z
ddlmZddlm
Z
ddlm	Z	ddlmZddlmZe
�d�Ze
�d�Ze
�d	�Ze
�d
�Ze
�d�Ze
�d�Ze
�d�Ze
�d�Ze
�d
�Ze
�d�Ze
�d�ZGdd�de
j�ZGdd�de
j�Z Gdd�dej!�Z"Gdd�dej!�Z#Gdd�dej!�Z$Gdd�dej!�Z%Gdd�dej!�Z&Gdd�de&�Z'Gdd �d e&�Z(Gd!d"�d"e&�Z)Gd#d$�d$e&�Z*Gd%d&�d&ej!�Z+Gd'd(�d(ej!�Z,Gd)d*�d*ej!�Z-Gd+d,�d,ej!�Z.Gd-d.�d.ej!�Z/Gd/d0�d0ej!�Z0Gd1d2�d2ej!�Z1Gd3d4�d4ej!�Z2e3d5k�rHe�4�dS)6zTests for certbot.crypto_util.�N)�errors)�
interfaces)�util)�os)�
filesystemzrsa256_key.pemzrsa512_key.pemzrsa2048_key.pem�cert_512.pemz
cert_2048.pemznistp256_key.pemzcert-nosans_nistp256.pemcs\eZdZdZ�fdd�Z�fdd�Zedd��Ze�	d�d	d
��Z
e�	d�dd��Z�ZS)
�InitSaveKeyTestz,Tests for certbot.crypto_util.init_save_key.csXtt|���tj�|jd�|_tj	|jdd�t
�t
j�t
j�tjdd�tj�dS)N�workdiri�)�modeT�Zstrict_permissions)�superr�setUpr�path�join�tempdirr	r�mkdir�logging�disableZCRITICAL�zope�	component�provideUtility�mock�Mockr�IConfig��self��	__class__��@/usr/lib/python3/dist-packages/certbot/tests/crypto_util_test.pyr
s
�zInitSaveKeyTest.setUpcstt|���t�tj�dS�N)rr�tearDownrrZNOTSETrrrrr!(szInitSaveKeyTest.tearDowncCsddlm}|||d�S)Nr)�
init_save_key�key-certbot.pem)�certbot.crypto_utilr")�clsZkey_sizeZkey_dirr"rrr�_call-szInitSaveKeyTest._callzcertbot.crypto_util.make_keycCsVd|_|�d|j�}|�|jd�|�d|jk�|�tj�	tj�
|j|j���dS)Nskey_pem�r#)�return_valuer&r	�assertEqual�pem�
assertTrue�filerr�existsr)r�	mock_make�keyrrr�test_success2s
zInitSaveKeyTest.test_successcCst|_|�t|jd|j�dS)Ni�)�
ValueError�side_effect�assertRaisesr&r	)rr.rrr�test_key_failure:sz InitSaveKeyTest.test_key_failure)
�__name__�
__module__�__qualname__�__doc__r
r!�classmethodr&r�patchr0r4�
__classcell__rrrrrs


rcs<eZdZdZ�fdd�Ze�d�e�d�dd���Z�ZS)�InitSaveCSRTestz,Tests for certbot.crypto_util.init_save_csr.cs*tt|���tj�tjdd�tj	�dS)NTr)
rr<r
rrrrrrrrrrrr
Cs

�zInitSaveCSRTest.setUpzacme.crypto_util.make_csrz+certbot.crypto_util.util.make_or_verify_dircCsJddlm}d|_|tjdd�d|j�}|�|jd�|�d|j	k�dS)Nr)�
init_save_csrscsr_pemZ	dummy_key)r*�example.comzcsr-certbot.pem)
r$r=r(rrrr)�datar+r,)rZunused_mock_verifyZmock_csrr=�csrrrr�test_itIs
�zInitSaveCSRTest.test_it)	r5r6r7r8r
rr:rAr;rrrrr<@s
r<c@sDeZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dS)�ValidCSRTestz(Tests for certbot.crypto_util.valid_csr.cCsddlm}||�S)Nr)�	valid_csr)r$rC)r%r@rCrrrr&ZszValidCSRTest._callcCs|�|�t�d���dS�N�csr_512.pem�r+r&�	test_util�load_vectorrrrr�test_valid_pem_true_sz ValidCSRTest.test_valid_pem_truecCs|�|�t�d���dS)Nzcsr-san_512.pemrFrrrr�test_valid_pem_san_truebsz$ValidCSRTest.test_valid_pem_san_truecCs|�|�t�d���dS)N�csr_512.der)�assertFalser&rGrHrrrr�test_valid_der_falseesz!ValidCSRTest.test_valid_der_falsecCs|�|�d��dS�N��rLr&rrrr�test_empty_falsehszValidCSRTest.test_empty_falsecCs|�|�d��dS�Nzfoo barrPrrrr�test_random_falsekszValidCSRTest.test_random_falseN)r5r6r7r8r9r&rIrJrMrQrSrrrrrBWs
rBc@s,eZdZdZedd��Zdd�Zdd�ZdS)	�CSRMatchesPubkeyTestz1Tests for certbot.crypto_util.csr_matches_pubkey.cOsddlm}|||�S)Nr)�csr_matches_pubkey)r$rU)r%�args�kwargsrUrrrr&rszCSRMatchesPubkeyTest._callcCs|�|�t�d�t��dSrD)r+r&rGrH�
RSA512_KEYrrrr�test_valid_truews�z$CSRMatchesPubkeyTest.test_valid_truecCs|�|�t�d�t��dSrD)rLr&rGrH�
RSA256_KEYrrrr�test_invalid_false{s�z'CSRMatchesPubkeyTest.test_invalid_falseN)r5r6r7r8r9r&rYr[rrrrrTos

rTc@s4eZdZdZedd��Zdd�Zdd�Zdd	�Zd
S)�ImportCSRFileTestz/Tests for certbot.certbot_util.import_csr_file.cOsddlm}|||�S)Nr)�import_csr_file)r$r])r%rVrWr]rrrr&�szImportCSRFileTest._callcCsNt�d�}t�d�}t�d�}|�tjjtj||dd�dgf|�	||��dS)NrKrEr*�r,r?Zform�Example.com�
rG�vector_pathrHr)�OpenSSL�crypto�FILETYPE_PEMrZCSRr&)r�csrfiler?Zdata_pemrrr�test_der_csr�s


��
�zImportCSRFileTest.test_der_csrcCsDt�d�}t�d�}|�tjjtj||dd�dgf|�	||��dS)NrEr*r^r_r`)rrer?rrr�test_pem_csr�s

��
�zImportCSRFileTest.test_pem_csrcCs$|�tj|jt�d�t�d��dS�Nr)r3r�Errorr&rGrarHrrrr�test_bad_csr�s�zImportCSRFileTest.test_bad_csrN)	r5r6r7r8r9r&rfrgrjrrrrr\�s

r\c@seZdZdZdd�ZdS)�MakeKeyTestz'Tests for certbot.crypto_util.make_key.cCs&ddlm}tj�tjj|d��dS)Nr)�make_keyr')r$rlrbrcZload_privatekeyrd)rrlrrrrA�s
�zMakeKeyTest.test_itN)r5r6r7r8rArrrrrk�srkcs eZdZdZ�fdd�Z�ZS)�VerifyCertSetupz#Refactoring for verification tests.csdtt|���t��|_t|j_t|j_t	|j_
t�d�|j_
t��|_t|j_t|j_t|j_
dS)Nzcert_fullchain_2048.pem)rrmr
r�	MagicMock�renewable_cert�SS_CERT_PATH�cert�chain�RSA2048_KEY_PATH�privkeyrGra�	fullchain�bad_renewable_certrrrrr
�s

zVerifyCertSetup.setUp)r5r6r7r8r
r;rrrrrm�srmc@s<eZdZdZdd�Zdd�Zejde�	d�d�d	d
��Z
dS)�VerifyRenewableCertTest�4Tests for certbot.crypto_util.verify_renewable_cert.cCsddlm}||�S)Nr)�verify_renewable_cert)r$ry)rroryrrrr&�szVerifyRenewableCertTest._callcCs|�d|�|j��dSr �r)r&rorrrr�test_verify_renewable_cert�sz2VerifyRenewableCertTest.test_verify_renewable_certz-certbot.crypto_util.verify_renewable_cert_sigrO)r2cCs|�tj|j|j�dSr �r3rrir&rv)rZ!unused_verify_renewable_cert_signrrr�"test_verify_renewable_cert_failure�sz:VerifyRenewableCertTest.test_verify_renewable_cert_failureN)r5r6r7r8r&r{rr:rrir}rrrrrw�s
rwc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�VerifyRenewableCertSigTestrxcCsddlm}||�S)Nr)�verify_renewable_cert_sig)r$r)rrorrrrr&�sz VerifyRenewableCertSigTest._callcCs|�d|�|j��dSr rzrrrr�test_cert_sig_match�sz.VerifyRenewableCertSigTest.test_cert_sig_matchcCs0t��}t|_t|_t|_|�d|�|��dSr )	rrn�P256_CERT_PATHrqrr�P256_KEYrtr)r&)rrorrr�test_cert_sig_match_ec�s
z1VerifyRenewableCertSigTest.test_cert_sig_match_eccCs&t�d�|j_|�tj|j|j�dS)Nzcert_512_bad.pem)rGrarvrqr3rrir&rrrr�test_cert_sig_mismatch�sz1VerifyRenewableCertSigTest.test_cert_sig_mismatchN)r5r6r7r8r&r�r�r�rrrrr~�s
r~c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�VerifyFullchainTestz/Tests for certbot.crypto_util.verify_fullchain.cCsddlm}||�S)Nr)�verify_fullchain)r$r�)rror�rrrr&�szVerifyFullchainTest._callcCs|�d|�|j��dSr rzrrrr�test_fullchain_matches�sz*VerifyFullchainTest.test_fullchain_matchescCs|�tj|j|j�dSr r|rrrr�test_fullchain_mismatch�sz+VerifyFullchainTest.test_fullchain_mismatchcCs d|j_|�tj|j|j�dS)NZdog)rvrrr3rrir&rrrr�test_fullchain_ioerror�sz*VerifyFullchainTest.test_fullchain_ioerrorN)r5r6r7r8r&r�r�r�rrrrr��s
r�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�VerifyCertMatchesPrivKeyTestz;Tests for certbot.crypto_util.verify_cert_matches_priv_key.cCsddlm}||j|j�S)Nr)�verify_cert_matches_priv_key)r$r�rqrt)rror�rrrr&�sz"VerifyCertMatchesPrivKeyTest._callcCs(t|j_t|j_|�d|�|j��dSr )rprorqrsrtr)r&rrrr�test_cert_priv_key_matchsz5VerifyCertMatchesPrivKeyTest.test_cert_priv_key_matchcCs(t|j_t|j_|�tj|j|j�dSr )	�RSA256_KEY_PATHrvrtrprqr3rrir&rrrr�test_cert_priv_key_mismatchsz8VerifyCertMatchesPrivKeyTest.test_cert_priv_key_mismatchN)r5r6r7r8r&r�r�rrrrr��sr�c@s4eZdZdZedd��Zdd�Zdd�Zdd	�Zd
S)�ValidPrivkeyTestz,Tests for certbot.crypto_util.valid_privkey.cCsddlm}||�S)Nr)�
valid_privkey)r$r�)r%rtr�rrrr&szValidPrivkeyTest._callcCs|�|�t��dSr )r+r&rXrrrrrYsz ValidPrivkeyTest.test_valid_truecCs|�|�d��dSrNrPrrrrrQsz!ValidPrivkeyTest.test_empty_falsecCs|�|�d��dSrRrPrrrrrSsz"ValidPrivkeyTest.test_random_falseN)	r5r6r7r8r9r&rYrQrSrrrrr�
s
r�c@s,eZdZdZedd��Zdd�Zdd�ZdS)	�GetSANsFromCertTestz1Tests for certbot.crypto_util.get_sans_from_cert.cOsddlm}|||�S)Nr)�get_sans_from_cert)r$r�)r%rVrWr�rrrr&"szGetSANsFromCertTest._callcCs|�g|�t�d���dSrh�r)r&rGrHrrrr�test_single'szGetSANsFromCertTest.test_singlecCs |�ddg|�t�d���dS�Nr>zwww.example.comzcert-san_512.pemr�rrrr�test_san*s�zGetSANsFromCertTest.test_sanN)r5r6r7r8r9r&r�r�rrrrr�s

r�c@s<eZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dS)
�GetNamesFromCertTestz2Tests for certbot.crypto_util.get_names_from_cert.cOsddlm}|||�S)Nr)�get_names_from_cert)r$r�)r%rVrWr�rrrr&3szGetNamesFromCertTest._callcCs|�dg|�t�d���dS)Nr>rr�rrrrr�8s�z GetNamesFromCertTest.test_singlecCs |�ddg|�t�d���dSr�r�rrrrr�=s�zGetNamesFromCertTest.test_sancCs,|�dgdd�dD�|�t�d���dS)Nr>cSsg|]}d�|��qS)z{0}.example.com)�format)�.0�crrr�
<listcomp>FszDGetNamesFromCertTest.test_common_name_sans_order.<locals>.<listcomp>Zabcdzcert-5sans_512.pemr�rrrr�test_common_name_sans_orderBs�z0GetNamesFromCertTest.test_common_name_sans_ordercCs|�tjj|jd�dS)Nzhello there)r3rbrcrir&rrrr�test_parse_non_certIsz(GetNamesFromCertTest.test_parse_non_certN)
r5r6r7r8r9r&r�r�r�r�rrrrr�0s
r�c@s eZdZdZdd�Zdd�ZdS)�CertLoaderTestz8Tests for certbot.crypto_util.pyopenssl_load_certificatecCs>ddlm}|t�\}}|�|�d�tj�|t��d��dS)Nr��pyopenssl_load_certificateZsha256)r$r��CERTr)ZdigestrbrcZload_certificate)rr�rqZ	file_typerrr�test_load_valid_certPs
�z#CertLoaderTest.test_load_valid_certcCs,ddlm}t�dd�}|�tj||�dS)Nrr�sBEGIN CERTIFICATEsASDFASDFASDF!!!)r$r�r��replacer3rri)rr�Z
bad_cert_datarrr�test_load_invalid_certWs�z%CertLoaderTest.test_load_invalid_certN)r5r6r7r8r�r�rrrrr�Msr�c@seZdZdZdd�ZdS)�
NotBeforeTestz'Tests for certbot.crypto_util.notBeforecCs$ddlm}|�|t���d�dS)Nr)�	notBeforez2014-12-11T22:34:45+00:00)r$r�r)�	CERT_PATH�	isoformat)rr�rrr�test_notBeforeas�zNotBeforeTest.test_notBeforeN)r5r6r7r8r�rrrrr�^sr�c@seZdZdZdd�ZdS)�NotAfterTest�&Tests for certbot.crypto_util.notAftercCs$ddlm}|�|t���d�dS)Nr)�notAfterz2014-12-18T22:34:45+00:00)r$r�r)r�r�)rr�rrr�
test_notAfterjs�zNotAfterTest.test_notAfterN)r5r6r7r8r�rrrrr�gsr�c@seZdZdZdd�ZdS)�
Sha256sumTestr�cCs ddlm}|�|t�d�dS)Nr)�	sha256sumZ@914ffed8daf9e2c99d90ac95c77d54f32cbd556672facac380f0c063498df84e)r$r�r)r�)rr�rrr�test_sha256sumrs
�zSha256sumTest.test_sha256sumN)r5r6r7r8r�rrrrr�psr�c@seZdZdZdd�ZdS)�CertAndChainFromFullchainTestz;Tests for certbot.crypto_util.cert_and_chain_from_fullchainc	Csjt��}|t��}||}|d|}ddlm}||fD](}||�\}}|�||�|�||�q<dS)N�
r)�cert_and_chain_from_fullchain)r��decode�SS_CERTr$r�r))	rZcert_pemZ	chain_pemZ
fullchain_pemZspacey_fullchain_pemr�ruZcert_outZ	chain_outrrr�"test_cert_and_chain_from_fullchain{sz@CertAndChainFromFullchainTest.test_cert_and_chain_from_fullchainN)r5r6r7r8r�rrrrr�xsr��__main__)5r8rZunittestrbrZzope.componentrZcertbot.tests.utilZtestsrrGZcertbotrrZcertbot.compatrrrHrZrar�rXrsr�r�rpr�r�r�Z	P256_CERTZTempDirTestCaserr<ZTestCaserBrTr\rkrmrwr~r�r�r�r�r�r�r�r�r�r�r5�mainrrrr�<module>sV










$'