HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/ecdsa/__pycache__/test_curves.cpython-310.pyc
o

�h3�@s<zddlZWn
eyddlZYnwddlZddlZddlmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZGdd�dej�ZGd	d
�d
ej�Zejjdedd
�eD�d�dd��Zejjdedd
�eD�d�dd��Zejjdedd
�eD�d�dd��Zejjdedd
�eD�d�dd��ZdS)�N�)�Curve�NIST256p�curves�UnknownCurveError�PRIME_FIELD_OID�
curve_by_name)�CurveFp�PointJacobi�	CurveEdTw)�der)�number_to_stringc@s�eZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1S)2�TestParameterEncodingcCs
d|_dS)Na0MIHgAgEBMCwGByqGSM49AQECIQD/////AAAAAQAAAAAAAAAAAAAAAP///////////////zBEBCD/////AAAAAQAAAAAAAAAAAAAAAP///////////////AQgWsY12Ko6k+ez671VdpiGvGUdBrDMU7D2O848PifSYEsEQQRrF9Hy4SxCR/i85uVjpEDydwN9gS3rM6D0oTlF2JjClk/jQuL+Gn+bjufrSnwPnhYrzjNXazFezsu2QGg3v1H1AiEA/////wAAAAD//////////7zm+q2nF56E87nKwvxjJVECAQE=)�
base64_params)�cls�r�D/usr/local/CyberCP/lib/python3.10/site-packages/ecdsa/test_curves.py�
setUpClasss�z TestParameterEncoding.setUpClasscCsd}t�|�}|�|t�dS)N�o-----BEGIN EC PARAMETERS-----
MIHgAgEBMCwGByqGSM49AQECIQD/////AAAAAQAAAAAAAAAAAAAAAP/////////
//////zBEBCD/////AAAAAQAAAAAAAAAAAAAAAP///////////////AQgWsY12K
o6k+ez671VdpiGvGUdBrDMU7D2O848PifSYEsEQQRrF9Hy4SxCR/i85uVjpEDyd
wN9gS3rM6D0oTlF2JjClk/jQuL+Gn+bjufrSnwPnhYrzjNXazFezsu2QGg3v1H1
AiEA/////wAAAAD//////////7zm+q2nF56E87nKwvxjJVECAQE=
-----END EC PARAMETERS-----
)r�from_pem�assertIsr)�self�
pem_params�curverrr�
test_from_pem"s�
	z#TestParameterEncoding.test_from_pemcC�Td}|�tj��}t�|dg�Wd�n1swY|�dt|j��dS)Nr�named_curvezexplicit curve parameters not��assertRaisesr�
