%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/
Upload File :
Create Path :
Current File : //proc/self/root/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyo

�
�ac@s�ddlmZddlZddlZddlZddlZddlZddlZddl	Zddl
ZddlZddlm
Z
dejjfd��YZdejjfd��YZdZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZied6ed6ed6ed6ed6ed6ed6ed6ed6ed6ed 6ed!6ed"6ed#6Z d$�e j!�D�Z"d%�Z#d&�Z$d'�Z%dd(�Z'dd)�Z(d*�Z)d+�Z*d,�Z+d-�Z,d.�Z-d/�Z.d0�Z/d1�Z0d2�Z1d3�Z2d4�Z3ddd5�Z4ddd6�Z5d7�Z6y�yhdd8l7m8Z8m9Z9m:Z:m;Z;m<Z<dd9l=m>Z?mZ@dd:lAmBZBmCZCdd;lDmEZEWnueFk
r5dd8lGm8Z8m9Z9m:Z:m;Z;m<Z<dd9lHm>Z?mZ@dd:lImBZBmCZCdd;lJmEZEnXWn)eFk
rbe6ZKe6ZLeMZNeMZOn}Xe5ZKe4ZLePZNy4ddlQZQddlRZQddlSZQddlTZQWneFk
r�eMZOnXePZOd<eUfd=��YZVdS(>i����(tBytesIONi(tstring_typestUnsupportedAlgorithmcBseZRS((t__name__t
__module__(((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyR"stValidationFailurecBseZRS((RR(((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyR&siiiiiiii
i
ii�i�i�tRSAMD5tDHtDSAtECCtRSASHA1tDSANSEC3SHA1tRSASHA1NSEC3SHA1t	RSASHA256t	RSASHA512tINDIRECTtECDSAP256SHA256tECDSAP384SHA384t
PRIVATEDNSt
PRIVATEOIDcCsi|]\}}||�qS(((t.0txty((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pys
<dictcomp>\s	cCs4tj|j��}|dkr0t|�}n|S(N(t_algorithm_by_texttgettuppertNonetint(ttexttvalue((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pytalgorithm_from_text_scCs.tj|�}|dkr*t|�}n|S(N(t_algorithm_by_valueRRtstr(RR((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pytalgorithm_to_textkscCs&t�}|j|d|�|j�S(Ntorigin(Rtto_wiretgetvalue(trecordR"ts((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt	_to_rdataws	cCs�t||�}t|�}|jtkr>|dd>|dSd}xDtt|�d�D],}||d|d>|d|d7}q[Wt|�ddkr�||t|�dd>7}n||d?d@7}|d@SdS(	Ni����ii����iiiii��(R't	bytearrayt	algorithmRtrangetlen(tkeyR"trdatattotalti((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pytkey_id}s	cCs|j�dkr'd}tj�}n7|j�dkrNd}tj�}ntd|��t|t�r�tjj	||�}n|j
|j�j��|j
t
||��|j�}tjdt|�|j|�|}tjjtjjtjj|dt|��S(NtSHA1itSHA256isunsupported algorithm "%s"s!HBBi(RR1tnewR2Rt
isinstanceRtdnstnamet	from_texttupdatetcanonicalizeR#R'tdigesttstructtpackR0R)R-t	from_wiret
rdataclasstINt	rdatatypetDSR+(R6R,R)R"tdsalgthashR:tdsrdata((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pytmake_ds�s%!cCs�g}|j|j�}|dkr(dSt|tjj�rwy"|jtjj	tj
j�}Wq}tk
rsdSXn|}xE|D]=}|j
|j
kr�t|�|jkr�|j|�q�q�W|S(N(RtsignerRR4R5tnodetNodet
find_rdatasetR>R?R@tDNSKEYtKeyErrorR)R0tkey_tagtappend(tkeystrrsigtcandidate_keysRtrdatasetR-((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_find_candidate_keys�s 

cCs|tttttfkS(N(RR
RR
R(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_is_rsa�s	cCs|ttfkS(N(RR(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_is_dsa�scCsto|ttfkS(N(t_have_ecdsaRR(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt	_is_ecdsa�scCs
|tkS(N(R(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_is_md5�scCs|ttttfkS(N(RR
RR(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_is_sha1�s	cCs|ttfkS(N(R
R(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt
_is_sha256�scCs
|tkS(N(R(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt
_is_sha384�scCs
|tkS(N(R(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt
_is_sha512�scCs�t|�rtj�St|�r,tj�St|�rBtj�St|�rXtj�St	|�rnt
j�Std|��dS(Nsunknown hash for algorithm %u(RWtMD5R3RXR1RYR2RZtSHA384R[tSHA512R(R)((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt
_make_hash�s




c	Cs>t|�r-ddddddddg}n�t|�rQdd	d
ddg}npt|�r�dddd
dd
ddd
g	}n@t|�r�dddd
dd
ddd
g	}ntd|��t|�}t|�j}dgd||gd|dgd|g|ddgd|g}tj	dt|�|�S(Ni*i�iHi�i
iii+iiii`iieisunknown algorithm %ui0iiis!%dB(
RWRXRYR[RR+R_tdigest_sizeR;R<(R)toidtolentdlentidbytes((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_make_algorithm_id�s!$$Hc'Cs0t|t�r-tjj|tjj�}nt||�}|dkrWtd��nx�|D]�}t|t	�r�|d}|d}n|j}|}|dkr�t
j
�}n|j|kr�td��n|j|kr�td��nt
|j�}	t|j�r�|j}
tjd|
dd!�\}|
d}
|dkrrtjd|
dd!�\}|
d}
n|
d|!}|
|}
y+tjtj|
�tj|�f�}Wntk
r�td	��nX|j}nFt|j�r�|j}
tjd|
dd!�\}|
d}
d
|d}|
dd!}|
d}
|
d|!}|
|}
|
d|!}|
|}
|
d|!}tjtj|�tj|�tj|�tj|�f�}|jd}nYt|j�r|j}
|jtkr	tjj}d
}n$|jt kr-tjj!}d}ntj|
d|!�}tj|
||d!�}tjj"|j#||�s�td��ntj$j%|j&|||j'�}tj(j)j*||�}t+||�}|j| }|j|}tjj,tj|�tj|��}ntd|j��|	j-t.||�d �|	j-|j/j0|��|j1t2|�dkr�|j3|j1d�d}tjjd|�}n|j0|�}tj4d|j5|j6|j7�} t8|�}!xi|!D]a}"|	j-|�|	j-| �|"j0|�}#tj4dt2|#��}$|	j-|$�|	j-|#�q�Wy�t|j�r�t9j:|�}%|%j;|	|�n�t|j�r�t<j:|d�}%|%j;|	|�nLt|j�r�|	j=�}&|j;|&|�st�qntd|j��dSWq^tk
rq^q^Xq^Wtd��dS(Nsunknown keyiitexpireds
not yet valids!Bs!Hisinvalid public keyi@iii i0sinvalid ECDSA keysunknown algorithm %uit*s!HHIs
fips-186-3sverify failure(>R4RR5R6R7trootRRRRttuplettimet
expirationt	inceptionR_R)RSR,R;tunpackt	CryptoRSAt	constructtnumbert
bytes_to_longt
ValueErrort	signatureRTt	CryptoDSARVRtecdsatcurvestNIST256pRtNIST384ptpoint_is_validt	generatort
ellipticcurvetPointtcurvetorderRNtVerifyingKeytfrom_public_pointtECKeyWrappert	SignatureR8R'RFt
to_digestabletlabelsR+tsplitR<trdtypetrdclasstoriginal_ttltsortedtpkcs1_15R3tverifytDSSR:('trrsetRORNR"tnowRPt
candidate_keytrrnameRQRCtkeyptrtbytes_trsa_etrsa_ntpubkeytsigtttoctetstdsa_qtdsa_ptdsa_gtdsa_yR}tkey_lenRRtpointt
verifying_keytrR&tsuffixt	rrnamebuftrrfixedtrrlisttrrtrrdatatrrlentverifierR:((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_validate_rrsigs�


		




	







			!	






c	Cst|t�r-tjj|tjj�}nt|t�rI|d}n	|j}t|t�rx|d}|d}n|j}|}|j|�}|j|�}||kr�td��nx@|D]8}yt	|||||�dSWq�tk
r�q�Xq�Wtd��dS(Niisowner names do not matchsno RRSIGs validated(
R4RR5R6R7RhRitchoose_relativityRR�(	R�trrsigsetRNR"R�R�t	rrsignamet
rrsigrdatasetRO((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt	_validate�s*
	

	

cOstd��dS(Ns5DNSSEC validation requires pycryptodome/pycryptodomex(tNotImplementedError(targstkwargs((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt_need_pycrypto�s(R\R1R2R]R^(tRSAR(R�R�(RpR�cBseZd�Zd�ZRS(cCs||_||_dS(N(R,R�(tselfR,R�((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt__init__s	cCs%tj|�}|jjj||�S(N(RpRqR,R�tverifies(R�R:R�tdiglong((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyR�s(RRR�R�(((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyR��s	(WtioRR;Rjt
dns.exceptionR5tdns.nametdns.nodetdns.rdatasett	dns.rdatat
dns.rdatatypetdns.rdataclasst_compatRt	exceptiontDNSExceptionRRRRRR	R
RRR
RRRRRRRtitemsRRR!R'RR0RERRRSRTRVRWRXRYRZR[R_ReR�R�R�tCrypto.HashR\R1R2R]R^tCrypto.PublicKeyR�RnRttCrypto.SignatureR�R�tCrypto.UtilRptImportErrortCryptodome.HashtCryptodome.PublicKeytCryptodome.SignaturetCryptodome.Utiltvalidatetvalidate_rrsigtFalset_have_pycryptoRUtTrueRutecdsa.ecdsatecdsa.ellipticcurvet
ecdsa.keystobjectR�(((s?/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/dnssec.pyt<module>s�
			%											�0	(
(





Zerion Mini Shell 1.0