HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-39.pyc
a

�a.2�@s�ddlmZddlmZmZmZddlmZmZm	Z	m
Z
ddlmZm
Z
ddlmZmZmZejd�dd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�ZGdd�de�ZGdd�de�ZGdd�dej�ZGdd�dej�ZdS)�)�utils)�InvalidSignature�UnsupportedAlgorithm�_Reasons)�_calculate_digest_and_algorithm�_check_not_prehashed�_evp_pkey_derive�_warn_sign_verify_deprecated)�hashes�
serialization)�AsymmetricSignatureContext�AsymmetricVerificationContext�ec��signature_algorithmcCst|tj�stdtj��dS)Nz/Unsupported elliptic curve signature algorithm.)�
isinstancerZECDSArrZ UNSUPPORTED_PUBLIC_KEY_ALGORITHMr�r�M/usr/lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/ec.py�_check_signature_algorithms
�rcCs�|j�|�}|�||jjk�|j�|�}||jjkr>td��|jjs^|j�	|�dkr^td��|j�
|�}|�||jjk�|j�|��d�}|S)Nz@ECDSA keys with explicit parameters are unsupported at this timer�ascii)
�_lib�EC_KEY_get0_group�openssl_assert�_ffi�NULL�EC_GROUP_get_curve_nameZ	NID_undef�
ValueErrorZCRYPTOGRAPHY_IS_LIBRESSLZEC_GROUP_get_asn1_flagZ
OBJ_nid2sn�string�decode)�backendZec_key�groupZnidZ
curve_name�snrrr�_ec_key_curve_sn$s$����r"cCs|j�||jj�dS)z�
    Set the named curve flag on the EC_KEY. This causes OpenSSL to
    serialize EC keys along with their curve OID which makes
    deserialization easier.
    N)rZEC_KEY_set_asn1_flagZOPENSSL_EC_NAMED_CURVE)rZec_cdatarrr�_mark_asn1_named_ec_curveBs�r#cCs8ztj|�WSty2td�|�tj��Yn0dS)Nz${} is not a supported elliptic curve)rZ_CURVE_TYPES�KeyErrorr�formatrZUNSUPPORTED_ELLIPTIC_CURVE)rr!rrr�_sn_to_elliptic_curveNs�r&cCsz|j�|j�}|�|dk�|j�d|�}|j�dd�}|j�d|t|�|||j�}|�|dk�|j�|�d|d�S)Nrzunsigned char[]zunsigned int[]�)	rZ
ECDSA_size�_ec_keyrr�newZ
ECDSA_sign�len�buffer)r�private_key�dataZmax_sizeZsigbufZ
siglen_ptr�resrrr�_ecdsa_sig_signXs�r/cCs8|j�d|t|�|t|�|j�}|dkr4|��t�dS)Nrr')rZECDSA_verifyr*r(Z_consume_errorsr)r�
public_key�	signaturer-r.rrr�_ecdsa_sig_verifyes�r2c@s>eZdZejejd�dd�Zedd�dd�Z	ed�d	d
�Z
dS)�_ECDSASignatureContext)r,�	algorithmcCs||_||_t�||�|_dS�N)�_backend�_private_keyr
�Hash�_digest)�selfrr,r4rrr�__init__osz_ECDSASignatureContext.__init__N�r-�returncCs|j�|�dSr5�r9�update�r:r-rrrr?ysz_ECDSASignatureContext.update�r=cCs|j��}t|j|j|�Sr5)r9�finalizer/r6r7�r:ZdigestrrrrB|s
z_ECDSASignatureContext.finalize)�__name__�
__module__�__qualname__r�EllipticCurvePrivateKeyr
�
HashAlgorithmr;�bytesr?rBrrrrr3ns
�
r3c@s@eZdZejeejd�dd�Zedd�dd�Z	dd�d	d
�Z
dS)�_ECDSAVerificationContext)r0r1r4cCs$||_||_||_t�||�|_dSr5)r6�_public_key�
_signaturer
r8r9)r:rr0r1r4rrrr;�sz"_ECDSAVerificationContext.__init__Nr<cCs|j�|�dSr5r>r@rrrr?�sz _ECDSAVerificationContext.updaterAcCs"|j��}t|j|j|j|�dSr5)r9rBr2r6rKrLrCrrr�verify�s
�z _ECDSAVerificationContext.verify)rDrErFr�EllipticCurvePublicKeyrIr
rHr;r?rMrrrrrJ�s�rJc@s�eZdZdd�Ze�d�Zeed�dd��Z	e
jed�dd	�Z
e
je
jed
�dd�Ze
jd�d
d�Ze
jd�dd�Zejejejed�dd�Zee
jed�dd�ZdS)�_EllipticCurvePrivateKeycCs6||_||_||_t||�}t||�|_t||�dSr5�r6r(�	_evp_pkeyr"r&�_curver#�r:rZec_key_cdata�evp_pkeyr!rrrr;�s
z!_EllipticCurvePrivateKey.__init__rRrAcCs|jjSr5��curve�key_size�r:rrrrW�sz!_EllipticCurvePrivateKey.key_size)rr=cCs:t�t|�t|j�t|jtj�s*J�t|j||j�Sr5)	r	rrr4rr
rHr3r6)r:rrrr�signer�s

