JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/certbot/_internal/tests/__pycache__/ocsp_test.cpython-39.opt-1.pyc

a

}|�g}H�@sNdZddlZddlmZddlmZddlZddlZddlmZddlZddlm	Z	ddl
mZddl
mZdd	l
mZdd
lmZddlmZddlmZddlZddlZdd
lmZddlmZdZGdd�dej�ZGdd�dej�Z ej!d"dd��Z"dd�Z#dZ$dZ%dZ&dZ'dZ(dZ)dZ*e+d k�rJe�,e�-ej.d!d�e/g��dS)#zTests for ocsp.py�N)�datetime)�	timedelta)�mock)�x509)�InvalidSignature)�UnsupportedAlgorithm)�default_backend)�hashes)�CryptographyDeprecationWarning��ocsp)�errors)�utilz;Missing = in header key=value
ocsp: Use -help for summary.
c@s�eZdZdZdd�Ze�d�e�d�e�d�dd����Ze�d	�e�d
�e�d�dd
����Zdd�Z	e�d�e�d�dd���Z
dS)�OCSPTestOpenSSLz5
    OCSP revocation tests using OpenSSL binary.
    c	Cs~ddlm}t�d��T}t�d��*}t|_d|_|jdd�|_Wd�n1sR0YWd�n1sp0YdS)Nrr�certbot.ocsp.subprocess.run�certbot.util.exe_existsT�Zenforce_openssl_binary_usage)	�certbotrr�patch�out�stderr�return_value�RevocationChecker�checker)�selfr�mock_run�mock_exists�r�E/usr/lib/python3.9/site-packages/certbot/_internal/tests/ocsp_test.py�setUp"szOCSPTestOpenSSL.setUpzcertbot.ocsp.logger.inforrcCs`t|j_d|_ddlm}|jdd�}t�d�d|j_|jdd�}d|_d|_|jdd�}dS)NTrrr�
�F)rrrrrr�	partition�
call_count)rrr�mock_logrrrrr�	test_init*szOCSPTestOpenSSL.test_init�#certbot.ocsp._determine_ocsp_server�!certbot.ocsp.crypto_util.notAfterzcertbot.util.run_scriptcCs�t�tj�}t��}d|_d|_|tdd�|_	d|j
_d|_	d|j
_tt
dd��|_	d	|_	t�d
�|_||_	d|_	|j}dS)N�x�yr!�ZhoursT)�r+F�)zhttp://x.cozx.coz#Unable to load certificate launcher)r�now�pytz�UTCr�	MagicMock�	cert_path�
chain_pathrrr�broken�tuple�
openssl_happyr
ZSubprocessError�side_effectr#)rrZmock_na�mock_determiner-�cert_objZcount_beforerrr�test_ocsp_revokedBsz!OCSPTestOpenSSL.test_ocsp_revokedcCs$t�d�}ddlm}|�|�}dS)N�ocsp_certificate.pemrr)�	test_util�vector_pathrrZ_determine_ocsp_server)rr1r�resultrrr�test_determine_ocsp_serverbs

z*OCSPTestOpenSSL.test_determine_ocsp_serverzcertbot.ocsp.loggercCs&t|_ddlm}d|j_d|j_dS)Nrr)�openssl_confusedrrr�debugr#�info)rrr$rrrr�test_translate_ocspis
z#OCSPTestOpenSSL.test_translate_ocspN)�__name__�
__module__�__qualname__�__doc__rrrr%r9r>rBrrrrrsrc@s\eZdZdZdd�Ze�d�e�d�dd���Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�ZdS)�OSCPTestCryptographyz;
    OCSP revokation tests using Cryptography >= 2.4.0
    cCs�ddlm}|��|_t�d�|_t�d�|_t�	�|_
