%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/
Upload File :
Create Path :
Current File : //opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyo

�
��_c@`s�ddlmZmZmZddlZddlmZddlmZm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZmZmZddlmZmZmZmZmZmZdd	lmZmZd
�Zd�Z d�Z!d
�Z"d�Z#d�Z$d�Z%d�Z&ej'e�de(fd��Y�Z)ej'e�de(fd��Y�Z*ej'e�de(fd��Y�Z+ej'e�de(fd��Y�Z,dS(i(tabsolute_importtdivisiontprint_functionN(tutils(tInvalidSignaturetUnsupportedAlgorithmt_Reasons(t_calculate_digest_and_algorithmt_check_not_prehashedt_warn_sign_verify_deprecated(thashes(tAsymmetricSignatureContexttAsymmetricVerificationContexttrsa(tAsymmetricPaddingtMGF1tOAEPtPKCS1v15tPSStcalculate_max_pss_salt_length(tRSAPrivateKeyWithSerializationtRSAPublicKeyWithSerializationcC`s<|j}|tjks'|tjkr4t||�S|SdS(N(t_salt_lengthRt
MAX_LENGTHRR(tpsstkeythash_algorithmtsalt((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_get_rsa_pss_salt_lengths	
cC`s�t|t�std��nt|t�r<|jj}n�t|t�r�|jj}t|jt	�s~t
dtj��n|j
|�s�t
dtj��q�nt
dj|j�tj��t|||||�S(Ns1Padding must be an instance of AsymmetricPadding.s'Only MGF1 is supported by this backend.sPThis combination of padding and hash algorithm is not supported by this backend.s${} is not supported by this backend.(t
isinstanceRt	TypeErrorRt_libtRSA_PKCS1_PADDINGRtRSA_PKCS1_OAEP_PADDINGt_mgfRRRtUNSUPPORTED_MGFtrsa_padding_supportedtUNSUPPORTED_PADDINGtformattnamet_enc_dec_rsa_pkey_ctx(tbackendRtdatatpaddingtpadding_enum((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_enc_dec_rsa&s&	cC`s�t|t�r*|jj}|jj}n|jj}|jj}|jj|j|j	j
�}|j||j	j
k�|j	j||jj
�}||�}|j|dk�|jj||�}|j|dk�|jj|j�}	|j|	dk�t|t�r�|jjr�|j|jj�}
|jj||
�}|j|dk�|j|j�}|jj||�}|j|dk�nt|t�rX|jdk	rXt|j�dkrX|jjt|j��}|j||j	j
k�|j	j||jt|j��|jj||t|j��}|j|dk�n|j	jd|	�}
|j	jd|	�}||||
|t|��}|dkr�t||�n|j	j|�|
d S(Niissize_t *sunsigned char[]( Rt
_RSAPublicKeyRtEVP_PKEY_encrypt_inittEVP_PKEY_encrypttEVP_PKEY_decrypt_inittEVP_PKEY_decrypttEVP_PKEY_CTX_newt	_evp_pkeyt_ffitNULLtopenssl_asserttgctEVP_PKEY_CTX_freetEVP_PKEY_CTX_set_rsa_paddingt
EVP_PKEY_sizeRtCryptography_HAS_RSA_OAEP_MDt_evp_md_non_null_from_algorithmR"t
_algorithmtEVP_PKEY_CTX_set_rsa_mgf1_mdtEVP_PKEY_CTX_set_rsa_oaep_mdt_labeltNonetlentOPENSSL_malloctmemmovet EVP_PKEY_CTX_set0_rsa_oaep_labeltnewt_handle_rsa_enc_dec_errortbuffer(R)RR*R,R+tinittcrypttpkey_ctxtrestbuf_sizetmgf1_mdtoaep_mdtlabelptrtoutlentbuf((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR(GsP		"	cC`s�|j�}|j|�|j|dj|jjk�t|t�rw|j|dj|jjk�t	d��nr|jj
|jj|jj|jj
g}|jjr�|j|jj�n|j|dj|k�t	d��dS(NisGData too long for key size. Encrypt less data or use a larger key size.sDecryption failed.(t_consume_errorsR7tlibRtERR_LIB_RSARR.treasont!RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZEt
ValueErrortRSA_R_BLOCK_TYPE_IS_NOT_01tRSA_R_BLOCK_TYPE_IS_NOT_02tRSA_R_OAEP_DECODING_ERRORt RSA_R_DATA_TOO_LARGE_FOR_MODULUSt*Cryptography_HAS_RSA_R_PKCS_DECODING_ERRORtappendtRSA_R_PKCS_DECODING_ERROR(R)Rterrorstdecoding_errors((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyRHs 
 			cC`s�t|t�std��n|jj|j�}|j|dk�t|t�rd|jj}n�t|t	�r�t|j
t�s�tdt
j��n||jddkr�td��n|jj}ntdj|j�t
j��|S(Ns'Expected provider of AsymmetricPadding.is'Only MGF1 is supported by this backend.isDDigest too large for key size. Use a larger key or different digest.s${} is not supported by this backend.(RRRRR;R4R7RR RR"RRRR#tdigest_sizeRYtRSA_PKCS1_PSS_PADDINGR&R'R%(R)RR+t	algorithmt	pkey_sizeR,((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_rsa_sig_determine_padding�s$cC`s�t||||�}|j|�}|jj|j|jj�}|j||jjk�|jj||jj	�}||�}	|j|	dk�|jj
||�}	|	dkr�|j�tdj
|j�tj��n|jj||�}	|j|	dk�t|t�r�|jj|t|||��}	|j|	dk�|j|jj�}
|jj||
�}	|j|	dk�n|S(Niis4{} is not supported by this backend for RSA signing.(RgR=RR3R4R5R6R7R8R9tEVP_PKEY_CTX_set_signature_mdRTRR&R'RtUNSUPPORTED_HASHR:RRt EVP_PKEY_CTX_set_rsa_pss_saltlenRR"R>R?(R)R+ReRR*t	init_funcR,tevp_mdRLRMRO((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_rsa_sig_setup�s2
		cC`sMt||||||jj�}|jjd�}|jj||jj||t|��}|j|dk�|jjd|d�}|jj||||t|��}|dkr<|j	�}	|j|	dj
|jjk�|	dj|jj
krd}
n&|j|	dj|jjk�d}
t|
��n|jj|�S(Nssize_t *isunsigned char[]is@Salt length too long for key size. Try using MAX_LENGTH instead.s0Digest too large for key size. Use a larger key.(RmRtEVP_PKEY_sign_initR5RGt
EVP_PKEY_signR6RCR7RTRURVRWRXt RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEYRYRI(R)R+Retprivate_keyR*RLtbuflenRMRSRaRW((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt
_rsa_sig_sign�s4			 
	
cC`s�t||||||jj�}|jj||t|�|t|��}|j|dk�|dkr}|j�t�ndS(Ni(RmRtEVP_PKEY_verify_inittEVP_PKEY_verifyRCR7RTR(R)R+Ret
public_keyt	signatureR*RLRM((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_rsa_sig_verifys	!
t_RSASignatureContextcB`s#eZd�Zd�Zd�ZRS(cC`sV||_||_t||||�||_||_tj|j|j�|_dS(N(t_backendt_private_keyRgt_paddingR>R
tHasht	_hash_ctx(tselfR)RqR+Re((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt__init__s				cC`s|jj|�dS(N(R~tupdate(RR*((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�!scC`s+t|j|j|j|j|jj��S(N(RsRzR|R>R{R~tfinalize(R((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�$s(t__name__t
__module__R�R�R�(((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyRys		t_RSAVerificationContextcB`s#eZd�Zd�Zd�ZRS(cC`se||_||_||_||_t||||�|}||_tj|j|j�|_dS(N(	Rzt_public_keyt
_signatureR|RgR>R
R}R~(RR)RvRwR+Re((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�0s					cC`s|jj|�dS(N(R~R�(RR*((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�>scC`s1t|j|j|j|j|j|jj��S(N(RxRzR|R>R�R�R~R�(R((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytverifyAs(R�R�R�R�R�(((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�.s		t_RSAPrivateKeycB`sVeZd�Zejd�Zd�Zd�Zd�Zd�Z	d�Z
d�ZRS(cC`s�||_||_||_|jjjd�}|jjj|j||jjj|jjj�|jj|d|jjjk�|jjj	|d�|_
dS(Ns	BIGNUM **i(Rzt
_rsa_cdataR4R5RGRtRSA_get0_keyR6R7tBN_num_bitst	_key_size(RR)t	rsa_cdatatevp_pkeytn((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�Ns			#R�cC`s't�t|�t|j|||�S(N(R	RRyRz(RR+Re((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytsigner]s
cC`sSttj|jd��}|t|�kr=td��nt|j|||�S(Ng @s,Ciphertext length must be equal to key size.(tinttmathtceiltkey_sizeRCRYR-Rz(Rt
ciphertextR+tkey_size_bytes((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytdecryptbscC`s�|jjj|j�}|jj||jjjk�|jjj||jjj�}|jjj	||jjj�}|jj|dk�|jj
|�}t|j||�S(Ni(RzRtRSAPublicKey_dupR�R7R5R6R8tRSA_freetRSA_blinding_ont_rsa_cdata_to_evp_pkeyR.(RtctxRMR�((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyRvis!!c	C`s�|jjjd�}|jjjd�}|jjjd�}|jjjd�}|jjjd�}|jjjd�}|jjjd�}|jjjd�}|jjj|j|||�|jj|d|jjjk�|jj|d|jjjk�|jj|d|jjjk�|jjj|j||�|jj|d|jjjk�|jj|d|jjjk�|jjj	|j|||�|jj|d|jjjk�|jj|d|jjjk�|jj|d|jjjk�t
jd|jj|d�d|jj|d�d|jj|d�d|jj|d�d|jj|d�d|jj|d�d	t
j
d
|jj|d�d|jj|d���S(Ns	BIGNUM **itptqtdtdmp1tdmq1tiqmptpublic_numbersteR�(RzR5RGRR�R�R7R6tRSA_get0_factorstRSA_get0_crt_paramsR
tRSAPrivateNumberst
_bn_to_inttRSAPublicNumbers(	RR�R�R�R�R�R�R�R�((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytprivate_numbersrs<########		cC`s"|jj||||j|j�S(N(Rzt_private_key_bytesR4R�(RtencodingR&tencryption_algorithm((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt
private_bytes�s	cC`s4t|j||�\}}t|j||||�S(N(RRzRs(RR*R+Re((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytsign�s(R�R�R�Rtread_only_propertyR�R�R�RvR�R�R�(((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�Ls	
					#		R.cB`sMeZd�Zejd�Zd�Zd�Zd�Zd�Z	d�Z
RS(cC`s�||_||_||_|jjjd�}|jjj|j||jjj|jjj�|jj|d|jjjk�|jjj	|d�|_
dS(Ns	BIGNUM **i(RzR�R4R5RGRR�R6R7R�R�(RR)R�R�R�((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR��s			#R�cC`s:t�tjd|�t|�t|j||||�S(NRw(R	Rt_check_bytesRR�Rz(RRwR+Re((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytverifier�s

cC`st|j|||�S(N(R-Rz(Rt	plaintextR+((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytencrypt�scC`s�|jjjd�}|jjjd�}|jjj|j|||jjj�|jj|d|jjjk�|jj|d|jjjk�tj	d|jj
|d�d|jj
|d��S(Ns	BIGNUM **iR�R�(RzR5RGRR�R�R6R7R
R�R�(RR�R�((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR��s##	cC`s"|jj||||j|j�S(N(Rzt_public_key_bytesR4R�(RR�R&((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytpublic_bytes�s	cC`s7t|j||�\}}t|j|||||�S(N(RRzRx(RRwR*R+Re((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR��s(R�R�R�RR�R�R�R�R�R�R�(((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR.�s	
				
		(-t
__future__RRRR�tcryptographyRtcryptography.exceptionsRRRt*cryptography.hazmat.backends.openssl.utilsRRR	tcryptography.hazmat.primitivesR
t)cryptography.hazmat.primitives.asymmetricRRR
t1cryptography.hazmat.primitives.asymmetric.paddingRRRRRRt-cryptography.hazmat.primitives.asymmetric.rsaRRRR-R(RHRgRmRsRxtregister_interfacetobjectRyR�R�R.(((s_/opt/plesk/python/2.7/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt<module>s0.			!	8		 	!	%	X

Zerion Mini Shell 1.0