Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

Bump ecdsa from 0.16.1 to 0.17.0 #1381

Merged
merged 1 commit into from
May 31, 2021
Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 31, 2021

Bumps ecdsa from 0.16.1 to 0.17.0.

Release notes

Sourced from ecdsa's releases.

ecdsa 0.17.0

New API:

  • Keys that use explicit curve parameters can now be read and written. Reading of explicit curves can be disabled by using the valid_curve_encodings keyword argument in VerifyingKey.from_pem(), VerifyingKey.from_der(), SigningKey.from_pem(), and SigningKey.from_der().
  • Keys can now be written with use of explicit curve parameters, use curve_parameters_encoding keyword argument of VerifyingKey.to_pem(), VerifyingKey.to_der(), SigningKey.to_pem(), or SigningKey.to_der() to specify the format. By default named_curve will be used, unless the curve doesn't have an associated OID (as will be the case for an unsupported curve), then explicit encoding will be used.
  • Allow specifying acceptable point formats when loading public keys (this also fixes a minor bug where python-ecdsa would accept raw encoding for points in PKCS#8 files). Set of accepted encodings is controlled by valid_encodings keyword argument in ECDH.load_received_public_key_bytes(), VerifyingKey.from_string(), VerifyingKey.from_pem(), VerifyingKey.from_der().
  • PointJacobi and Point now inherit from AbstractPoint that implements the methods for parsing points. That added from_bytes() and to_bytes() methods to both of them.
  • Curve parameters can now be read and written to PEM and DER files. The Curve class supports new to_der(), from_der(), to_pem(), and from_pem() methods.

Doc fix:

  • Describe in detail which methods can raise RSZeroError, and that SigningKey.sign_deterministic() won't raise it.

Bug fix:

  • Correctly truncate hash values larger than the curve order (only impacted custom curves and the curves added in this release).
  • Correctly handle curves for which the order is larger than the prime (only impacted custom curves and the secp160r1 curve added in this release).
  • Fix the handling of == and != for Public_key, Private_key, Point, PointJacobi, VerifyingKey, and SigningKey so that it behaves consistently and in the expected way both in Python 2 and Python 3.
  • Implement lock-less algorithm inside PointJacobi for keeping shared state so that when calculation is aborted with KeyboardInterrupt, the state doesn't become corrupted (this fixes the occasional breakage of ecdsa in interactive shells).

New features:

  • The speed.py script now provides performance for signature verification without use of precomputation.
  • New curves supported: secp112r1, secp112r2, secp128r1, secp160r1.
  • Keys with explicit curve encoding are now supported.

Performance:

... (truncated)

Changelog

Sourced from ecdsa's changelog.

  • Release 0.17.0 (27 May 2021)

New API:

  • Keys that use explicit curve parameters can now be read and written. Reading of explicit curves can be disabled by using the valid_curve_encodings keyword argument in VerifyingKey.from_pem(), VerifyingKey.from_der(), SigningKey.from_pem(), and SigningKey.from_der().
  • Keys can now be written with use of explicit curve parameters, use curve_parameters_encoding keyword argument of VerifyingKey.to_pem(), VerifyingKey.to_der(), SigningKey.to_pem(), or SigningKey.to_der()to specify the format. By defaultnamed_curvewill be used, unless the curve doesn't have an associated OID (as will be the case for an unsupported curve), thenexplicit` encoding will be used.
  • Allow specifying acceptable point formats when loading public keys (this also fixes a minor bug where python-ecdsa would accept raw encoding for points in PKCS#8 files). Set of accepted encodings is controlled by valid_encodings keyword argument in ECDH.load_received_public_key_bytes(), VerifyingKey.from_string(), VerifyingKey.from_pem(), VerifyingKey.from_der()`.
  • PointJacobi and Point now inherit from AbstractPoint that implements the methods for parsing points. That added from_bytes() and to_bytes() methods to both of them.
  • Curve parameters can now be read and written to PEM and DER files. The Curve class supports new to_der(), from_der(), to_pem(), and from_pem() methods.

Doc fix:

  • Describe in detail which methods can raise RSZeroError, and that SigningKey.sign_deterministic() won't raise it.

Bug fix:

  • Correctly truncate hash values larger than the curve order (only impacted custom curves and the curves added in this release).
  • Correctly handle curves for which the order is larger than the prime (only impacted custom curves and the secp160r1 curve added in this release).
  • Fix the handling of == and != for Public_key, Private_key, Point, PointJacobi, VerifyingKey, and SigningKey so that it behaves consistently and in the expected way both in Python 2 and Python 3.
  • Implement lock-less algorithm inside PointJacobi for keeping shared state so that when a calculation is aborted with KeyboardInterrupt, the state doesn't become corrupted (this fixes the occasional breakage of ecdsa in interactive shells).

New features:

  • The speed.py script now provides performance for signature verification without the use of precomputation.
  • New curves supported: secp112r1, secp112r2, secp128r1, secp160r1.

Performance:

... (truncated)

Commits
  • 5aa87c5 release 0.17.0
  • 634e5b0 Merge pull request #252 from tomato42/explicit-curve-params
  • 1ea4aef fix CI on py3.4
  • 77cabc0 add tox environment for formatting code with black
  • 717c04c add support for writing keys with explicit curve parameters
  • c7e285a support reading keys with explicitly encoded curve parameters
  • 2574d21 support for limiting acceptable curve encodings
  • 5ddcd9b support for PEM format for EC parameters
  • 078882e add support for reading and writing curve parameters in DER
  • 315f312 move parsing of points from VerifyingKey to parent class of points
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label May 31, 2021
@leplatrem leplatrem merged commit 0d4f599 into master May 31, 2021
@dependabot dependabot bot deleted the dependabot/pip/ecdsa-0.17.0 branch May 31, 2021 12:26
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant