Release keyfork v0.3.0

This commit is contained in:
Ryan Heywood 2025-02-25 23:19:24 -05:00
parent 53665cac2e
commit 76ca4b0812
Signed by: ryan
GPG Key ID: 8E401478A3FBEF72
8 changed files with 105 additions and 12 deletions

View File

@ -1,3 +1,96 @@
# Keyfork v0.3.0
The Wizard is Dead. Long Live the Mnemonic Generator.
The `keyfork wizard` subcommand was previously used to perform complex
operations that couldn't be performed with just `keyfork mnemonic generate`.
Since we've introduced complexity into `keyfork mnemonic generate`, it only
makes sense to consolidate all mnemonic generation complexity into one
location. Therefore, `keyfork mnemonic generate` should be a one-stop shop from
going to zero entropy to 256 bits of entropy. :)
The following operations are added:
* `keyfork mnemonic generate --derive=<derivation>`: Allow for the immediate
derivation of a key. The value passed will be parsed directly as though
`keyfork derive` were run. For example,
`keyfork mnemonic generate --derive='openpgp "Ryan Heywood"'` generates an
OpenPGP Transferable Secret Key that is nearly-identical to one generated by
`keyfork derive openpgp "Ryan Heywood"`, with the only exception being the
time the signatures were created.
* `keyfork mnemonic generate --encrypt-to <keyring>`: Encrypt the mnemonic to
an existing OpenPGP keyring or certificate.
* `keyfork mnemonic generate --shard-to <shardfile>`: Shard the mnemonic to
an existing Keyfork Shardfile.
* `keyfork mnemonic generate --shard <config>`: Shard the mnemonic to an
existing set of OpenPGP certificates.
* `keyfork mnemonic generate --encrypt-to-self <file>`: Encrypt the mnemonic to
an OpenPGP certificate generated in `--derive` or `--provision`
* `keyfork mnemonic generate --shard-to-self <file>,<config>`: Shard the
mnemonic to freshly generated certificates, provisioned to OpenPGP
smartcards. This option replaces the traditional Keyfork Wizard, which has
been removed.
* `keyfork mnemonic generate --provision`: Provision a key derived from the new
mnemonic, which can be used for `--encrypt-to-self`, or to just bypass
needing to load the mnemonic to provision with it.
Along with these changes, some other minor additions were added:
* QR code retries in the Shard mechanism are now implemented.
* `keyfork-qrcode` now prefers libzbar and can compile with both.
* `keyfork-prompt` should now work better on AirgapOS and Linux terminals.
### Changes in keyfork:
```
53665ca keyfork: the wizard is dead! long live the mnemonic generator!
a1c3d52 keyfork: restructure wizard shard key generation
674e2e9 keyfork: restructure CLI commands to act more like the other commands
723194f keyfork mnemonic generate: userid equivalency, rename provisioner cert_output to output
db19b30 keyfork mnemonic generate: feedback improvements
```
### Changes in keyfork-bug:
Add `keyfork_bug::assert!()` for asserting with Keyfork Bug printing.
```
88a05f2 keyfork-prompt: add choice mechanism, & add to keyfork-shard
```
### Changes in keyfork-prompt:
```
88a05f2 keyfork-prompt: add choice mechanism, & add to keyfork-shard
0243212 keyfork-prompt: clear terminal before leaving alt screen; fixes linux terminal
```
### Changes in keyfork-qrcode:
```
98b9dbb keyfork-qrcode: restructure to prefer libzbar and compile with both enabled
```
### Changes in keyfork-shard:
```
88a05f2 keyfork-prompt: add choice mechanism, & add to keyfork-shard
aa8526c Release keyfork-shard v0.3.1
```
### Changes in keyfork-zbar:
```
98b9dbb keyfork-qrcode: restructure to prefer libzbar and compile with both enabled
```
### Changes in keyforkd:
```
674e2e9 keyfork: restructure CLI commands to act more like the other commands
```
# Keyfork v0.2.6
* The `--daemon` flag has been added for `keyfork recover` subcommands.

12
Cargo.lock generated
View File

@ -1797,7 +1797,7 @@ dependencies = [
[[package]]
name = "keyfork"
version = "0.2.6"
version = "0.3.0"
dependencies = [
"base64",
"card-backend-pcsc",
@ -1836,7 +1836,7 @@ dependencies = [
[[package]]
name = "keyfork-bug"
version = "0.1.0"
version = "0.1.1"
[[package]]
name = "keyfork-crossterm"
@ -1944,7 +1944,7 @@ dependencies = [
[[package]]
name = "keyfork-prompt"
version = "0.2.1"
version = "0.2.2"
dependencies = [
"keyfork-bug",
"keyfork-crossterm",
@ -1954,7 +1954,7 @@ dependencies = [
[[package]]
name = "keyfork-qrcode"
version = "0.1.2"
version = "0.1.3"
dependencies = [
"cfg-if",
"image",
@ -1967,7 +1967,7 @@ dependencies = [
[[package]]
name = "keyfork-shard"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"aes-gcm",
"anyhow",
@ -2008,7 +2008,7 @@ dependencies = [
[[package]]
name = "keyfork-zbar"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"image",
"keyfork-zbar-sys",

View File

@ -1,6 +1,6 @@
[package]
name = "keyfork-shard"
version = "0.3.1"
version = "0.3.2"
edition = "2021"
license = "AGPL-3.0-only"

View File

@ -1,6 +1,6 @@
[package]
name = "keyfork"
version = "0.2.6"
version = "0.3.0"
edition = "2021"
license = "AGPL-3.0-only"

View File

@ -1,6 +1,6 @@
[package]
name = "keyfork-qrcode"
version = "0.1.2"
version = "0.1.3"
repository = "https://git.distrust.co/public/keyfork"
edition = "2021"
license = "MIT"

View File

@ -1,6 +1,6 @@
[package]
name = "keyfork-zbar"
version = "0.1.1"
version = "0.1.2"
repository = "https://git.distrust.co/public/keyfork"
edition = "2021"
license = "MIT"

View File

@ -1,6 +1,6 @@
[package]
name = "keyfork-bug"
version = "0.1.0"
version = "0.1.1"
edition = "2021"
license = "MIT"

View File

@ -1,6 +1,6 @@
[package]
name = "keyfork-prompt"
version = "0.2.1"
version = "0.2.2"
description = "Prompt management utilities for Keyfork"
repository = "https://git.distrust.co/public/keyfork"
edition = "2021"