Commit Graph

114 Commits

Author SHA1 Message Date
dependabot[bot] 8ffefcbc5d
Bump der from 0.7.8 to 0.7.9 (#119)
Bumps [der](https://github.com/RustCrypto/formats) from 0.7.8 to 0.7.9.
- [Commits](https://github.com/RustCrypto/formats/compare/der/v0.7.8...der/v0.7.9)

---
updated-dependencies:
- dependency-name: der
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 17:09:15 -03:00
dependabot[bot] 174e6e0e38
Bump color-eyre from 0.6.2 to 0.6.3 (#118)
Bumps [color-eyre](https://github.com/eyre-rs/eyre) from 0.6.2 to 0.6.3.
- [Commits](https://github.com/eyre-rs/eyre/compare/v0.6.2...color-eyre-v0.6.3)

---
updated-dependencies:
- dependency-name: color-eyre
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 17:08:07 -03:00
dependabot[bot] 7a9f1d5a2d
Bump curve25519-dalek from 4.1.1 to 4.1.2 (#114)
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/curve25519-4.1.1...curve25519-4.1.2)

---
updated-dependencies:
- dependency-name: curve25519-dalek
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 17:00:53 -03:00
dependabot[bot] f0feeb93c6
Bump serde from 1.0.193 to 1.0.197 (#116)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.193 to 1.0.197.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.197)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 16:47:05 -03:00
dependabot[bot] c39bd4364a
Bump once_cell from 1.18.0 to 1.19.0 (#109)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.18.0 to 1.19.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.18.0...v1.19.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 18:38:14 -03:00
dependabot[bot] 12a3922f3b
Bump zerocopy from 0.7.26 to 0.7.31 (#110)
Bumps [zerocopy](https://github.com/google/zerocopy) from 0.7.26 to 0.7.31.
- [Release notes](https://github.com/google/zerocopy/releases)
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/zerocopy/compare/v0.7.26...v0.7.31)

---
updated-dependencies:
- dependency-name: zerocopy
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 18:35:59 -03:00
dependabot[bot] 547cd83514
Bump hashbrown from 0.14.1 to 0.14.3 (#108)
Bumps [hashbrown](https://github.com/rust-lang/hashbrown) from 0.14.1 to 0.14.3.
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.14.1...v0.14.3)

---
updated-dependencies:
- dependency-name: hashbrown
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 16:18:59 -03:00
dependabot[bot] 5493a9d4cb
Bump zeroize from 1.6.0 to 1.7.0 (#107)
Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.6.0 to 1.7.0.
- [Commits](https://github.com/RustCrypto/utils/commits)

---
updated-dependencies:
- dependency-name: zeroize
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 16:03:46 -03:00
dependabot[bot] c3880a52dd
Bump ed25519 from 2.2.2 to 2.2.3 (#105)
Bumps [ed25519](https://github.com/RustCrypto/signatures) from 2.2.2 to 2.2.3.
- [Commits](https://github.com/RustCrypto/signatures/compare/ed25519/v2.2.2...ed25519/v2.2.3)

---
updated-dependencies:
- dependency-name: ed25519
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 15:56:57 -03:00
dependabot[bot] 06b3a96521
Bump serde from 1.0.188 to 1.0.193 (#104)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.188 to 1.0.193.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.188...v1.0.193)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 15:27:13 -03:00
dependabot[bot] 14bc10f3ed
Bump rustix from 0.38.14 to 0.38.21 (#103)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.14 to 0.38.21.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.14...v0.38.21)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 15:26:31 -03:00
Conrado Gouvea eae0120f98
Implement partial equality for key types (#102)
* Implement parital equality for key types

Signed-off-by: Justin Abrahms <justin@abrah.ms>

* use subtle for PartialEq impl for SigningKey

* fix no_std

---------

Signed-off-by: Justin Abrahms <justin@abrah.ms>
Co-authored-by: Justin Abrahms <justin@abrah.ms>
2023-11-27 11:40:06 -03:00
Conrado Gouvea ff74928aae
add DEVELOPERS.md; commit lockfile (#99) 2023-11-22 18:50:54 +01:00
dependabot[bot] b96c352cd1
Bump actions/checkout from 4.0.0 to 4.1.1 (#100)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.0.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-15 11:38:03 -03:00
Conrado Gouvea 5d3551a269
dependabot: remove hardcoded reviewer (#98) 2023-11-15 11:11:24 +01:00
Conrado Gouvea cd4aeed1a2
improve CI; bump to 4.0.3 (#95) 2023-09-11 15:28:01 -03:00
pinkforest(she/her) 9622f0a784
bump curve25519-dalek to 4.1 (#94) 2023-09-11 14:48:06 -03:00
Conrado Gouvea 7ad06a6896
bump curve25519-dalek to 4.0 (#91)
* bump curve25519-dalek to 4.0

* bump version and changelog
2023-08-21 15:39:10 -03:00
Conrado Gouvea 3829d875b6
update curve25519-dalek to 4.0.0-rc.3; bump version to 4.0.1 (#88)
* update curve25519-dalek to 4.0.0-rc.3; bump version to 4.0.1

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

---------

Co-authored-by: teor <teor@riseup.net>
2023-07-06 22:08:44 -03:00
Conrado Gouvea 0db5c8e7e3
fix order() function used in tests that showed an incorrect order (#89) 2023-07-06 18:20:20 -03:00
dependabot[bot] 1ff62a63b4
Bump actions/checkout from 3.5.2 to 3.5.3 (#85)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.2...v3.5.3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-05 15:27:25 -03:00
Vlad Semenov c05bb6c3a6
cargo: serde no-default-features to avoid std (#87) 2023-07-05 15:26:02 -03:00
Daira Hopwood 95aa09743e
Update references to the major version number and to Canopy activation in the README (#84)
* README.md: update references to the major version.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>

* README.md: update the reference to Zcash Canopy activation.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>

---------

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-06-12 13:45:19 -03:00
Conrado Gouvea cab0bcd1ab
Bump to 4.0.0; update curve25519-dalek (#82)
* upgrade curve25519-dalek to 4.0.0-rc.2

* clippy fixes

* activate ed25519/pem only when needed

* bump to 4.0.0; bump MSRV to 1.65; fix no_std support; test MSRV and no_std in CI

* use rust-toolchain instead of TOML to work with (unmaitained) actions-rs/toolchain
2023-06-08 12:23:21 +02:00
dependabot[bot] d08ae22108
Update criterion requirement from 0.3 to 0.5 (#80)
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.0...0.5.0)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 10:46:34 -03:00
dependabot[bot] 96b7b311fd
Update hashbrown requirement from 0.12.0 to 0.14.0 (#81)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 08:31:42 +10:00
Douglas Roark 346f4cde27
Add DER & PEM support for SigningKeySeed and VerificationKeyBytes (RFC 8410) (#46)
* Add DER & PEM support for SigningKeySeed and VerificationKeyBytes (RFC 8410)

- Add encoding to and decoding from DER bytes and PEM strings for SigningKeySeed and VerificationKeyBytes.
- Add some functions so that the Java code mirrors, to a certain degree, the JDK 15 interface for Ed25519 keys and signatures.
- Add encoding and decoding for signatures (technically identity functions).
- Miscellaneous cleanup.

* Accommodate extra octet string in private key DER bytes

- In RFC 8410, DER-encoded private keys are in an octet string that's encapsulated by another octet string. Add the extra octet string, and adjust tests as necessary.
- In the tests, use the private key from RFC 8410, Sect. 10.3.

* Update pkcs8 to 0.7.0

* Cleanup

- Enhance PEM capabilities for SigningKey and VerificationKeyBytes. This also allowed for some tests to be simplified.
- From -> TryFrom for some VerificationKeyBytes impls.

* Upgrade JNI Rust bindings to PKCS8 0.7.5

- Make necessary changes to support the newer crate.
- Fix an unrelated compiler warning.

* More fixups

- Get code to compile after updating to the latest Rust.
- Fix a couple of failing tests (add LF to expected encoding output).

* Major update

- Update pkcs8 crate to 0.10.0, and update code as required to support the crate. This includes supporting the Decode(Public/Private)Key and Encode(Public/Private)Key traits so as to take advantage of Ed25519 DER and PEM code in the crate.
- Add the latest ed25519 crate (2.2.0) to support KeypairBytes and other features.
- Remove the signature code and implement Signature (Signer and Verifier traits) from the "signatures" crate included with the pkcs8 crate.
- Update the JNI code. This includes mandating Scala 3 usage.
- Minor cleanup (including warning fixes) and changes to make the code a bit clearer.

A follow-up commit will clean up the tests and probably add support for v2 private DER keys.

* Further code cleanup

- Update pkcs8 crate to 0.10.1.
- Fix PEM feature code.
- Update Ed25519 JNI code as needed.
- Remove dead code.
- Re-enable a couple of unit tests.

Note that a couple of Ed25519 JNI unit tests are still failing. A follow-up PR will have the fix.

* Add missing DER/PEM files for unit tests

* Add JNI comments to resolve publisher warnings

When executing `sbt publishLocal` and generating a JAR file, there are warnings regarding some functions not having public comments. Add public comments as needed.

* JNI README update

* Comment touchup

* Review fixups

- Finish adding PEM/PKCS8 tags and cfg items as needed to separate the features from default compilation.
- Revert some minor name changes.
- Make the JNI README more precise with regards to requirements.
- Add ARM64 macOS support to JNI. Untested but it should work, and it doesn't break Intel Macs.
- Miscellaneous cleanup, including fixing cargo and sbt warnings.

* Upgrade jni crate to 0.20.0

The 0.21.X crates feature a major refactor that breaks the code. Don't upgrade to them until some issues are resolved. (See https://github.com/jni-rs/jni-rs/issues/432 for more info.)

* Upgrade jni crate to 0.21.1

- A path forward to upgrading to 0.21.X was suggested by the jni-rs library developer (https://github.com/jni-rs/jni-rs/issues/439#issuecomment-1493074721). Upgrade the code, improving the safety of the JNI code.
- Cargo.toml fixups.

* cargo clippy / cargo fmt cleanup

Also do minor JNI README cleanup.

* Use an export to clean up some tests a bit

---------

Co-authored-by: Douglas Roark <douglas.roark@gemini.com>
2023-04-21 17:56:37 -03:00
Deirdre Connolly 79085903a0
Zeroize full signingkey (#73)
* Zeroize full signingkey

Includes Default and DefaultIsZeroes impl for VerificationKey.

Resolves #72

* derive Zeroize for SigningKey
2023-03-15 11:04:32 -03:00
Conrado Gouvea e8e58e37a1 fix documentation about batching 2023-03-14 15:50:28 -04:00
Deirdre Connolly e47a986a22
Do not log SigningKey seed, prefix, s, as part of impl Debug (#70) 2023-03-09 11:36:09 -03:00
Conrado Gouvea c079b0e507 update curve25519-dalek to 4.0.0-pre.5; sha2 to 0.10 2023-01-17 15:59:35 -05:00
Conrado Gouvea 612e51af2e v3.1.0 2022-10-26 16:28:40 -04:00
Christian Poveda 15e028616c
add `no_std` support (#57) 2022-05-05 10:40:29 -03:00
dependabot[bot] 7b8447ad79 Update color-eyre requirement from 0.5 to 0.6
Updates the requirements on [color-eyre](https://github.com/yaahc/color-eyre) to permit the latest version.
- [Release notes](https://github.com/yaahc/color-eyre/releases)
- [Changelog](https://github.com/yaahc/color-eyre/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yaahc/color-eyre/compare/v0.5.2...v0.6.0)

---
updated-dependencies:
- dependency-name: color-eyre
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-19 17:06:12 -05:00
Deirdre Connolly 9dd5d07120 v3.0.0 2021-10-12 13:25:18 -04:00
Jose Daniel Hernandez 7fec3087c5 Add dependency and build status badges
Add dependency and build status badges to the README.md file.
2021-10-12 11:39:35 -04:00
Fintan Halpenny 5382ead398 dependencies: update zeroize to 1.2
There was a vulnerability reported[0] in zeroize which is patches with
versions >=1.2.0. This patch sets the bound to "1.2" in the Cargo.toml.

[0]: https://rustsec.org/advisories/RUSTSEC-2021-0115

Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
2021-10-12 11:36:06 -04:00
Deirdre Connolly 2824139711 rustdoc cfg updates 2021-10-12 11:24:30 -04:00
Deirdre Connolly a3ad04778a Enable CI workflow for PRs and manual starts 2021-10-12 11:24:30 -04:00
José Daniel Hernández 68710ed83e
Add LICENSE files (#51)
Add LICENSE files to state MIT or Apache 2.0 as the licenses of this
repository.
This closes #33.
2021-10-11 09:44:57 +10:00
dependabot[bot] d351240022
Bump actions-rs/cargo from 1 to 1.0.3 (#48)
Bumps [actions-rs/cargo](https://github.com/actions-rs/cargo) from 1 to 1.0.3.
- [Release notes](https://github.com/actions-rs/cargo/releases)
- [Changelog](https://github.com/actions-rs/cargo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions-rs/cargo/compare/v1...v1.0.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-14 12:52:17 +10:00
dependabot[bot] ed59300fe5
Bump actions-rs/toolchain from 1 to 1.0.7 (#47)
Bumps [actions-rs/toolchain](https://github.com/actions-rs/toolchain) from 1 to 1.0.7.
- [Release notes](https://github.com/actions-rs/toolchain/releases)
- [Changelog](https://github.com/actions-rs/toolchain/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions-rs/toolchain/compare/v1...v1.0.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-14 12:50:52 +10:00
Deirdre Connolly 539fad040c Update rand_core to 0.6 and rand to 0.8 2021-03-30 11:19:07 -04:00
Deirdre Connolly 9a2f706ace Revert "Update rand_core to 0.6 and rand to 0.8"
This reverts commit ae0c163b17.
2021-03-25 21:54:08 -04:00
Deirdre Connolly ae0c163b17 Update rand_core to 0.6 and rand to 0.8 2021-03-25 21:48:24 -04:00
Douglas Roark 2abe8b96b5
Add JNI code for ed25519-zebra (#37)
* Add JNI code for ed25519-zebra

Add some code allowing other languages, via JNI, to interact with ed25519-zebra. The initial commit:

- Allows users to obtain a random 32 byte signing key seed.
- Allows users to obtain a 32 byte verification key from a signing key seed.
- Allows users to sign arbitrary data.
- Allows users to verify an Ed25519 signature.
- Includes a Java file that can be used.
- Includes some Scala-based JNI tests.

* Review fixups

- Minor Rust code optimizations.
- Rust build optimizations.
- Tweak the JNI JAR prereq script to match the new outputs.

* Significant cleanup

- More build system tidying. The primary goal is to try to firewall the JNI code from everything else.
- README tidying.

* Grab bag of improvements

- Clean up the wrapper classes (streamlining, make constructors private, more mutability safety).
- private -> public for a static variable intended for public usage.
- Minor comment & build system cleanup.

* Bump JNI version to 0.0.4-DEV

Decided to bump the version to reflect earlier changes.

* Hard-code the ed25519-zebra version for ed25519jni to use

* Unify ed25519 JNI version

Also add "-JNI" to assist with tagging and otherwise distinguish the JNI code from the main library version/code.

* Add code to make VerificationKeyBytes comparison easier

Also add a test suite for VerificationKeyBytes.

* VerificationKeyBytes cleanup

- Fix hashCode() override.
- Add a test.
- Remove unneecessary semicolons.

* Add Signature to JNI

Mirror the Signature struct from Rust and add some basic tests. Also do a bit of Scala test cleanup.
2021-02-26 14:58:38 -08:00
Kim Altintop 0e7a96a267
Add Zeroize impl for SigningKey (#34)
* Add Zeroize impl for SigningKey
2020-12-03 13:10:52 -08:00
Dimitris Apostolou 014d823db6 Fix typo 2020-10-12 19:12:06 -07:00
Henry de Valence 72e1b17d86 Bump version to 2.2.0 2020-09-25 11:26:45 -07:00
Alexis Sellier a03df3776f Add *Ord instances to VerificationKeyBytes 2020-09-25 11:09:35 -07:00