UnexpectedDERrr�assertIn�str�	exception�rr�errr�2test_from_pem_with_explicit_when_explicit_disabled0s�	�zHTestParameterEncoding.test_from_pem_with_explicit_when_explicit_disabledcCr)NzK-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
�explicitz named_curve curve parameters notrr#rrr�8test_from_pem_with_named_curve_with_named_curve_disabled?s��zNTestParameterEncoding.test_from_pem_with_named_curve_with_named_curve_disabledcCsPd}|�tj��
}t�|�Wd�n1swY|�dt|j��dS)Nai-----BEGIN PARAMETERS-----
MIHgAgEBMCwGByqGSM49AQECIQD/////AAAAAQAAAAAAAAAAAAAAAP/////////
//////zBEBCD/////AAAAAQAAAAAAAAAAAAAAAP///////////////AQgWsY12K
o6k+ez671VdpiGvGUdBrDMU7D2O848PifSYEsEQQRrF9Hy4SxCR/i85uVjpEDyd
wN9gS3rM6D0oTlF2JjClk/jQuL+Gn+bjufrSnwPnhYrzjNXazFezsu2QGg3v1H1
AiEA/////wAAAAD//////////7zm+q2nF56E87nKwvxjJVECAQE=
-----END PARAMETERS-----
zPARAMETERS PEM headerrr#rrr�test_from_pem_with_wrong_headerJs�	�z5TestParameterEncoding.test_from_pem_with_wrong_headercCsd}t��}|�||�dS)NsK-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
)r�to_pem�assertEqual)rr�encodingrrr�test_to_pemYs�z!TestParameterEncoding.test_to_pemcCs|�td�dS)N�)�assertNotEqualr)rrrr�"test_compare_with_different_objectcsz8TestParameterEncoding.test_compare_with_different_objectcCst��}|�d|�dS)Ns
*�H�=�r�to_derr*�r�encodedrrr�test_named_curve_params_derfsz1TestParameterEncoding.test_named_curve_params_dercCs"t��}t�d�}|�||�dS�Nrr0)r�encoded_default�
encoded_namedrrr�+test_verify_that_default_is_named_curve_derls
zATestParameterEncoding.test_verify_that_default_is_named_curve_dercCs&t�d�}|�|tt�|j���dS�Nr&)rr1r*�bytes�base64�	b64decoderr2rrr� test_encoding_to_explicit_paramsrs
z6TestParameterEncoding.test_encoding_to_explicit_paramscCsJ|�t��
}t�d�Wd�n1swY|�dt|j��dS)N�unsupportedzOnly 'named_curve')r�
ValueErrorrr1r r!r"�rr$rrr�!test_encoding_to_unsupported_typews�z7TestParameterEncoding.test_encoding_to_unsupported_typecCs*t�dd�}d}|�|tt�|���dS)Nr&�
compressedaMIHAAgEBMCwGByqGSM49AQECIQD/////AAAAAQAAAAAAAAAAAAAAAP///////////////zBEBCD/////AAAAAQAAAAAAAAAAAAAAAP///////////////AQgWsY12Ko6k+ez671VdpiGvGUdBrDMU7D2O848PifSYEsEIQNrF9Hy4SxCR/i85uVjpEDydwN9gS3rM6D0oTlF2JjClgIhAP////8AAAAA//////////+85vqtpxeehPO5ysL8YyVRAgEB)rr1r*r:r;r<)rr3�compressed_base_pointrrr�+test_encoding_to_explicit_compressed_params}s��zATestParameterEncoding.test_encoding_to_explicit_compressed_paramscCs(d}t�tt�|���}|�t|�dS)NaPMIH3AgEBMCwGByqGSM49AQECIQD/////AAAAAQAAAAAAAAAAAAAAAP///////////////zBbBCD/////AAAAAQAAAAAAAAAAAAAAAP///////////////AQgWsY12Ko6k+ez671VdpiGvGUdBrDMU7D2O848PifSYEsDFQDEnTYIhucEk2pmeOETnSa3gZ9+kARBBGsX0fLhLEJH+Lzm5WOkQPJ3A32BLeszoPShOUXYmMKWT+NC4v4af5uO5+tKfA+eFivOM1drMV7Oy7ZAaDe/UfUCIQD/////AAAAAP//////////vOb6racXnoTzucrC/GMlUQIBAQ==)r�from_derr:r;r<r*r)r�
p256_explicit�decodedrrr�#test_decoding_explicit_from_openssl�s�	z9TestParameterEncoding.test_decoding_explicit_from_opensslcCs&t�tt�|j���}|�|t�dS�N)rrEr:r;r<rrr)rrrrr�-test_decoding_well_known_from_explicit_params�szCTestParameterEncoding.test_decoding_well_known_from_explicit_paramscCsN|�t��}t�ddg�Wd�n1swY|�dt|j��dS)N��
explicitCAzOnly named_curve)rr?rrEr r!r"r@rrr�,test_decoding_with_incorrect_valid_encodings�s�zBTestParameterEncoding.test_decoding_with_incorrect_valid_encodingscCs`tddd�}t|dddddd�}t|dd	dddd�}td
||d�}td
||d�}|�||�dS)N�r��
��	T��	generator��unknown)r	r
rr.)r�curve_fp�base_a�base_b�curve_a�curve_brrr�-test_compare_curves_with_different_generators�szCTestParameterEncoding.test_compare_curves_with_different_generatorscCsjtddd�}t|dddddd�}td	||d�}|��}t�|�}|�||�d
}|�|tt�|���dS)NrNrrOrPrQrRTrSrVz0MCECAQEwDAYHKoZIzj0BAQIBFzAGBAEBBAEHBAMEDQMCAQk=)	r	r
rr1rEr*r:r;r<)rrW�
base_pointrr3rG�expectedrrr�$test_default_encode_for_custom_curve�s
z:TestParameterEncoding.test_default_encode_for_custom_curvecCsxtddd�}t|dddddd�}td	||d�}|�t��
}|�d
�Wd�n1s,wY|�dt|j��dS)NrNrrOrPrQrRTrSrVrzCan't encode curve)	r	r
rrrr1r r!r")rrWr]rr$rrr�(test_named_curve_encode_for_custom_curve�s�z>TestParameterEncoding.test_named_curve_encode_for_custom_curvecCsTd}|�t��}t�t�|��Wd�n1swY|�dt|j��dS)Nz�MIGRAgEBMBwGByqGSM49AQIwEQIBcQYJKoZIzj0BAgMCAgEJMDkEDwAwiCUMpufH/mSc6Fgg9wQPAOi+5NPiJgdEGIvg6ccjAxUAEOcjqxTWluZ2h1YVF1b+v4/LSakEHwQAnXNhbzX0qxQH1zViwQ8ApSgwJ3lY7oTRMV7TGIYCDwEAAAAAAAAA2czsijnlbwIBAg==z#Characteristic 2 curves unsupported)	rrrrEr;r<r r!r")r�sect113r1_explicitr$rrr�!test_try_decoding_binary_explicit�s��z7TestParameterEncoding.test_try_decoding_binary_explicitcCsbtjtj�t�d�}|�tj��
}t�|�Wd�n1s!wY|�	dt
|j��dS)NrzUnexpected data after OID)r�
encode_oidr�oid�encode_integerrrrrEr r!r"�r�bad_derr$rrr�!test_decode_malformed_named_curve�s
�z7TestParameterEncoding.test_decode_malformed_named_curvecCsftt�|j��t�d�}|�tj��
}t�	|�Wd�n1s#wY|�
dt|j��dS)Nrz"Unexpected data after ECParameters)
r:r;r<rrrerrrrEr r!r"rfrrr�4test_decode_malformed_explicit_garbage_after_ECParam�s
���zJTestParameterEncoding.test_decode_malformed_explicit_garbage_after_ECParamcCs\t�t�d��}|�tj��
}t�|�Wd�n1swY|�dt|j	��dS)N�z!Unknown parameter encoding format)
r�encode_sequencererrrrEr r!r"rfrrr�,test_decode_malformed_unknown_version_number�s
�zBTestParameterEncoding.test_decode_malformed_unknown_version_numbercCs�tj��}t�t�d�t�t�ddd�t�|��t�t�ttj�	�||��t�ttj�
�|���t�tj�d��t�tj�
���}|�t��
}t�|�Wd�n1sWwY|�dt|j��dS)NrrjrQ�uncompressedzUnknown field type: (1, 2, 3))rr�prrkrerc�encode_octet_stringr
�a�brT�to_bytes�orderrrrrEr r!r"�r�curve_prgr$rrr�(test_decode_malformed_unknown_field_type�s.
����
���z>TestParameterEncoding.test_decode_malformed_unknown_field_typecCs�tj��}t�t�d�t�tjt�t�|�t�d��t�t�t	tj�
�||��t�t	tj��|���t�tj�
d��t�tj����}|�tj��
}t�|�Wd�n1sZwY|�dt|j��dS)NrrmzPrime-p element)rrrnrrkrercrror
rprqrTrrrsrrrrEr r!r"rtrrr�)test_decode_malformed_garbage_after_prime
s2
����
���z?TestParameterEncoding.test_decode_malformed_garbage_after_primeN)�__name__�
__module__�__qualname__�classmethodrrr%r'r(r,r/r4r8r=rArDrHrJrMr\r_r`rbrhrirlrvrwrrrrrs4




rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestCurveSearchingcC�td�}|�|t�dS)Nr�rrr�r�crrr�test_correct_name+�z$TestCurveSearching.test_correct_namecCr})N�
prime256v1r~rrrr�test_openssl_name/r�z$TestCurveSearching.test_openssl_namecCsH|�t��}td�Wd�n1swY|�dt|j��dS)Nzfoo barzFname 'foo bar' unknown, only curves supported: ['NIST192p', 'NIST224p'�rrrr r!r"r@rrr�test_unknown_curve3�
��z%TestCurveSearching.test_unknown_curvecCsH|�t��}td�Wd�n1swY|�dt|j��dS)NzAname None unknown, only curves supported: ['NIST192p', 'NIST224p'r�r@rrr�test_with_None_as_parameter=r�z.TestCurveSearching.test_with_None_as_parameterN)rxryrzr�r�r�r�rrrrr|*s

r|rcC�g|]}|j�qSr��name��.0�irrr�
<listcomp>H�r�)�idscCs t�|�d��}||ksJ�dSr5�rrEr1�r�retrrr�%test_curve_params_encode_decode_namedHsr�cCr�rr�r�rrrr�Or�cCsft|jt�r#t�t��|�d�Wd�dS1swYdSt�|�d��}||ks1J�dSr9�	�
isinstancerr�pytest�raisesrr1rrEr�rrr�(test_curve_params_encode_decode_explicitOs"�r�cCr�rr�r�rrrr�Zr�cCst�|���}||ks
J�dSrIr�r�rrr�'test_curve_params_encode_decode_defaultZsr�cCr�rr�r�rrrr�ar�cCsjt|jt�r$t�t��|�dd�Wd�dS1swYdSt�|�dd��}||ks3J�dS)Nr&rBr�r�rrr�3test_curve_params_encode_decode_explicit_compressedas"�r�)�	unittest2�unittest�ImportErrorr;r�rrrrrr�
ellipticcurver	r
r�r�utilr
�TestCaserr|�mark�parametrizer�r�r�r�rrrr�<module>s.