Compare commits
3 Commits
33aeae1177
...
f6ffb39543
Author | SHA1 | Date |
---|---|---|
Ryan Heywood | f6ffb39543 | |
Ryan Heywood | 542c206c5e | |
Ryan Heywood | e8f327079b |
40
Cargo.toml
40
Cargo.toml
|
@ -2,26 +2,26 @@
|
||||||
|
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
members = [
|
members = [
|
||||||
"keyfork",
|
"crates/keyfork",
|
||||||
"keyfork-crossterm",
|
"crates/daemon/keyforkd",
|
||||||
"keyfork-entropy",
|
"crates/daemon/keyforkd-client",
|
||||||
"keyfork-derive-key",
|
"crates/daemon/keyforkd-models",
|
||||||
"keyfork-derive-openpgp",
|
"crates/derive/keyfork-derive-key",
|
||||||
"keyfork-derive-path-data",
|
"crates/derive/keyfork-derive-openpgp",
|
||||||
"keyfork-derive-util",
|
"crates/derive/keyfork-derive-path-data",
|
||||||
"keyfork-frame",
|
"crates/derive/keyfork-derive-util",
|
||||||
"keyfork-mnemonic-util",
|
"crates/keyfork-shard",
|
||||||
"keyfork-prompt",
|
"crates/qrcode/keyfork-qrcode",
|
||||||
"keyfork-plumbing",
|
"crates/qrcode/keyfork-zbar",
|
||||||
"keyfork-shard",
|
"crates/qrcode/keyfork-zbar-sys",
|
||||||
"keyfork-slip10-test-data",
|
"crates/util/keyfork-crossterm",
|
||||||
"keyfork-qrcode",
|
"crates/util/keyfork-entropy",
|
||||||
"keyfork-zbar",
|
"crates/util/keyfork-frame",
|
||||||
"keyfork-zbar-sys",
|
"crates/util/keyfork-mnemonic-util",
|
||||||
"keyforkd",
|
"crates/util/keyfork-prompt",
|
||||||
"keyforkd-client",
|
"crates/util/keyfork-plumbing",
|
||||||
"keyforkd-models",
|
"crates/util/keyfork-slip10-test-data",
|
||||||
"smex",
|
"crates/util/smex",
|
||||||
]
|
]
|
||||||
|
|
||||||
[profile.dev.package.keyfork-qrcode]
|
[profile.dev.package.keyfork-qrcode]
|
||||||
|
|
|
@ -12,9 +12,6 @@ control over the mnemonic itself, and other components can request
|
||||||
deterministic data. The seed can be split using the Keyfork Shard mechanism,
|
deterministic data. The seed can be split using the Keyfork Shard mechanism,
|
||||||
which utilizes Shamir's Secret Sharing to allow "M-of-N" recovery of the seed.
|
which utilizes Shamir's Secret Sharing to allow "M-of-N" recovery of the seed.
|
||||||
|
|
||||||
This repository must not be managed by `cargo-hakari`, to ensure each plumbing
|
|
||||||
binary can be built with as few dependencies and SLOC to review as possible.
|
|
||||||
|
|
||||||
## Dependency Policy
|
## Dependency Policy
|
||||||
|
|
||||||
Dependencies must not be added to core utilities such as seed generation and
|
Dependencies must not be added to core utilities such as seed generation and
|
||||||
|
@ -182,11 +179,11 @@ keyfork derive openpgp "Ryan Heywood (RyanSquared) <ryan@distrust.co>"
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Detailed usage instructions can be found in the [`keyfork-user-guide`] mdBook,
|
Detailed usage instructions can be found in the [`docs`] mdBook,
|
||||||
which can be opened in-browser by running
|
which can be opened in-browser by running
|
||||||
`mdbook serve --open keyfork-user-guide`.
|
`mdbook serve --open docs`.
|
||||||
|
|
||||||
[`keyfork-user-guide`]: /public/keyfork/src/branch/main/keyfork-user-guide/src/SUMMARY.md
|
[`docs`]: /public/keyfork/src/branch/main/docs/src/SUMMARY.md
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
```
|
```
|
||||||
|
|
|
@ -12,14 +12,14 @@ ed25519 = ["keyfork-derive-util/ed25519"]
|
||||||
secp256k1 = ["keyfork-derive-util/secp256k1"]
|
secp256k1 = ["keyfork-derive-util/secp256k1"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util", default-features = false }
|
keyfork-derive-util = { version = "0.1.0", path = "../../derive/keyfork-derive-util", default-features = false }
|
||||||
keyfork-frame = { version = "0.1.0", path = "../keyfork-frame" }
|
keyfork-frame = { version = "0.1.0", path = "../../util/keyfork-frame" }
|
||||||
keyforkd-models = { version = "0.1.0", path = "../keyforkd-models" }
|
keyforkd-models = { version = "0.1.0", path = "../keyforkd-models" }
|
||||||
bincode = "1.3.3"
|
bincode = "1.3.3"
|
||||||
thiserror = "1.0.49"
|
thiserror = "1.0.49"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
keyfork-slip10-test-data = { path = "../keyfork-slip10-test-data" }
|
keyfork-slip10-test-data = { path = "../../util/keyfork-slip10-test-data" }
|
||||||
keyforkd = { path = "../keyforkd" }
|
keyforkd = { path = "../keyforkd" }
|
||||||
tempfile = "3.9.0"
|
tempfile = "3.9.0"
|
||||||
tokio = { version = "1.32.0", features = ["rt", "sync", "rt-multi-thread"] }
|
tokio = { version = "1.32.0", features = ["rt", "sync", "rt-multi-thread"] }
|
|
@ -7,6 +7,6 @@ license = "MIT"
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util", default-features = false }
|
keyfork-derive-util = { version = "0.1.0", path = "../../derive/keyfork-derive-util", default-features = false }
|
||||||
serde = { version = "1.0.190", features = ["derive"] }
|
serde = { version = "1.0.190", features = ["derive"] }
|
||||||
thiserror = "1.0.50"
|
thiserror = "1.0.50"
|
|
@ -12,10 +12,10 @@ tracing = ["tower/tracing", "tokio/tracing", "dep:tracing", "dep:tracing-subscri
|
||||||
multithread = ["tokio/rt-multi-thread"]
|
multithread = ["tokio/rt-multi-thread"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util" }
|
keyfork-derive-util = { version = "0.1.0", path = "../../derive/keyfork-derive-util" }
|
||||||
keyfork-frame = { version = "0.1.0", path = "../keyfork-frame" }
|
keyfork-frame = { version = "0.1.0", path = "../../util/keyfork-frame" }
|
||||||
keyfork-mnemonic-util = { version = "0.1.0", path = "../keyfork-mnemonic-util" }
|
keyfork-mnemonic-util = { version = "0.1.0", path = "../../util/keyfork-mnemonic-util" }
|
||||||
keyfork-derive-path-data = { version = "0.1.0", path = "../keyfork-derive-path-data" }
|
keyfork-derive-path-data = { version = "0.1.0", path = "../../derive/keyfork-derive-path-data" }
|
||||||
keyforkd-models = { version = "0.1.0", path = "../keyforkd-models" }
|
keyforkd-models = { version = "0.1.0", path = "../keyforkd-models" }
|
||||||
|
|
||||||
# Not personally audited
|
# Not personally audited
|
||||||
|
@ -34,4 +34,4 @@ serde = { version = "1.0.186", features = ["derive"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
hex-literal = "0.4.1"
|
hex-literal = "0.4.1"
|
||||||
keyfork-slip10-test-data = { path = "../keyfork-slip10-test-data" }
|
keyfork-slip10-test-data = { path = "../../util/keyfork-slip10-test-data" }
|
|
@ -8,6 +8,6 @@ license = "AGPL-3.0-only"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util" }
|
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util" }
|
||||||
keyforkd-client = { version = "0.1.0", path = "../keyforkd-client" }
|
keyforkd-client = { version = "0.1.0", path = "../../daemon/keyforkd-client" }
|
||||||
smex = { version = "0.1.0", path = "../smex" }
|
smex = { version = "0.1.0", path = "../../util/smex" }
|
||||||
thiserror = "1.0.48"
|
thiserror = "1.0.48"
|
|
@ -8,7 +8,7 @@ license = "AGPL-3.0-only"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util", default-features = false, features = ["ed25519"] }
|
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util", default-features = false, features = ["ed25519"] }
|
||||||
keyforkd-client = { version = "0.1.0", path = "../keyforkd-client", default-features = false, features = ["ed25519"] }
|
keyforkd-client = { version = "0.1.0", path = "../../daemon/keyforkd-client", default-features = false, features = ["ed25519"] }
|
||||||
ed25519-dalek = "2.0.0"
|
ed25519-dalek = "2.0.0"
|
||||||
sequoia-openpgp = { version = "1.17.0", default-features = false }
|
sequoia-openpgp = { version = "1.17.0", default-features = false }
|
||||||
anyhow = "1.0.75"
|
anyhow = "1.0.75"
|
|
@ -12,7 +12,7 @@ secp256k1 = ["k256"]
|
||||||
ed25519 = ["ed25519-dalek"]
|
ed25519 = ["ed25519-dalek"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-mnemonic-util = { version = "0.1.0", path = "../keyfork-mnemonic-util" }
|
keyfork-mnemonic-util = { version = "0.1.0", path = "../../util/keyfork-mnemonic-util" }
|
||||||
|
|
||||||
# Included in Rust
|
# Included in Rust
|
||||||
digest = "0.10.7"
|
digest = "0.10.7"
|
||||||
|
@ -32,4 +32,4 @@ ed25519-dalek = { version = "2.0.0", optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
hex-literal = "0.4.1"
|
hex-literal = "0.4.1"
|
||||||
keyfork-slip10-test-data = { version = "0.1.0", path = "../keyfork-slip10-test-data" }
|
keyfork-slip10-test-data = { version = "0.1.0", path = "../../util/keyfork-slip10-test-data" }
|
|
@ -13,22 +13,22 @@ openpgp-card = ["openpgp-card-sequoia", "card-backend-pcsc", "card-backend", "de
|
||||||
qrcode = ["keyfork-qrcode"]
|
qrcode = ["keyfork-qrcode"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-prompt = { version = "0.1.0", path = "../keyfork-prompt", default-features = false, features = ["mnemonic"] }
|
keyfork-prompt = { version = "0.1.0", path = "../util/keyfork-prompt", default-features = false, features = ["mnemonic"] }
|
||||||
keyfork-qrcode = { version = "0.1.0", path = "../keyfork-qrcode", optional = true }
|
keyfork-qrcode = { version = "0.1.0", path = "../qrcode/keyfork-qrcode", optional = true }
|
||||||
smex = { version = "0.1.0", path = "../smex" }
|
smex = { version = "0.1.0", path = "../util/smex" }
|
||||||
|
|
||||||
sharks = "0.5.0"
|
sharks = "0.5.0"
|
||||||
thiserror = "1.0.50"
|
thiserror = "1.0.50"
|
||||||
|
|
||||||
# Remote operator mode
|
# Remote operator mode
|
||||||
keyfork-mnemonic-util = { version = "0.1.0", path = "../keyfork-mnemonic-util" }
|
keyfork-mnemonic-util = { version = "0.1.0", path = "../util/keyfork-mnemonic-util" }
|
||||||
x25519-dalek = { version = "2.0.0", features = ["getrandom"] }
|
x25519-dalek = { version = "2.0.0", features = ["getrandom"] }
|
||||||
aes-gcm = { version = "0.10.3", features = ["std"] }
|
aes-gcm = { version = "0.10.3", features = ["std"] }
|
||||||
hkdf = { version = "0.12.4", features = ["std"] }
|
hkdf = { version = "0.12.4", features = ["std"] }
|
||||||
sha2 = "0.10.8"
|
sha2 = "0.10.8"
|
||||||
|
|
||||||
# OpenPGP
|
# OpenPGP
|
||||||
keyfork-derive-openpgp = { version = "0.1.0", path = "../keyfork-derive-openpgp" }
|
keyfork-derive-openpgp = { version = "0.1.0", path = "../derive/keyfork-derive-openpgp" }
|
||||||
anyhow = { version = "1.0.79", optional = true }
|
anyhow = { version = "1.0.79", optional = true }
|
||||||
card-backend = { version = "0.2.0", optional = true }
|
card-backend = { version = "0.2.0", optional = true }
|
||||||
card-backend-pcsc = { version = "0.5.0", optional = true }
|
card-backend-pcsc = { version = "0.5.0", optional = true }
|
|
@ -23,22 +23,23 @@ sequoia-crypto-backend-openssl = ["sequoia-openpgp/crypto-openssl"]
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
keyfork-mnemonic-util = { version = "0.1.0", path = "../keyfork-mnemonic-util" }
|
keyforkd = { version = "0.1.0", path = "../daemon/keyforkd", features = ["tracing"] }
|
||||||
|
keyforkd-client = { version = "0.1.0", path = "../daemon/keyforkd-client", default-features = false, features = ["ed25519"] }
|
||||||
|
keyfork-derive-openpgp = { version = "0.1.0", path = "../derive/keyfork-derive-openpgp" }
|
||||||
|
keyfork-derive-util = { version = "0.1.0", path = "../derive/keyfork-derive-util", default-features = false, features = ["ed25519"] }
|
||||||
|
keyfork-entropy = { version = "0.1.0", path = "../util/keyfork-entropy" }
|
||||||
|
keyfork-mnemonic-util = { version = "0.1.0", path = "../util/keyfork-mnemonic-util" }
|
||||||
|
keyfork-prompt = { version = "0.1.0", path = "../util/keyfork-prompt" }
|
||||||
|
keyfork-qrcode = { version = "0.1.0", path = "../qrcode/keyfork-qrcode" }
|
||||||
|
keyfork-shard = { version = "0.1.0", path = "../keyfork-shard" }
|
||||||
|
smex = { version = "0.1.0", path = "../util/smex" }
|
||||||
|
|
||||||
clap = { version = "4.4.2", features = ["derive", "env", "wrap_help"] }
|
clap = { version = "4.4.2", features = ["derive", "env", "wrap_help"] }
|
||||||
thiserror = "1.0.48"
|
thiserror = "1.0.48"
|
||||||
smex = { version = "0.1.0", path = "../smex" }
|
|
||||||
keyfork-shard = { version = "0.1.0", path = "../keyfork-shard" }
|
|
||||||
serde = { version = "1.0.192", features = ["derive"] }
|
serde = { version = "1.0.192", features = ["derive"] }
|
||||||
keyforkd = { version = "0.1.0", path = "../keyforkd", features = ["tracing"] }
|
|
||||||
tokio = { version = "1.35.1", default-features = false, features = ["rt-multi-thread"] }
|
tokio = { version = "1.35.1", default-features = false, features = ["rt-multi-thread"] }
|
||||||
keyfork-derive-openpgp = { version = "0.1.0", path = "../keyfork-derive-openpgp" }
|
|
||||||
keyforkd-client = { version = "0.1.0", path = "../keyforkd-client", default-features = false, features = ["ed25519"] }
|
|
||||||
keyfork-derive-util = { version = "0.1.0", path = "../keyfork-derive-util", default-features = false, features = ["ed25519"] }
|
|
||||||
card-backend-pcsc = "0.5.0"
|
card-backend-pcsc = "0.5.0"
|
||||||
openpgp-card-sequoia = { version = "0.2.0", default-features = false }
|
openpgp-card-sequoia = { version = "0.2.0", default-features = false }
|
||||||
openpgp-card = "0.4.1"
|
openpgp-card = "0.4.1"
|
||||||
keyfork-prompt = { version = "0.1.0", path = "../keyfork-prompt" }
|
|
||||||
keyfork-entropy = { version = "0.1.0", path = "../keyfork-entropy" }
|
|
||||||
clap_complete = { version = "4.4.6", optional = true }
|
clap_complete = { version = "4.4.6", optional = true }
|
||||||
keyfork-qrcode = { version = "0.1.0", path = "../keyfork-qrcode" }
|
|
||||||
sequoia-openpgp = { version = "1.17.0", default-features = false, features = ["compression"] }
|
sequoia-openpgp = { version = "1.17.0", default-features = false, features = ["compression"] }
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue