Conversation
6297bc1 to
fff3b56
Compare
|
This is feature-complete now but still needs docs |
4f264f9 to
a0d1bdc
Compare
|
This should hopefully be good to go now.
|
rozbb
left a comment
There was a problem hiding this comment.
Looks great! Left some small comments
|
Had to rebase so I guess I can go ahead and squash |
|
@rozbb this is green again |
|
Re: 5eab15d, IMO having I swear there used to be a warning/lint for it but perhaps I'm mistaken |
7693dfb to
1a6f50a
Compare
|
Ran rustfmt over it and the only problems were with the newly-added PKCS#8 code, so this is also rustfmt clean. @rozbb ready for re-review |
There was a problem hiding this comment.
Left minor comments. Also since dalek-cryptography/curve25519-dalek#470 merged, this line needs to be changed to use Scalar::ZERO:
ed25519-dalek/tests/ed25519.rs
Line 159 in 1a6f50a
EDIT: Fixed
|
I thought I was going crazy. I have pages and pages of errors when testing locally. Thankfully this shows up in the CI. Probably something related to the warning: |
|
I can confirm that most of the build errors go away by bumping to .1 as I've .pathc'd EDIT: Also curve25519-dalek Just leaves one batch related error after: Which is fixed in |
Cargo.toml
Outdated
| [patch.crates-io] | ||
| curve25519-dalek = { git = "https://github.com/dalek-cryptography/curve25519-dalek.git", branch = "release/4.0" } | ||
| ed25519 = { git = "https://github.com/RustCrypto/signatures.git"} | ||
| ed25519 = { git = "https://github.com/RustCrypto/signatures.git" } |
There was a problem hiding this comment.
Also @rozbb the curve25519-dalek [dependencies] has to be .patched as well to pre.3 so:
diff --git a/Cargo.toml b/Cargo.toml
index f87f430..971328e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,8 +24,8 @@ rustdoc-args = ["--cfg", "docsrs"]
features = ["nightly", "batch", "pkcs8"]
[dependencies]
-curve25519-dalek = { version = "=4.0.0-pre.2", default-features = false, features = ["digest", "rand_core"] }
-ed25519 = { version = "=2.0.0-pre.0", default-features = false }
+curve25519-dalek = { version = "=4.0.0-pre.3", default-features = false, features = ["digest", "rand_core"] }
+ed25519 = { version = "=2.0.0-pre.1", default-features = false }
merlin = { version = "3", default-features = false, optional = true }
rand = { version = "0.8", default-features = false, optional = true }
rand_core = { version = "0.6", default-features = false, optional = true }
Problem with [patch.crates-io] here was that it needs to match the .patched manifest version exactly. if the patch target e.g. git branch Cargo.toml does not match the asked depdendency - it will give out that warning and does nothing leading to that error - unless intended as eventual "patch kill switch"
In this case release/4.0 curve25519-dalek and ed25519 repo branch Cargo.toml's got updated and then it didn't match the asked version and rendered .patch void that was asking pre.0 for ed25519 and pre.2 for curve25519.
This is why it is also best to avoid cargo publish anything with [patch.crates-io] that mutable target git ref without locking to immutable branch / commit ref. Usually it's best to just override dependency to directly target a git instead if this is required as .patch only gives a warning (sometimes this is feasible but rarely) instead of error.
|
@pinkforest I think the advice not to check in Cargo.lock for libraries is a bit dated now that dependabot exists, and without it builds aren't reproducible or bisectable. |
9ac0fbb to
2595abd
Compare
Adds optional integration with `ed25519::pkcs8` with support for decoding/encoding `Keypair` from/to PKCS#8-encoded documents as well as `PublicKey` from/to SPKI-encoded documents. Includes test vectors generated for the `ed25519` crate from: https://github.com/RustCrypto/signatures/tree/master/ed25519/tests/examples
| # rustdoc-args = ["--html-in-header", ".cargo/registry/src/github.zerozr99.workers.dev-1ecc6299db9ec823/curve25519-dalek-0.13.2/rustdoc-include-katex-header.html"] | ||
| features = ["nightly", "batch"] | ||
| rustdoc-args = ["--cfg", "docsrs"] | ||
| features = ["nightly", "batch", "pkcs8"] |
There was a problem hiding this comment.
nightly doesn't exist anymore, but we can get that in another PR
NOTE: depends on #222 and #223 which need to be merged first.Adds optional integration with
ed25519::pkcs8with support for decoding/encodingKeypairfrom/to PKCS#8-encoded documents.TODO: support for decoding/encodingAdded, good to go!PublicKeyfrom/to SPKI documents.