For `ecdsa` crate: MSRV is 1.73 due to a bump of `elliptic-curve` to
v0.14.0-pre.0.
This commit begins the next round of breaking changes and bumps all
crates to prerelease versions.
The main change in `signature` is an upgrade of the `digest` crate to
v0.11.0-pre.3, which is what brings the new MSRV 1.71 requirement.
Basically all of the `actions-rs/*` actions are unmaintained. See
<https://github.com/actions-rs/toolchain/issues/216> for more
information. Due to their age they generate several warnings in
CI runs.
To get rid of some of those warnings the occurrences of
`actions-rs/toolchain` are replaced by `dtolnay/rust-toolchain`,
and the occurrences of `actions-rs/cargo` are replaced by direct
invocations of `cargo`.
Since workspaces have to be bumped to MSRV 1.60 at the same time, this
also bumps the MSRV of other crates in this repo along with bumping
their version numbers to `-pre`.
There are various feature combinations around `serde` which weren't
working.
This commit fixes those combinations, adds TODOs to eventually simplify
the feature combinations so they aren't needed, and adds CI to ensure it
builds with all feature combinations.
The `elliptic-curve` crate as well as format parsers including `der`,
`sec1`, and `pkcs8` have all been bumped to the 2021 edition:
https://github.com/RustCrypto/traits/pull/795
This commit updates the `ecdsa` crate to the 2021 edition accordingly.
Adds a `ecdsa::verifier::Verifier` facade which handles parsing of
`PublicKey` and computing digests of messages, ala the `Signer` facade
added in #109.
The implementation is generic over the elliptic curve and digest
function, providing a `DigestVerifier` impl, and when the curve type
impls `DigestPrimitive`, a `Verifier` impl as well.
Adds a `ecdsa::signer::Signer` facade which handles parsing of
`SecretKey` data and zeroization of the private scalar.
The implementation is generic over the elliptic curve and digest
function, providing a `RandomizedDigestSigner` impl, and also when the
curve type impls `DigestPrimitive`, a `RandomizedSigner` impl.
Bumps the following crate dependencies, which all now depend on
`generic-array` v0.14:
- `elliptic-curve` v0.4.0
- `k256` v0.3.0
- `p256` v0.3.0
- `p384` v0.2.0
Also re-exports `generic-array` from the `elliptic-curve` crate rather
than depending on it directly, which simplifies upgrades.