1275 Commits
Author SHA1 Message Date
Tony Arcieri 5082a5139f Rename digest::Signature to 'Digestable'
Re-exported as `signature::Digestable`, and acts as a marker trait for
cases where signatures can be computed using `Digest`.
2019-03-29 12:32:17 -07:00
Tony Arcieri 0ed928c3e1 Digestable signatures: signature::digest::Signature
Adds a marker trait for `Signature` types computable as `S(H(m))` where:

- `S`: signature algorithm
- `H`: hash (a.k.a. digest) function
- `m`: message

For signature types that implement this trait, a blanket impl of
`Signer` will be provided for all types that
`impl signature::digest::Signer`.
2019-03-29 12:21:52 -07:00
Tony Arcieri c3f4fb517d Merge pull request #11 from RustCrypto/refactor-back-to-signer-verifier
Rename to Signer/Verifier; add 'digest' module
2019-03-29 12:15:20 -07:00
Tony Arcieri 58b4b11f3a Rename to Signer/Verifier; add 'digest' module
Some sweeping refactoring here which hopefully cleans up the project
organization and helps simplify its implementation:

- `Sign` => `Signer`, `Verify` => `Verifier`
- Move all `digest`-related functionality under the `digest` module:
  - `signature::digest::Signer`
  - `signature::digest::Verifier`
- Re-export `::digest::Digest` as `signature::digest::Digest`
- Remove `Send` + `Sync` bounds on traits: if people wants these bounds
  they can add them themselves.
2019-03-29 12:09:19 -07:00
Tony Arcieri 502c5070bc Merge pull request #7 from RustCrypto/sign-and-verify-traits
Signing and verification traits
2019-03-26 10:00:29 -07:00
Tony Arcieri c438c2c038 SignDigest and VerifyDigest traits
Support for signing and verifying prehashed message `Digest`s, for use
with signature algorithms that support Initialize-Update-Finalize usage.
2019-03-24 13:13:42 -07:00
Tony Arcieri 9fd884ce37 verify.rs: Initial Verify trait 2019-03-24 13:00:14 -07:00
Tony Arcieri 1f7efa6564 sign.rs: Initial Sign trait
Trait for producing digital signatures
2019-03-24 12:56:22 -07:00
Tony Arcieri fd069dc0ff Merge pull request #6 from RustCrypto/boilerplate-fixups
Cargo.toml: Add more information and improve formatting
2019-03-24 12:53:54 -07:00
Tony Arcieri a8cd5499a2 lib.rs: Improve comments and other minor cleanups 2019-03-24 12:47:42 -07:00
Tony Arcieri fccbfee2fb Cargo.toml: Add more information and improve formatting 2019-03-24 12:46:53 -07:00
Tony Arcieri 722a9dda71 Merge pull request #5 from RustCrypto/error-type-improvements
Improved signature::error::Error with cause
2019-03-24 12:44:34 -07:00
Tony Arcieri b5803b676e Improved signature::error::Error with cause
Replaces the previous error enum with a struct that, on `std`, contains
an optional cause which is captured as `Box<std::error::Error>`.

This allows the core signature traits to remain object safe (since they
don't need a generic error type) but also allows passing through a
provider-specific error type, e.g. for HSMs which may have any number
of errors which prevent a signature operation from occuring (e.g. I/O
errors, authentication errors, missing keys).

It also includes downcast methods that conveniently allow extracting
provider-specific errors as concrete types if so desired.
2019-03-24 12:27:55 -07:00
Tony Arcieri 4ecb1be5c8 Merge pull request #4 from RustCrypto/readme/initial-content
README.md: Initial content + license info
2019-03-24 12:26:48 -07:00
Tony Arcieri 5d64f6b966 README.md: Initial content 2019-03-24 12:21:26 -07:00
Tony Arcieri cd73898bce Merge pull request #3 from RustCrypto/travis-ci/rustfmt-clippy-docs-no-std-target
.travis.yml: Check rustfmt, clippy, docs build, WASM + no_std target builds
2019-03-24 11:50:34 -07:00
Tony Arcieri d55fcee4f2 signature-crate: Fix rustfmt 2019-03-24 11:41:13 -07:00
Tony Arcieri 6c8997ba8d .travis.yml: Check rustfmt, clippy, docs build, WASM + no_std targets 2019-03-24 11:37:02 -07:00
Tony Arcieri 52ed3e50e2 Merge pull request #1 from RustCrypto/signature-trait
Initial Signature trait and Error enum
2018-11-13 10:48:19 -08:00
Tony Arcieri a573b58805 Initial Signature trait and Error enum
Adds a `Signature` trait which serialized signature types implement.

Adds an initial `Error` type to be returned from `Signature::from_bytes`
in the event the signature is not valid.
2018-11-10 13:53:15 -08:00
Tony Arcieri f6e3e7603c Merge pull request #2 from RustCrypto/travis-config
.travis.yml: Initial Travis CI configuration
2018-11-10 13:51:52 -08:00
Tony Arcieri 8c5b2040c0 .travis.yml: Initial Travis CI configuration 2018-11-10 13:47:01 -08:00
Tony Arcieri a4ea243cb1 Rename 'signature-traits' crate to 'signature' 2018-10-30 16:57:26 -07:00
Tony Arcieri 48f1e50395 initial skeleton 2018-10-30 16:49:01 -07:00
Tony Arcieri 14d59f592f first commit 2018-10-30 16:29:20 -07:00