|j|j
_|j|j
_t�t
j�}tjd|tdd�d�|_|j��|�|jj�dS)	Nrrr:�ocsp_issuer_certificate.pemr'r!r*)r)rrrrr;r<r1r2rr0r8rr-r.r/rrZ
mock_notAfter�startZ
addCleanup�stop)rrr-rrrr�s



�
zOSCPTestCryptography.setUpr&z%certbot.ocsp._check_ocsp_cryptographycCs,d|_|j�|j�|�|j|jdd�dS)N)�http://example.com�example.comrK�
)rr�ocsp_revokedr8Zassert_called_once_withr1r2)r�
mock_checkr7rrr� test_ensure_cryptography_toggled�sz5OSCPTestCryptography.test_ensure_cryptography_toggledcCsDttjjtjj��|j�|j�}Wd�n1s60YdS)N)	�
_ocsp_mock�ocsp_lib�OCSPCertStatus�REVOKED�OCSPResponseStatus�
SUCCESSFULrrNr8)r�revokedrrr�test_revoke�s,z OSCPTestCryptography.test_revokecCs�t�t�d�t��}ttjjtj	j
��p}|j|dj_
d|dj_|j�|j�tj�|���j}d|dj_
||dj_|j�|j�Wd�n1s�0YdS)NrH�
mock_response�r�load_pem_x509_certificater;�load_vectorrrQrRrSrTrUrV�subjectr�responder_nameZresponder_key_hashrrNr8ZSubjectKeyIdentifierZfrom_public_keyZ
public_keyZdigest)r�issuer�mocks�key_hashrrr�test_responder_is_issuer�s��,z-OSCPTestCryptography.test_responder_is_issuercCs�t�t�d�t��}t�t�d�t��}ttjjtj	j
��p}|j|dj_
d|dj_|j�|j�tj�|���j}d|dj_
||dj_|j�|j�Wd�n1s�0YdS)NrH�ocsp_responder_certificate.pemrYrZ)rr_�	responderr`rarrr�%test_responder_is_authorized_delegate�s$���,z:OSCPTestCryptography.test_responder_is_authorized_delegatec
Cs�ttjjtjjdd��|j�|j�}Wd�n1s:0Yttjjtjj	��|j�|j�}Wd�n1sz0Yttjjtjj��|j�|j�}Wd�n1s�0Yttjj
tjj��Ztjdt
�dt
jj�d��|j�|j�}Wd�n1�s0YWd�n1�s80Yttjj
tjjtd�d��|j�|j�}Wd�n1�s�0Yttjj
tjjtd�d��|j�|j�}Wd�n1�s�0Yttjj
tjjtd�d��|j�|j�}Wd�n1�s0Yttjj
tjj��*}g|dj_|j�|j�}Wd�n1�sd0Yttjj
tjj��J}|djjd	}tjd
|jd�|djjd	<|j�|j�}Wd�n1�s�0Yttjj
tjj���t�d��`}d
|_tjdt
�dt
jj�d��|j�|j�}Wd�n1�sB0YWd�n1�sb0YWd�n1�s�0YdS)Ni�)�http_status_codez4cryptography.x509.Extensions.get_extension_for_classz	Not found�r6Zfoo)�check_signature_side_effectrYrZfake)r_r]r&)zhttps://example.comrL)rQrRrSZUNKNOWNrUrVrrNr8ZUNAUTHORIZEDrTrrrZExtensionNotFoundZAuthorityInformationAccessOIDZOCSPrr�AssertionErrorr�certificates�Mockr])rrWr`�certZmock_serverrrr�test_revoke_resiliency�sh�,,,��N�.�.�.�.��.��nz+OSCPTestCryptography.test_revoke_resiliencycsxttjjtjj��R}|djj��fdd�}tj	|d�}|t
|dj�_|j�|j
�}Wd�n1sj0YdS)NrYcsd}t�|t��S)NugProperties that return a naïve datetime object have been deprecated. Please switch to this_update_utc.)�warnings�warnr
)�msg��valuerr�
warn_first&szAOSCPTestCryptography.test_this_update_warning.<locals>.warn_firstrg)rQrRrSZGOODrUrVr�this_updaterZPropertyMock�typerrNr8)rr`rsZ
property_mockrWrrqr�test_this_update_warning!s�,z-OSCPTestCryptography.test_this_update_warningN)
rCrDrErFrrrrPrXrbrermrvrrrrrG�sGrG��c
cs�t�d���}t||�|_t�d��`}tj|d�|_t�d��(}|rH||_|||d�VWd�n1sj0YWd�n1s�0YWd�n1s�0YdS)Nz(certbot.ocsp.ocsp.load_der_ocsp_responsezcertbot.ocsp.requests.post)Zstatus_codez.certbot.ocsp.crypto_util.verify_signed_payload)rY�	mock_postrO)rr�_construct_mock_ocsp_responserrkr6)�certificate_status�response_statusrfrhrYrxrOrrrrQ5s�
�rQcCs�t�t�d�t��}t�t�d�t��}t�t�d�t��}t��}|�||t�	��}|�
�}tj|||j
|j|j|j|gt�	�t�tj�jdd�tdd�t�tj�jdd�tdd�tjjjd�S)Nr:rHrc)Ztzinfor,)Zdays)r{rz�
serial_number�issuer_key_hash�issuer_name_hashr^rjZhash_algorithmZnext_updatertZsignature_algorithm_oid)rr[r;r\rrRZOCSPRequestBuilderZadd_certificater	ZSHA1Zbuildrrkr|r}r~r]rr-r.r/�replacerZoidZSignatureAlgorithmOIDZ
RSA_WITH_SHA1)rzr{rlr_rdZbuilderZrequestrrrryHs2����ry)r+z�
/etc/letsencrypt/live/example.org/cert.pem: good
	This Update: Dec 17 00:00:00 2016 GMT
	Next Update: Dec 24 00:00:00 2016 GMT
