Upgrading ecdsa 0.16 to 0.17
Review needed0.16.1 → 0.17.0New8Changed2Fixed4Other5
Review neededUpgrade verdict
2 changed defaults.
In plain terms
- Nothing in this range needs changes to your code. It adds features and fixes.
Must act Nothing to change
No breaking, platform, security or deprecated items in this range.
Nothing in this upgrade needs a code or configuration change.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
export six
- added:
method Curve.to_der(encoding=…, point_encoding=…) - added:
method Curve.to_pem(encoding=…, point_encoding=…) - added:
static method Curve.from_der(data, valid_encodings=…) - added:
static method Curve.from_pem(string, valid_encodings=…) - added:
variable CHARACTERISTIC_TWO_FIELD_OID - added:
variable PRIME_FIELD_OID - added:
variable SECP112r1 - added:
variable SECP112r2 - added:
variable SECP128r1 - added:
variable SECP160r1
- changed:
method ECDH.load_received_public_key_bytes(public_key_str) → method ECDH.load_received_public_key_bytes(public_key_str, valid_encodings=…)
- added:
variable curve_112r1 - added:
variable curve_112r2 - added:
variable curve_128r1 - added:
variable curve_160r1 - added:
variable generator_112r1 - added:
variable generator_112r2 - added:
variable generator_128r1 - added:
variable generator_160r1
- changed:
class Point(object) → class Point(AbstractPoint) - changed:
class PointJacobi(object) → class PointJacobi(AbstractPoint) - added:
class AbstractPoint(object) - added:
method AbstractPoint.to_bytes(encoding=…) - added:
static method AbstractPoint.from_bytes(curve, data, validate_encoding=…, valid_encodings=…) - added:
static method Point.from_bytes(curve, data, validate_encoding=…, valid_encodings=…, order=…) - added:
static method PointJacobi.from_bytes(curve, data, validate_encoding=…, valid_encodings=…, order=…, generator=…)
- added:
class MalformedPointError(AssertionError)
- removed:
class MalformedPointError(AssertionError) - changed:
method SigningKey.to_der(point_encoding=…, format=…) → method SigningKey.to_der(point_encoding=…, format=…, curve_parameters_encoding=…) - changed:
method SigningKey.to_pem(point_encoding=…, format=…) → method SigningKey.to_pem(point_encoding=…, format=…, curve_parameters_encoding=…) - changed:
method VerifyingKey.to_der(point_encoding=…) → method VerifyingKey.to_der(point_encoding=…, curve_parameters_encoding=…) - changed:
method VerifyingKey.to_pem(point_encoding=…) → method VerifyingKey.to_pem(point_encoding=…, curve_parameters_encoding=…) - changed:
static method SigningKey.from_der(string, hashfunc=…) → static method SigningKey.from_der(string, hashfunc=…, valid_curve_encodings=…) - changed:
static method SigningKey.from_pem(string, hashfunc=…) → static method SigningKey.from_pem(string, hashfunc=…, valid_curve_encodings=…) - changed:
static method VerifyingKey.from_der(string, hashfunc=…) → static method VerifyingKey.from_der(string, hashfunc=…, valid_encodings=…, valid_curve_encodings=…) - changed:
static method VerifyingKey.from_pem(string, hashfunc=…) → static method VerifyingKey.from_pem(string, hashfunc=…, valid_encodings=…, valid_curve_encodings=…) - changed:
static method VerifyingKey.from_public_key_recovery(signature, data, curve, hashfunc=…, sigdecode=…) → static method VerifyingKey.from_public_key_recovery(signature, data, curve, hashfunc=…, sigdecode=…, allow_truncate=…) - changed:
static method VerifyingKey.from_public_key_recovery_with_digest(signature, digest, curve, hashfunc=…, sigdecode=…) → static method VerifyingKey.from_public_key_recovery_with_digest(signature, digest, curve, hashfunc=…, sigdecode=…, allow_truncate=…) - changed:
static method VerifyingKey.from_string(string, curve=…, hashfunc=…, validate_point=…) → static method VerifyingKey.from_string(string, curve=…, hashfunc=…, validate_point=…, valid_encodings=…) - added:
export MalformedPointError
- added:
class TestParameterEncoding(unittest.TestCase) - added:
function test_curve_params_encode_decode_default(curve) - added:
function test_curve_params_encode_decode_explicit(curve) - added:
function test_curve_params_encode_decode_explicit_compressed(curve) - added:
function test_curve_params_encode_decode_named(curve) - added:
method TestParameterEncoding.test_compare_curves_with_different_generators() - added:
method TestParameterEncoding.test_compare_with_different_object() - added:
method TestParameterEncoding.test_decode_malformed_explicit_garbage_after_ECParam() - added:
method TestParameterEncoding.test_decode_malformed_garbage_after_prime() - added:
method TestParameterEncoding.test_decode_malformed_named_curve() - added:
method TestParameterEncoding.test_decode_malformed_unknown_field_type() - added:
method TestParameterEncoding.test_decode_malformed_unknown_version_number() - added:
method TestParameterEncoding.test_decoding_explicit_from_openssl() - added:
method TestParameterEncoding.test_decoding_well_known_from_explicit_params() - added:
method TestParameterEncoding.test_decoding_with_incorrect_valid_encodings() - added:
method TestParameterEncoding.test_default_encode_for_custom_curve() - added:
method TestParameterEncoding.test_encoding_to_explicit_compressed_params() - added:
method TestParameterEncoding.test_encoding_to_explicit_params() - added:
method TestParameterEncoding.test_from_pem() - added:
method TestParameterEncoding.test_from_pem_with_explicit_when_explicit_disabled() - added:
method TestParameterEncoding.test_from_pem_with_named_curve_with_named_curve_disabled() - added:
method TestParameterEncoding.test_from_pem_with_wrong_header() - added:
method TestParameterEncoding.test_named_curve_encode_for_custom_curve() - added:
method TestParameterEncoding.test_named_curve_params_der() - added:
method TestParameterEncoding.test_to_pem() - added:
method TestParameterEncoding.test_try_decoding_binary_explicit() - added:
method TestParameterEncoding.test_verify_that_default_is_named_curve_der() - added:
static method TestParameterEncoding.setUpClass()
- added:
class TestRemoveConstructed(unittest.TestCase) - added:
class TestRemoveOctetString(unittest.TestCase) - added:
class TestRemoveSequence(unittest.TestCase) - added:
method TestRemoveConstructed.test_simple() - added:
method TestRemoveConstructed.test_with_malformed_tag() - added:
method TestRemoveInteger.test_wrong_length() - added:
method TestRemoveInteger.test_wrong_tag() - added:
method TestRemoveOctetString.test_simple() - added:
method TestRemoveOctetString.test_with_malformed_tag() - added:
method TestRemoveSequence.test_simple() - added:
method TestRemoveSequence.test_with_empty_string() - added:
method TestRemoveSequence.test_with_wrong_length() - added:
method TestRemoveSequence.test_with_wrong_tag()
- added:
class TestECDH(unittest.TestCase) - added:
function test_ecdh_both_keys_present() - added:
method TestECDH.test_generate_without_curve() - added:
method TestECDH.test_load_bytes_without_curve_set() - added:
method TestECDH.test_load_key_from_wrong_curve() - added:
method TestECDH.test_set_curve_from_received_public_key()
- added:
class TestPublicKeyVerifies(unittest.TestCase) - added:
function test_int_to_string_with_zero() - added:
method TestPublicKey.test_inequality_different_curves() - added:
method TestPublicKey.test_invalid_point_x_equal_p() - added:
method TestPublicKey.test_invalid_point_x_negative() - added:
method TestPublicKey.test_invalid_point_y_equal_p() - added:
method TestPublicKey.test_invalid_point_y_negative() - added:
method TestPublicKey.test_point_is_valid_with_not_scalar_multiple_of_base_point() - added:
method TestPublicKey.test_public_key_with_generator_without_order() - added:
method TestPublicKey.test_public_point_on_curve_not_scalar_multiple_of_base_point() - added:
method TestPublicKeyVerifies.test_sig_with_r_order() - added:
method TestPublicKeyVerifies.test_sig_with_r_zero() - added:
method TestPublicKeyVerifies.test_sig_with_s_order() - added:
method TestPublicKeyVerifies.test_sig_with_s_zero() - added:
static method TestPublicKeyVerifies.setUpClass()
- added:
method TestJacobi.test_add_different_scale_points_static() - added:
method TestJacobi.test_add_same_scale_points_static() - added:
method TestJacobi.test_equality_with_invalid_object() - added:
method TestJacobi.test_equality_with_wrong_curves() - added:
method TestJacobi.test_mul_add_differnt() - added:
method TestJacobi.test_mul_add_slightly_different() - added:
method TestJacobi.test_mul_add_with_doubled_negation_of_itself() - added:
method TestJacobi.test_mul_add_with_infinity_as_result() - added:
method TestJacobi.test_mul_add_without_order() - added:
method TestJacobi.test_mul_without_order() - added:
method TestJacobi.test_multithreading(thread_num) - added:
method TestJacobi.test_multithreading_with_interrupts() - added:
variable NO_OLD_SETTINGS
- added:
class TestTrivialCurve(unittest.TestCase) - added:
function test_SigningKey_with_custom_curve_old_point() - added:
function test_VerifyingKey_inequality_with_different_curves() - added:
function test_VerifyingKey_inequality_with_different_secret_points() - added:
method TestSigningKey.test_decoding_explicit_curve_parameters() - added:
method TestSigningKey.test_decoding_explicit_curve_parameters_with_explicit_disabled() - added:
method TestTrivialCurve.test_deterministic_sign() - added:
method TestTrivialCurve.test_deterministic_sign_random_message() - added:
method TestTrivialCurve.test_deterministic_sign_that_rises_R_zero_error() - added:
method TestTrivialCurve.test_deterministic_sign_that_rises_S_zero_error() - added:
method TestTrivialCurve.test_generator_sanity() - added:
method TestTrivialCurve.test_public_key_sanity() - added:
method TestVerifyingKeyFromDer.test_SigningKey_inequality_on_same_curve() - added:
method TestVerifyingKeyFromDer.test_VerifyingKey_inequality_on_same_curve() - added:
method TestVerifyingKeyFromDer.test_from_public_point_old() - added:
method TestVerifyingKeyFromDer.test_inequality_on_wrong_types() - added:
method TestVerifyingKeyFromDer.test_load_key_with_disabled_format() - added:
method TestVerifyingKeyFromDer.test_load_key_with_explicit_parameters() - added:
method TestVerifyingKeyFromDer.test_load_key_with_explicit_with_explicit_disabled() - added:
static method TestTrivialCurve.setUpClass()
- added:
class TestIsPrime(unittest.TestCase) - added:
function test_square_root_mod_prime_for_2() - added:
function test_square_root_mod_prime_for_p_congruent_5() - added:
function test_square_root_mod_prime_for_p_congruent_5_large_d() - added:
function test_square_root_mod_prime_for_small_prime() - added:
method TestIsPrime.test_large_prime() - added:
method TestIsPrime.test_medium_non_trivial_composite() - added:
method TestIsPrime.test_medium_prime_1() - added:
method TestIsPrime.test_medium_prime_2() - added:
method TestIsPrime.test_medium_trivial_composite() - added:
method TestIsPrime.test_small_prime() - added:
method TestIsPrime.test_special_composite() - added:
method TestIsPrime.test_very_small_composite() - added:
method TestIsPrime.test_very_small_prime() - added:
method TestNumbertheory.test_factorisation_not_smallprimes() - added:
method TestNumbertheory.test_factorisation_smallprimes() - added:
method TestNumbertheory.test_jacobi_with_one() - added:
method TestNumbertheory.test_jacobi_with_zero()
- added:
method ECDSA.test_compressed_decoding_with_blocked_format() - added:
method ECDSA.test_decoding_with_unknown_format() - added:
method ECDSA.test_hybrid_decoding_with_blocked_format() - added:
method ECDSA.test_raw_decoding_with_blocked_format() - added:
method ECDSA.test_uncompressed_decoding_as_only_alowed() - added:
method ECDSA.test_uncompressed_decoding_with_blocked_format() - added:
method OpenSSL.test_from_openssl_secp112r1() - added:
method OpenSSL.test_from_openssl_secp112r2() - added:
method OpenSSL.test_from_openssl_secp128r1() - added:
method OpenSSL.test_from_openssl_secp160r1() - added:
method OpenSSL.test_to_openssl_secp112r1() - added:
method OpenSSL.test_to_openssl_secp112r2() - added:
method OpenSSL.test_to_openssl_secp128r1() - added:
method OpenSSL.test_to_openssl_secp160r1() - added:
method Util.test_trytryagain_single()