�z_EllipticCurvePrivateKey.signer)r4�peer_public_keyr=cCsD|j�||j�stdtj��|jj|jjkr4td��t|j|j	|�S)Nz1This backend does not support the ECDH algorithm.z2peer_public_key and self are not on the same curve)
r6Z+elliptic_curve_exchange_algorithm_supportedrVrrZUNSUPPORTED_EXCHANGE_ALGORITHM�namerrrQ)r:r4rZrrr�exchange�s����z!_EllipticCurvePrivateKey.exchangecCs�|jj�|j�}|j�||jjjk�|jj�|�}|j�|�}|jj�	|j�}|j�||jjjk�|jj�
||�}|j�|dk�|j�|�}t|j||�S)Nr')
r6rrr(rrrrZ_ec_key_new_by_curve_nid�EC_KEY_get0_public_keyZEC_KEY_set_public_keyZ_ec_cdata_to_evp_pkey�_EllipticCurvePublicKey)r:r Z	curve_nidZ
public_ec_key�pointr.rTrrrr0�sz#_EllipticCurvePrivateKey.public_keycCs2|jj�|j�}|j�|�}tj||����d�S)N)�
private_value�public_numbers)	r6rZEC_KEY_get0_private_keyr(�
_bn_to_intr�EllipticCurvePrivateNumbersr0ra)r:Zbnr`rrr�private_numbers�s
�z(_EllipticCurvePrivateKey.private_numbers)�encodingr%�encryption_algorithmr=cCs|j�|||||j|j�Sr5)r6Z_private_key_bytesrQr()r:rer%rfrrr�
private_bytes�s�z&_EllipticCurvePrivateKey.private_bytes)r-rr=cCs*t|�t|j||j�\}}t|j||�Sr5)rrr6�
_algorithmr/)r:r-rr4rrr�sign�s�z_EllipticCurvePrivateKey.signN)rDrErFr;r�read_only_propertyrV�property�intrWr�EllipticCurveSignatureAlgorithmrrYZECDHrNrIr\r0rcrdr�EncodingZ
PrivateFormatZKeySerializationEncryptionrgrirrrrrO�s*	
�
�
��rOc@s�eZdZdd�Ze�d�Zeed�dd��Z	e
eje
d�dd	�Zejd�d
d�Zeje
d�d
d�Zejeje
d�dd�Ze
e
ejdd�dd�ZdS)r^cCs6||_||_||_t||�}t||�|_t||�dSr5rPrSrrrr;s
z _EllipticCurvePublicKey.__init__rRrAcCs|jjSr5rUrXrrrrWsz _EllipticCurvePublicKey.key_size)r1rr=cCsHt�t�d|�t|�t|j�t|jtj�s6J�t	|j
|||j�S)Nr1)r	r�_check_bytesrrr4rr
rHrJr6)r:r1rrrr�verifiers
�z _EllipticCurvePublicKey.verifierc
Cs�|j�|j�\}}|jj�|j�}|j�||jjjk�|j���d}|jj�	|�}|jj�	|�}||||||�}|j�|dk�|j�
|�}|j�
|�}	Wd�n1s�0Ytj||	|j
d�S)Nr')�x�yrV)r6Z _ec_key_determine_group_get_funcr(rr]rrr�_tmp_bn_ctxZ
BN_CTX_getrbr�EllipticCurvePublicNumbersrR)
r:Zget_funcr r_�bn_ctxZbn_xZbn_yr.rqrrrrrras�*z&_EllipticCurvePublicKey.public_numbers)r%r=c		Cs&|tjjur|jjj}n|tjjus(J�|jjj}|jj�|j	�}|j�
||jjjk�|jj�
|j	�}|j�
||jjjk�|j���v}|jj�||||jjjd|�}|j�
|dk�|jj�d|�}|jj�||||||�}|j�
||k�Wd�n1�s0Y|jj�|�dd�S)Nrzchar[])r�PublicFormat�CompressedPointr6rZPOINT_CONVERSION_COMPRESSED�UncompressedPointZPOINT_CONVERSION_UNCOMPRESSEDrr(rrrr]rsZEC_POINT_point2octr)r+)	r:r%�
conversionr r_ru�buflen�bufr.rrr�
_encode_point2s&
��0z%_EllipticCurvePublicKey._encode_point)rer%r=cCsp|tjjus$|tjjus$|tjjurV|tjjusD|tjjtjjfvrLtd��|�|�S|j�	||||j
d�SdS)NzKX962 encoding must be used with CompressedPoint or UncompressedPoint format)rrnZX962rvrwrxrr|r6Z_public_key_bytesrQ)r:rer%rrr�public_bytesJs"
�
�
���
�z$_EllipticCurvePublicKey.public_bytesN)r1r-rr=cCs0t|�t|j||j�\}}t|j|||�dSr5)rrr6rhr2)r:r1r-rr4rrrrMcs�z_EllipticCurvePublicKey.verify)rDrErFr;rrjrVrkrlrWrIrrmr
rprtrarrvr|rnr}rMrrrrr^�s&	
���r^N)ZcryptographyrZcryptography.exceptionsrrrZ*cryptography.hazmat.backends.openssl.utilsrrrr	Zcryptography.hazmat.primitivesr
rZ)cryptography.hazmat.primitives.asymmetricrr
rrmrr"r#r&r/r2r3rJrGrOrNr^rrrr�<module>s�


	f