Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ |
| [Home] [System Details] [Kill Me] |
�
�b�Xc@`s�ddlmZmZmZddlZddlmZddlmZm Z m
Z
ddlmZddl
mZddlmZmZmZddlmZmZmZmZmZmZdd lmZmZd
�Zd�Zd�Zd
�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_algorithm(thashes(tAsymmetricSignatureContexttAsymmetricVerificationContexttrsa(tAsymmetricPaddingtMGF1tOAEPtPKCS1v15tPSStcalculate_max_pss_salt_length(tRSAPrivateKeyWithSerializationtRSAPublicKeyWithSerializationcC`s<|j}|tjks'|tjkr4t||�S|SdS(N(t_salt_lengthR
t
MAX_LENGTHRR(tpsstkeythash_algorithmtsalt((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_get_rsa_pss_salt_lengths
cC`st|t�std��nt|t�r<|jj}n�t|t�r�|jj}t|jt �s~t
dtj��n|j
|�s�t
dtj��n|jdk r�|jdkr�td��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.ts*This backend does not support OAEP labels.s%{0} is not supported
by this backend.(t
isinstanceRt TypeErrorRt_libtRSA_PKCS1_PADDINGRtRSA_PKCS1_OAEP_PADDINGt_mgfR
RRtUNSUPPORTED_MGFtrsa_padding_supportedtUNSUPPORTED_PADDINGt_labeltNonet
ValueErrortformattnamet_enc_dec_rsa_pkey_ctx(tbackendRtdatatpaddingtpadding_enum((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_enc_dec_rsa%s* cC`sdt|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�|jj|jjjjd��}
|j|
|j j
k�|jj||
�}|j|dk�|jj|jjjd��}|j||j j
k�|jj||�}|j|dk�n|j jd| �}|j jd| �}
|||
||t|��}|dkrLt||�n|j j|
�|d
S(Niitasciissize_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_MDtEVP_get_digestbynameR!t
_algorithmR)tencodetEVP_PKEY_CTX_set_rsa_mgf1_mdtEVP_PKEY_CTX_set_rsa_oaep_mdtnewtlent_handle_rsa_enc_dec_errortbuffer(R+RR,R.R-tinittcrypttpkey_ctxtrestbuf_sizetmgf1_mdtoaep_mdtoutlentbuf((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR*IsD cC`s�|j�}t|t�r*td��nX|jj|jj|jj|jjg}|jj rv|j
|jj�ntd��dS(NsGData too long for key size. Encrypt less data
or use a larger key size.sDecryption
failed.(t_consume_errorsRR1R'RtRSA_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((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyRGus cC`st|t�std��n|jj|j�}|j|dk�t|t�rd|jj}n�t|t �r�t|j
t�s�tdt
j��n||jddkr�td��n|j|j
j�s�tdt
j��n|jj}ntdj|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.sGWhen OpenSSL is older than 1.0.1 then only SHA1 is supported with
MGF1.s%{0} is not supported by this
backend.(RRRRR>R7R:RRRR!R
RRR"tdigest_sizeR't_pss_mgf1_hash_supportedRAtUNSUPPORTED_HASHtRSA_PKCS1_PSS_PADDINGR(R)R$(R+RR-t algorithmt pkey_sizeR.((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_rsa_sig_determine_padding�s,cC`s�|jj|jjd��}|j||jjk�|jj|j|jj�}|j||jjk�|jj ||jj
�}|jj|�}|j|dk�|jj||�}|j|dk�|jj
||�}|j|dk�t|t�r�|jj|t|||��}|j|dk�|jjr�|jj|jjjjd��} |j| |jjk�|jj|| �}|j|dk�q�n|jjd�}
|jj||jj|
|t|��}|j|dk�|jjd|
d�}|jj|||
|t|��}|dkr�|j�}d}
|dj|jjkr�d}
nd}
t|
��n|jj|�S(NR0iissize_t
*sunsigned char[]s@Salt length too long for key size. Try using MAX_LENGTH
instead.s0Digest too large for key size. Use a larger
key.(RR@R)RBR:R8R9R6R7R;R<tEVP_PKEY_sign_inittEVP_PKEY_CTX_set_signature_mdR=RRt
EVP_PKEY_CTX_set_rsa_pss_saltlenRtCryptography_HAS_MGF1_MDR!RARCREt
EVP_PKEY_signRFRRR&treasont!RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZER'RH(R+R-R.R`tprivate_keyR,tevp_mdRKRLRNtbuflenRQRZRh((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt
_rsa_sig_sign�sf
cC`s|jj|jjd��}|j||jjk�|jj|j|jj�}|j||jjk�|jj ||jj
�}|jj|�} |j| dk�|jj||�} |j| dk�|jj
||�} |j| dk�t|t�r�|jj|t|||��} |j| dk�|jjr�|jj|jjjjd��}
|j|
|jjk�|jj||
�} |j| dk�q�n|jj||t|�|t|��} |j| dk�| dkr|j�}t�ndS(NR0ii(RR@R)RBR:R8R9R6R7R;R<tEVP_PKEY_verify_initRdR=RRReRRfR!RARCtEVP_PKEY_verifyRFRRR(R+R-R.R`t
public_keyt signatureR,RkRKRLRNRZ((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt_rsa_sig_verifysR t_RSASignatureContextcB`s#eZd�Zd�Zd�ZRS(cC`s[||_||_t||||�|_||_||_tj|j|j�|_dS(N( t_backendt_private_keyRbt
_padding_enumt_paddingRARtHasht _hash_ctx(tselfR+RjR-R`((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt__init__>s cC`s|jj|�dS(N(Rytupdate(RzR,((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR|IscC`s1t|j|j|j|j|j|jj��S(N(RmRtRwRvRARuRytfinalize(Rz((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR}Ls(t__name__t
__module__R{R|R}(((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyRs<s t_RSAVerificationContextcB`s#eZd�Zd�Zd�ZRS(cC`sj||_||_||_||_t||||�|_|}||_tj|j|j�|_ dS(N(
Rtt_public_keyt
_signatureRwRbRvRARRxRy(RzR+RpRqR-R`((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR{Ys cC`s|jj|�dS(N(RyR|(RzR,((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR|gscC`s7t|j|j|j|j|j|j|jj��S(N( RrRtRwRvRAR�R�RyR}(Rz((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytverifyjs(R~RR{R|R�(((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�Ws 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(Rtt
_rsa_cdataR7R8RERtRSA_get0_keyR9R:tBN_num_bitst _key_size(RzR+t rsa_cdatatevp_pkeytn((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR{xs #R�cC`st|j|||�S(N(RsRt(RzR-R`((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytsigner�scC`sSttj|jd��}|t|�kr=td��nt|j|||�S(Ng
@s,Ciphertext length must be equal to key
size.(tinttmathtceiltkey_sizeRFR'R/Rt(Rzt
ciphertextR-tkey_size_bytes((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytdecrypt�scC`s�|jjj|j�}|jj||jjjk�|jjj||jjj�}|jjj ||jjj�}|jj|dk�|jj
|�}t|j||�S(Ni(RtRtRSAPublicKey_dupR�R:R8R9R;tRSA_freetRSA_blinding_ont_rsa_cdata_to_evp_pkeyR1(RztctxRLR�((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyRp�s!!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�(RtR8RERR�R�R:R9tRSA_get0_factorstRSA_get0_crt_paramsRtRSAPrivateNumberst
_bn_to_inttRSAPublicNumbers( RzR�R�R�R�R�R�R�R�((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytprivate_numbers�s<######## cC`s"|jj||||j|j�S(N(Rtt_private_key_bytesR7R�(RztencodingR(tencryption_algorithm((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt
private_bytes�s cC`sOt|j|||�}t|j||�\}}t|j|||||�S(N(RbRtRRm(RzR,R-R`R.((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytsign�s(R~RR{Rtread_only_propertyR�R�R�RpR�R�R�(((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�vs
# R1cB`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(RtR�R7R8RERR�R9R:R�R�(RzR+R�R�R�((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR{�s #R�cC`s7t|t�std��nt|j||||�S(Nssignature
must be
bytes.(RtbytesRR�Rt(RzRqR-R`((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytverifier�scC`st|j|||�S(N(R/Rt(Rzt plaintextR-((sN/usr/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�(RtR8RERR�R�R9R:RR�R�(RzR�R�((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR��s## cC`s"|jj||||j|j�S(N(Rtt_public_key_bytesR7R�(RzR�R(((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pytpublic_bytes�s cC`sRt|j|||�}t|j||�\}}t|j||||||�S(N(RbRtRRr(RzRqR,R-R`R.((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR�s(R~RR{RR�R�R�R�R�R�R�(((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyR1�s
(*t
__future__RRRR�tcryptographyRtcryptography.exceptionsRRRt*cryptography.hazmat.backends.openssl.utilsRtcryptography.hazmat.primitivesRt)cryptography.hazmat.primitives.asymmetricR R
Rt1cryptography.hazmat.primitives.asymmetric.paddingRR
RRRRt-cryptography.hazmat.primitives.asymmetric.rsaRRRR/R*RGRbRmRrtregister_interfacetobjectRsR�R�R1(((sN/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.pyt<module>s.. $ , ' I ;\