z�
Response Verify Failure
139903674214048:error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:ocsp_vfy.c:138:Verify error:unable to get local issuer certificate
)�blah.pemz^
blah.pem: good
	This Update: Dec 20 18:00:00 2016 GMT
	Next Update: Dec 27 18:00:00 2016 GMT
�Response verify OK)r�z�
blah.pem: revoked
	This Update: Dec 20 01:00:00 2016 GMT
	Next Update: Dec 27 01:00:00 2016 GMT
	Revocation Time: Dec 20 01:46:34 2016 GMT
r�)r�za
blah.pem: unknown
	This Update: Dec 20 18:00:00 2016 GMT
	Next Update: Dec 27 18:00:00 2016 GMT
r�)r+Z	tentaclesr�)r�z�
blah.pem: WARNING: Status times invalid.
140659132298912:error:2707307D:OCSP routines:OCSP_check_validity:status expired:ocsp_cl.c:372:
good
	This Update: Apr  6 00:00:00 2016 GMT
	Next Update: Apr 13 00:00:00 2016 GMT
r�)r�z�
blah.pem: WARNING: Status times invalid.
140659132298912:error:2707307D:OCSP routines:OCSP_check_validity:status expired:ocsp_cl.c:372:
revoked
	This Update: Apr  6 00:00:00 2016 GMT
	Next Update: Apr 13 00:00:00 2016 GMT
r��__main__r,)rwN)0rF�
contextlibrr�sysZunittestrrnZcryptographyrZcryptography.exceptionsrrZcryptography.hazmat.backendsrZcryptography.hazmat.primitivesr	Zcryptography.utilsr
Zcryptography.x509rrRZpytestr.rr
Z
certbot.testsrr;rZTestCaserrG�contextmanagerrQryr?r5Zopenssl_revokedZopenssl_unknownZopenssl_brokenZopenssl_expired_ocspZopenssl_expired_ocsp_revokedrC�exit�main�argv�__file__rrrr�<module>sFe4�
	


Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg