Marco Ricci commited on 2025-01-11 15:38:02
Zeige 8 geänderte Dateien mit 749 Einfügungen und 84 Löschungen.
The top-level `derivepassphrase` command, and the subcommands `export` and `export vault` now have proper manpages (both manpage and online formats) similar to `derivepassphrase vault`. All manpages document the `--help`, `--version`, `--debug`, `--verbose` and `--quiet` options. If a command only delegates to subcommands, a SUBCOMMANDS section is now present, and the DESCRIPTION section has the subcommand listing deduplicated. The COMPATIBILITY section details compatibility only for this command, and refers to subcommand manpages as necessary. The new manpages do not tabulate their diagnostics yet, nor do they include examples.
... | ... |
@@ -2,53 +2,94 @@ |
2 | 2 |
|
3 | 3 |
## NAME |
4 | 4 |
|
5 |
-derivepassphrase-export-vault – export a vault-native configuration to |
|
6 |
-standard output |
|
5 |
+derivepassphrase-export-vault – export a vault-native configuration to standard output |
|
7 | 6 |
|
8 | 7 |
## SYNOPSIS |
9 | 8 |
|
10 | 9 |
```` |
11 |
-derivepassphrase export vault [OPTIONS] PATH |
|
10 |
+derivepassphrase export vault [-f FMT] [-k K] PATH |
|
12 | 11 |
```` |
13 | 12 |
|
14 | 13 |
## DESCRIPTION |
15 | 14 |
|
16 |
-Read the <b>vault</b>-native configuration at <i>PATH</i>, extract all |
|
17 |
-information from it, and export the resulting configuration to standard |
|
18 |
-output. Depending on the configuration format, this may either be a file or |
|
19 |
-a directory. Supports the vault "v0.2", "v0.3" and "storeroom" formats. |
|
15 |
+Read the <i>vault</i>(1)-native configuration at <i>PATH</i>, extract all information from it, and export the resulting configuration to standard output (as if using <i>vault</i>(1)'s <b>-</b><b>-export</b> option). |
|
16 |
+Depending on the configuration format, this may either be a file or a directory. |
|
17 |
+Supports the <i>vault</i>(1) `v0.2`, `v0.3` and `storeroom` formats, all of which inherently use encryption and integrity protection. |
|
20 | 18 |
|
21 |
-If <i>PATH</i> is explicitly given as `VAULT_PATH`, then use the |
|
22 |
-`VAULT_PATH` environment variable to determine the correct path. (Use |
|
23 |
-`./VAULT_PATH` or similar to indicate a file/directory actually named |
|
24 |
-`VAULT_PATH`.) |
|
19 |
+If <i>PATH</i> is explicitly given as `VAULT_PATH`, then use the `VAULT_PATH` environment variable to determine the correct path. |
|
20 |
+(Use `./VAULT_PATH` or similar to indicate a file/directory actually named `VAULT_PATH`.) |
|
25 | 21 |
|
26 | 22 |
## OPTIONS |
27 | 23 |
|
28 | 24 |
<b>-f</b>, <b>-</b><b>-format</b> <i>FMT</i> |
29 |
-: try the following storage formats, in order (default: `v0.3`, `v0.2`) |
|
25 |
+: Try the storage format <i>FMT</i>. |
|
26 |
+ May be given multiple times; the formats will be tried in order. |
|
27 |
+ |
|
28 |
+ By default, we first try `v0.3`, then `v0.2`, and finally `storeroom`. |
|
30 | 29 |
|
31 | 30 |
<b>-k</b>, <b>-</b><b>-key</b> <i>K</i> |
32 |
-: use <i>K</i> as the storage master key (default: check the `VAULT_KEY`, |
|
33 |
- `LOGNAME`, `USER` or `USERNAME` environment variables) |
|
31 |
+: Use <i>K</i> as the storage master key. |
|
32 |
+ |
|
33 |
+ By default, we check the `VAULT_KEY`, `LOGNAME`, `USER` and `USERNAME` environment variables, and use the first one with a proper value (*and only the first one*). |
|
34 |
+ |
|
35 |
+<b>-</b><b>-debug</b> |
|
36 |
+: Emit all diagnostic information to standard error, including progress, warning and error messages. |
|
37 |
+ |
|
38 |
+ Cancels the effect of any previous <b>-</b><b>-quiet</b> or <b>-</b><b>-verbose</b> options. |
|
39 |
+ |
|
40 |
+<b>-v</b>, <b>-</b><b>-verbose</b> |
|
41 |
+: Emit extra/progress information to standard error, on top of warning and error messages. |
|
42 |
+ |
|
43 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-quiet</b> options. |
|
44 |
+ |
|
45 |
+<b>-q</b>, <b>-</b><b>-quiet</b> |
|
46 |
+: Suppress all other diagnostic output to standard error, except error messages. |
|
47 |
+ This includes warning messages. |
|
48 |
+ |
|
49 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-verbose</b> options. |
|
50 |
+ |
|
51 |
+<b>-</b><b>-version</b> |
|
52 |
+: Show the version and exit. |
|
34 | 53 |
|
35 | 54 |
<b>-h</b>, <b>-</b><b>-help</b> |
36 |
-: Show this message and exit. |
|
55 |
+: Show a help message and exit. |
|
56 |
+ |
|
57 |
+## ENVIRONMENT |
|
37 | 58 |
|
38 |
-## ENVIRONMENT VARIABLES |
|
59 |
+`DERIVEPASSPHRASE_PATH` |
|
60 |
+: <b>derivepassphrase</b> stores its configuration files and data in this directory. |
|
61 |
+ Defaults to `~/.derivepassphrase` on UNIX-like systems and `C:\Users\<user>\AppData\Roaming\Derivepassphrase` on Windows. |
|
39 | 62 |
|
40 |
-<b>VAULT_PATH</b> |
|
41 |
-: A default path, relative to the home directory, where to look for the |
|
42 |
- configuration to load. |
|
63 |
+`VAULT_PATH` |
|
64 |
+: A default path, relative to the home directory, where to look for the configuration to load. |
|
43 | 65 |
|
44 |
-<b>VAULT\_KEY</b> |
|
45 |
-: A password with which the vault configuration is encrypted. The |
|
46 |
- password is interpreted as a UTF-8 byte string. |
|
66 |
+`VAULT_KEY` |
|
67 |
+: A password with which the vault configuration is encrypted. |
|
68 |
+ The password is interpreted as a UTF-8 byte string. |
|
47 | 69 |
|
48 |
-<b>LOGNAME</b>, <b>USER</b>, <b>USERNAME</b> |
|
70 |
+`LOGNAME`, `USER`, `USERNAME` |
|
49 | 71 |
: Fallback values for `VAULT_KEY`. |
50 | 72 |
|
73 |
+## COMPATIBILITY |
|
74 |
+ |
|
75 |
+### With other software |
|
76 |
+ |
|
77 |
+<b>derivepassphrase export vault</b> fully supports reading the configuration formats used by <i>vault</i>(1) v0.3 and lower (formats `v0.2` and `v0.3`), as well as the `storeroom` format used in development builds after <i>vault</i>(1) v0.3 (`storeroom` version 1). |
|
78 |
+ |
|
79 |
+There is no corresponding "import" subcommand, nor is there support for writing configuration files or directories in any of the aforementioned formats. |
|
80 |
+ |
|
51 | 81 |
## SEE ALSO |
52 | 82 |
|
53 |
-[derivepassphrase(1)](derivepassphrase.1.md), |
|
54 |
-[vault(1)](https://www.npmjs.com/package/vault) |
|
83 |
+[<i>derivepassphrase</i>(1)](derivepassphrase.1.md), |
|
84 |
+[<i>vault</i>(1)](https://www.npmjs.com/package/vault). |
|
85 |
+ |
|
86 |
+## AUTHOR |
|
87 |
+ |
|
88 |
+[Marco Ricci](https://the13thletter.info) (`software` at `the13thletter` dot `info`) |
|
89 |
+ |
|
90 |
+## BUGS |
|
91 |
+ |
|
92 |
+ * There is no support for writing <i>vault</i>(1) configuration files or directories in any of the aforementioned formats. |
|
93 |
+ |
|
94 |
+ WONTFIX: two-way interoperability of configuration file disk formats is currently out of scope. |
|
95 |
+ Use the standard `--import` and `--export` options of both <i>vault</i>(1) and <b>derivepassphrase vault</b>. |
... | ... |
@@ -2,37 +2,76 @@ |
2 | 2 |
|
3 | 3 |
## NAME |
4 | 4 |
|
5 |
-derivepassphrase-export – export a foreign configuration to standard |
|
6 |
-output |
|
5 |
+derivepassphrase-export – export a foreign configuration to standard output |
|
7 | 6 |
|
8 | 7 |
## SYNOPSIS |
9 | 8 |
|
10 | 9 |
```` |
11 |
-derivepassphrase export [SUBCOMMAND_ARGS]... |
|
10 |
+derivepassphrase export SUBCOMMAND_ARGS ... |
|
12 | 11 |
```` |
13 | 12 |
|
14 | 13 |
## DESCRIPTION |
15 | 14 |
|
16 |
-Read a foreign system configuration, extract all information from |
|
17 |
-it, and export the resulting configuration to standard output. |
|
18 |
- |
|
19 |
-The only available subcommand is <b>vault</b>, which implements the |
|
20 |
-vault-native configuration scheme. If no subcommand is given, we |
|
21 |
-default to <b>vault</b>. |
|
15 |
+Read a foreign system configuration, extract all information from it, and export the resulting configuration to standard output. |
|
22 | 16 |
|
23 | 17 |
## SUBCOMMANDS |
24 | 18 |
|
25 | 19 |
[<b>vault</b>][VAULT_SUBCMD] |
26 |
-: Export a vault-native configuration to standard output. |
|
20 |
+: Export a <i>vault</i>(1)-native configuration to standard output. |
|
21 |
+ |
|
22 |
+If no subcommand is given, we default to <b>vault</b>. |
|
23 |
+ |
|
24 |
+## OPTIONS |
|
25 |
+ |
|
26 |
+<b>-</b><b>-debug</b> |
|
27 |
+: Emit all diagnostic information to standard error, including progress, warning and error messages. |
|
28 |
+ |
|
29 |
+ Cancels the effect of any previous <b>-</b><b>-quiet</b> or <b>-</b><b>-verbose</b> options. |
|
30 |
+ Also applies to subcommands. |
|
31 |
+ |
|
32 |
+<b>-v</b>, <b>-</b><b>-verbose</b> |
|
33 |
+: Emit extra/progress information to standard error, on top of warning and error messages. |
|
34 |
+ |
|
35 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-quiet</b> options. |
|
36 |
+ Also applies to subcommands. |
|
37 |
+ |
|
38 |
+<b>-q</b>, <b>-</b><b>-quiet</b> |
|
39 |
+: Suppress all other diagnostic output to standard error, except error messages. |
|
40 |
+ This includes warning messages. |
|
41 |
+ |
|
42 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-verbose</b> options. |
|
43 |
+ Also applies to subcommands. |
|
27 | 44 |
|
28 |
-## DEPRECATION NOTICE |
|
45 |
+<b>-</b><b>-version</b> |
|
46 |
+: Show the version and exit. |
|
29 | 47 |
|
30 |
-Defaulting to <b>vault</b> is deprecated. Starting in v1.0, the |
|
31 |
-subcommand must be specified explicitly. |
|
48 |
+<b>-h</b>, <b>-</b><b>-help</b> |
|
49 |
+: Show a help message and exit. |
|
50 |
+ |
|
51 |
+## ENVIRONMENT |
|
52 |
+ |
|
53 |
+`DERIVEPASSPHRASE_PATH` |
|
54 |
+: <b>derivepassphrase</b> stores its configuration files and data in this directory. |
|
55 |
+ Defaults to `~/.derivepassphrase` on UNIX-like systems and `C:\Users\<user>\AppData\Roaming\Derivepassphrase` on Windows. |
|
56 |
+ |
|
57 |
+## COMPATIBILITY |
|
58 |
+ |
|
59 |
+### With other software |
|
60 |
+ |
|
61 |
+See the respective subcommand's manpage for compatibility information. |
|
62 |
+ |
|
63 |
+### Forward and backward compatibility |
|
64 |
+ |
|
65 |
+ * [Since v0.2.0.] In v1.0, <b>derivepassphrase export</b> will require an explicit subcommand name. |
|
66 |
+ Defaults to the subcommand <b>vault</b>. |
|
32 | 67 |
|
33 | 68 |
## SEE ALSO |
34 | 69 |
|
35 |
-[derivepassphrase(1)](derivepassphrase.1.md), |
|
36 |
-[derivepassphrase-export-vault(1)] |
|
70 |
+[<i>derivepassphrase</i>(1)](derivepassphrase.1.md), |
|
71 |
+[<i>derivepassphrase-export-vault</i>(1)][VAULT_SUBCMD]. |
|
72 |
+ |
|
73 |
+## AUTHOR |
|
74 |
+ |
|
75 |
+[Marco Ricci](https://the13thletter.info) (`software` at `the13thletter` dot `info`) |
|
37 | 76 |
|
38 | 77 |
[VAULT_SUBCMD]: derivepassphrase-export-vault.1.md |
... | ... |
@@ -158,6 +158,22 @@ The compatibility and extension options modify the behavior to enable additional |
158 | 158 |
|
159 | 159 |
### Other Options |
160 | 160 |
|
161 |
+<b>-</b><b>-debug</b> |
|
162 |
+: Emit all diagnostic information to standard error, including progress, warning and error messages. |
|
163 |
+ |
|
164 |
+ Cancels the effect of any previous <b>-</b><b>-quiet</b> or <b>-</b><b>-verbose</b> options. |
|
165 |
+ |
|
166 |
+<b>-v</b>, <b>-</b><b>-verbose</b> |
|
167 |
+: Emit extra/progress information to standard error, on top of warning and error messages. |
|
168 |
+ |
|
169 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-quiet</b> options. |
|
170 |
+ |
|
171 |
+<b>-q</b>, <b>-</b><b>-quiet</b> |
|
172 |
+: Suppress all other diagnostic output to standard error, except error messages. |
|
173 |
+ This includes warning messages. |
|
174 |
+ |
|
175 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-verbose</b> options. |
|
176 |
+ |
|
161 | 177 |
<b>-</b><b>-version</b> |
162 | 178 |
: Show the version and exit. |
163 | 179 |
|
... | ... |
@@ -427,9 +443,6 @@ Exceptions: |
427 | 443 |
|
428 | 444 |
### Forward and backward compatibility |
429 | 445 |
|
430 |
- * [Since v0.2.0.] |
|
431 |
- In v1.0, the commands <b>derivepassphrase</b> and <b>derivepassphrase export</b> will require an explicit subcommand name. |
|
432 |
- Both default to the subcommand <b>vault</b>. |
|
433 | 446 |
* [Since v0.2.0.] |
434 | 447 |
In v1.0, the configuration data file for the <b>vault</b> subcommand will be named `vault.json`, instead of `config.json`. |
435 | 448 |
* [Since v0.2.0, to be removed in v1.0.] |
... | ... |
@@ -448,6 +461,7 @@ Exceptions: |
448 | 461 |
|
449 | 462 |
## BUGS |
450 | 463 |
|
451 |
- * The defaults are dictated by <i>vault</i>(1), necessitating the ["Compatibility and extension options"](#compatibility-and-extension-options). (WONTFIX.) |
|
464 |
+ * The defaults are dictated by <i>vault</i>(1), necessitating the ["Compatibility and extension options"](#compatibility-and-extension-options). |
|
465 |
+ (WONTFIX.) |
|
452 | 466 |
|
453 | 467 |
* The Windows version does not support SSH keys because Python on Windows does not support the predominant type of inter-process communication used by SSH agents on Windows. |
... | ... |
@@ -2,31 +2,21 @@ |
2 | 2 |
|
3 | 3 |
## NAME |
4 | 4 |
|
5 |
-derivepassphrase – derive a strong passphrase, deterministically, from |
|
6 |
-a master secret |
|
5 |
+derivepassphrase – derive a strong passphrase, deterministically, from a master secret |
|
7 | 6 |
|
8 | 7 |
## SYNOPSIS |
9 | 8 |
|
10 | 9 |
```` |
11 |
-derivepassphrase [SUBCOMMAND_ARGS]... |
|
10 |
+derivepassphrase SUBCOMMAND_ARGS ... |
|
12 | 11 |
```` |
13 | 12 |
|
14 | 13 |
## DESCRIPTION |
15 | 14 |
|
16 |
-Using a master secret, derive a passphrase for a named service, |
|
17 |
-subject to constraints e.g. on passphrase length, allowed |
|
18 |
-characters, etc. The exact derivation depends on the selected |
|
19 |
-derivation scheme. For each scheme, it is computationally |
|
20 |
-infeasible to discern the master secret from the derived passphrase. |
|
21 |
-The derivations are also deterministic, given the same inputs, thus |
|
22 |
-the resulting passphrases need not be stored explicitly. The |
|
23 |
-service name and constraints themselves also generally need not be |
|
24 |
-kept secret, depending on the scheme. |
|
25 |
- |
|
26 |
-The currently implemented subcommands are <b>vault</b> (for the scheme |
|
27 |
-used by vault) and <b>export</b> (for exporting foreign configuration |
|
28 |
-data). See the respective `--help` output for instructions. If no |
|
29 |
-subcommand is given, we default to <b>vault</b>. |
|
15 |
+Using a master secret, derive a passphrase for a named service, subject to constraints e.g. on passphrase length, allowed characters, etc. |
|
16 |
+The exact derivation depends on the selected derivation scheme. |
|
17 |
+Each scheme derives *strong* passphrases by design: the derived passphrases have as much entropy as permitted by the master secret and the passphrase constraints (whichever is more restrictive), and even if multiple derived passphrases are compromised, the master secret remains cryptographically difficult to discern from those compromised passphrases. |
|
18 |
+The derivations are also deterministic, given the same inputs, thus the resulting passphrases need not be stored explicitly. |
|
19 |
+The service name and constraints themselves also generally need not be kept secret, depending on the scheme. |
|
30 | 20 |
|
31 | 21 |
## SUBCOMMANDS |
32 | 22 |
|
... | ... |
@@ -34,24 +24,65 @@ subcommand is given, we default to <b>vault</b>. |
34 | 24 |
: Export a foreign configuration to standard output. |
35 | 25 |
|
36 | 26 |
[<b>vault</b>][VAULT_SUBCMD] |
37 |
-: Derive a passphrase using the vault(1) derivation scheme. |
|
27 |
+: Derive a passphrase using the <i>vault</i>(1) derivation scheme. |
|
38 | 28 |
|
39 |
-## DEPRECATION NOTICE |
|
29 |
+If no subcommand is given, we default to <b>vault</b>. |
|
40 | 30 |
|
41 |
-Defaulting to <b>vault</b> is deprecated. Starting in v1.0, the |
|
42 |
-subcommand must be specified explicitly. |
|
31 |
+## OPTIONS |
|
43 | 32 |
|
44 |
-## CONFIGURATION |
|
33 |
+<b>-</b><b>-debug</b> |
|
34 |
+: Emit all diagnostic information to standard error, including progress, warning and error messages. |
|
45 | 35 |
|
46 |
-Configuration is stored in a directory according to the |
|
47 |
-`$DERIVEPASSPHRASE_PATH` variable, which defaults to |
|
48 |
-`~/.derivepassphrase` on UNIX-like systems and |
|
49 |
-`C:\Users\<user>\AppData\Roaming\Derivepassphrase` on Windows. |
|
36 |
+ Cancels the effect of any previous <b>-</b><b>-quiet</b> or <b>-</b><b>-verbose</b> options. |
|
37 |
+ Also applies to subcommands. |
|
38 |
+ |
|
39 |
+<b>-v</b>, <b>-</b><b>-verbose</b> |
|
40 |
+: Emit extra/progress information to standard error, on top of warning and error messages. |
|
41 |
+ |
|
42 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-quiet</b> options. |
|
43 |
+ Also applies to subcommands. |
|
44 |
+ |
|
45 |
+<b>-q</b>, <b>-</b><b>-quiet</b> |
|
46 |
+: Suppress all other diagnostic output to standard error, except error messages. |
|
47 |
+ This includes warning messages. |
|
48 |
+ |
|
49 |
+ Cancels the effect of any previous <b>-</b><b>-debug</b> or <b>-</b><b>-verbose</b> options. |
|
50 |
+ Also applies to subcommands. |
|
51 |
+ |
|
52 |
+<b>-</b><b>-version</b> |
|
53 |
+: Show the version and exit. |
|
54 |
+ |
|
55 |
+<b>-h</b>, <b>-</b><b>-help</b> |
|
56 |
+: Show a help message and exit. |
|
57 |
+ |
|
58 |
+## ENVIRONMENT |
|
59 |
+ |
|
60 |
+`DERIVEPASSPHRASE_PATH` |
|
61 |
+: <b>derivepassphrase</b> stores its configuration files and data in this directory. |
|
62 |
+ Defaults to `~/.derivepassphrase` on UNIX-like systems and `C:\Users\<user>\AppData\Roaming\Derivepassphrase` on Windows. |
|
63 |
+ |
|
64 |
+## COMPATIBILITY |
|
65 |
+ |
|
66 |
+### With other software |
|
67 |
+ |
|
68 |
+Some derivation schemes are based on other software. |
|
69 |
+See their respective manpages for compatibility information. |
|
70 |
+ |
|
71 |
+Affected derivation schemes: <b>vault</b>. |
|
72 |
+ |
|
73 |
+### Forward and backward compatibility |
|
74 |
+ |
|
75 |
+ * [Since v0.2.0.] In v1.0, <b>derivepassphrase</b> will require an explicit subcommand name. |
|
76 |
+ Defaults to the subcommand <b>vault</b>. |
|
50 | 77 |
|
51 | 78 |
## SEE ALSO |
52 | 79 |
|
53 |
-[derivepassphrase-export(1)][EXPORT_SUBCMD], |
|
54 |
-[derivepassphrase-vault(1)][VAULT_SUBCMD] |
|
80 |
+[<i>derivepassphrase-export</i>(1)][EXPORT_SUBCMD], |
|
81 |
+[<i>derivepassphrase-vault</i>(1)][VAULT_SUBCMD]. |
|
82 |
+ |
|
83 |
+## AUTHOR |
|
84 |
+ |
|
85 |
+[Marco Ricci](https://the13thletter.info) (`software` at `the13thletter` dot `info`) |
|
55 | 86 |
|
56 | 87 |
[EXPORT_SUBCMD]: derivepassphrase-export.1.md |
57 |
-[VAULT_SUBCMD]: derivepassphrase-export.1.md |
|
88 |
+[VAULT_SUBCMD]: derivepassphrase-vault.1.md |
... | ... |
@@ -0,0 +1,221 @@ |
1 |
+.Dd 2025-01-11 |
|
2 |
+.Dt DERIVEPASSPHRASE-EXPORT-VAULT 1 |
|
3 |
+.Os derivepassphrase 0.4.0 |
|
4 |
+. |
|
5 |
+.Sh NAME |
|
6 |
+. |
|
7 |
+.Nm derivepassphrase-export-vault |
|
8 |
+.Nd export a vault-native configuration to standard output |
|
9 |
+. |
|
10 |
+.Sh SYNOPSIS |
|
11 |
+. |
|
12 |
+.Bd -ragged |
|
13 |
+.Nm derivepassphrase export vault |
|
14 |
+.Op Fl f Ar FMT |
|
15 |
+.Op Fl k Ar K |
|
16 |
+.Ar PATH |
|
17 |
+.Ed |
|
18 |
+. |
|
19 |
+.Sh DESCRIPTION |
|
20 |
+. |
|
21 |
+Read the |
|
22 |
+.Xr vault 1 Ns -native |
|
23 |
+configuration at |
|
24 |
+.Ar PATH , |
|
25 |
+extract all information from it, and export the resulting configuration to |
|
26 |
+standard output (as if using |
|
27 |
+.Xr vault 1 Ns 's |
|
28 |
+.Fl \-export |
|
29 |
+option). |
|
30 |
+Depending on the configuration format, this may either be a file or a |
|
31 |
+directory. |
|
32 |
+Supports the |
|
33 |
+.Xr vault 1 |
|
34 |
+.Li v0.2 , |
|
35 |
+.Li v0.3 |
|
36 |
+and |
|
37 |
+.Li storeroom |
|
38 |
+formats, all of which inherently use encryption and integrity protection. |
|
39 |
+.Pp |
|
40 |
+. |
|
41 |
+If |
|
42 |
+.Ar PATH |
|
43 |
+is explicitly listed as |
|
44 |
+.Li VAULT_PATH , |
|
45 |
+then use the |
|
46 |
+.Ev VAULT_PATH |
|
47 |
+environment variable to determine the correct path. |
|
48 |
+.Po |
|
49 |
+Use |
|
50 |
+.Pa ./VAULT_PATH |
|
51 |
+or similar to indicate a file/directory actually named |
|
52 |
+.Pa VAULT_PATH . |
|
53 |
+.Pc |
|
54 |
+. |
|
55 |
+.Sh OPTIONS |
|
56 |
+. |
|
57 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
58 |
+. |
|
59 |
+.It Fl f , \-format Ar FMT |
|
60 |
+Try the storage format |
|
61 |
+.Ar FMT . |
|
62 |
+May be given multiple times; the formats will be tried in order. |
|
63 |
+.Pp |
|
64 |
+. |
|
65 |
+By default, we first try |
|
66 |
+.Li v0.3 , |
|
67 |
+then |
|
68 |
+.Li v0.2 , |
|
69 |
+and finally |
|
70 |
+.Li storeroom . |
|
71 |
+. |
|
72 |
+.It Fl k , \-key Ar K |
|
73 |
+Use |
|
74 |
+.Ar K |
|
75 |
+as the storage master key. |
|
76 |
+.Pp |
|
77 |
+. |
|
78 |
+By default, we check the |
|
79 |
+.Ev VAULT_KEY , |
|
80 |
+.Ev LOGNAME , |
|
81 |
+.Ev USER |
|
82 |
+and |
|
83 |
+.Ev USERNAME |
|
84 |
+environment variables, and use the first one with a proper value |
|
85 |
+.Pq Em and only the first one . |
|
86 |
+. |
|
87 |
+.It Fl \-debug |
|
88 |
+Emit all diagnostic information to standard error, including progress, |
|
89 |
+warning and error messages. |
|
90 |
+.Pp |
|
91 |
+. |
|
92 |
+Cancels the effect of any previous |
|
93 |
+.Fl \-quiet |
|
94 |
+or |
|
95 |
+.Fl \-verbose |
|
96 |
+options. |
|
97 |
+Also applies to subcommands. |
|
98 |
+. |
|
99 |
+.It Fl v , \-verbose |
|
100 |
+Emit extra/progress information to standard error, on top of warning and |
|
101 |
+error messages. |
|
102 |
+.Pp |
|
103 |
+. |
|
104 |
+Cancels the effect of any previous |
|
105 |
+.Fl \-debug |
|
106 |
+or |
|
107 |
+.Fl \-quiet |
|
108 |
+options. |
|
109 |
+Also applies to subcommands. |
|
110 |
+. |
|
111 |
+.It Fl q , \-quiet |
|
112 |
+Suppress all other diagnostic output to standard error, except error |
|
113 |
+messages. |
|
114 |
+.Pp |
|
115 |
+. |
|
116 |
+Cancels the effect of any previous |
|
117 |
+.Fl \-debug |
|
118 |
+or |
|
119 |
+.Fl \-verbose |
|
120 |
+options. |
|
121 |
+Also applies to subcommands. |
|
122 |
+. |
|
123 |
+.It Fl \-version |
|
124 |
+Show the version and exit. |
|
125 |
+. |
|
126 |
+.It Fl h , \-help |
|
127 |
+Show a help message and exit. |
|
128 |
+. |
|
129 |
+.El |
|
130 |
+. |
|
131 |
+.Sh ENVIRONMENT |
|
132 |
+. |
|
133 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
134 |
+. |
|
135 |
+.It Ev DERIVEPASSPHRASE_PATH |
|
136 |
+.Nm derivepassphrase |
|
137 |
+stores its configuration files and data in this directory. |
|
138 |
+Defaults to |
|
139 |
+.Pa \(ti/.derivepassphrase |
|
140 |
+on UNIX-like systems and |
|
141 |
+.Pa C:\[rs]Users\[rs]<user>\[rs]AppData\[rs]Roaming\[rs]Derivepassphrase |
|
142 |
+on Windows. |
|
143 |
+. |
|
144 |
+.It Ev VAULT_PATH |
|
145 |
+A default path, relative to the home directory, where to look for the |
|
146 |
+configuration to load. |
|
147 |
+. |
|
148 |
+.It Ev VAULT_KEY |
|
149 |
+A password with which the vault configuration is encrypted. |
|
150 |
+The password is interpreted as a UTF-8 byte string. |
|
151 |
+. |
|
152 |
+.It Ev LOGNAME , USER , USERNAME |
|
153 |
+Fallback values for |
|
154 |
+.Ev VAULT_KEY . |
|
155 |
+. |
|
156 |
+.El |
|
157 |
+. |
|
158 |
+.Sh COMPATIBILITY |
|
159 |
+. |
|
160 |
+.Ss With other software |
|
161 |
+. |
|
162 |
+.Nm derivepassphrase export vault |
|
163 |
+fully supports reading the configuration formats used by |
|
164 |
+.Xr vault 1 |
|
165 |
+v0.3 and lower |
|
166 |
+.Pq formats Li v0.2 No and Li v0.3 , |
|
167 |
+as well as the |
|
168 |
+.Li storeroom |
|
169 |
+format used in development builds after |
|
170 |
+.Xr vault 1 |
|
171 |
+v0.3 |
|
172 |
+.Pq Li storeroom No version 1 . |
|
173 |
+.Pp |
|
174 |
+. |
|
175 |
+There is no corresponding |
|
176 |
+.Dq import |
|
177 |
+subcommand, nor is there support for writing configuration files or |
|
178 |
+directories in any of the aforementioned formats. |
|
179 |
+. |
|
180 |
+.Sh SEE ALSO |
|
181 |
+. |
|
182 |
+.Xr derivepassphrase 1 . |
|
183 |
+.Rs |
|
184 |
+.%A "James Coglan" |
|
185 |
+.%T "vault(1)" |
|
186 |
+.%U https://www.npmjs.com/package/vault |
|
187 |
+.Re |
|
188 |
+.Pp |
|
189 |
+. |
|
190 |
+Further online documentation for |
|
191 |
+.Xr derivepassphrase 1 |
|
192 |
+.Pq tutorials, how-tos, reference and design documentation |
|
193 |
+is available at |
|
194 |
+.Lk https://the13thletter.info/derivepassphrase/ . |
|
195 |
+. |
|
196 |
+.Sh AUTHOR |
|
197 |
+. |
|
198 |
+.Lk mailto:software@the13thletter.info "Marco Ricci" |
|
199 |
+. |
|
200 |
+.Sh BUGS |
|
201 |
+. |
|
202 |
+.Bl -bullet |
|
203 |
+.It |
|
204 |
+There is no support for writing |
|
205 |
+.Xr vault 1 |
|
206 |
+configuration files or directories in any of the aforementioned formats. |
|
207 |
+.Pp |
|
208 |
+WONTFIX: two-way interoperability of configuration file disk formats is |
|
209 |
+currently out of scope. |
|
210 |
+Use the standard |
|
211 |
+.Fl \-import |
|
212 |
+and |
|
213 |
+.Fl \-export |
|
214 |
+options of both |
|
215 |
+.Xr vault 1 |
|
216 |
+and |
|
217 |
+.Nm derivepassphrase vault |
|
218 |
+.Ns . |
|
219 |
+. |
|
220 |
+.El |
|
221 |
+. |
... | ... |
@@ -0,0 +1,136 @@ |
1 |
+.Dd 2025-01-11 |
|
2 |
+.Dt DERIVEPASSPHRASE-EXPORT 1 |
|
3 |
+.Os derivepassphrase 0.4.0 |
|
4 |
+. |
|
5 |
+.Sh NAME |
|
6 |
+. |
|
7 |
+.Nm derivepassphrase-export |
|
8 |
+.Nd export a foreign configuration to standard output |
|
9 |
+. |
|
10 |
+.Sh SYNOPSIS |
|
11 |
+. |
|
12 |
+.Bd -ragged |
|
13 |
+.Nm derivepassphrase export |
|
14 |
+.Ar SUBCOMMAND_ARGS No .\|.\|. |
|
15 |
+.Ed |
|
16 |
+. |
|
17 |
+.Sh DESCRIPTION |
|
18 |
+. |
|
19 |
+Read a foreign system configuration, extract all information from it, |
|
20 |
+and export the resulting configuration to standard output. |
|
21 |
+. |
|
22 |
+.Sh SUBCOMMANDS |
|
23 |
+. |
|
24 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
25 |
+. |
|
26 |
+.It Ar vault |
|
27 |
+Export a |
|
28 |
+.Xr vault 1 |
|
29 |
+.Ns -native |
|
30 |
+configuration to standard output. |
|
31 |
+. |
|
32 |
+.El |
|
33 |
+.Pp |
|
34 |
+. |
|
35 |
+If no subcommand is given, we default to |
|
36 |
+.Ar vault . |
|
37 |
+. |
|
38 |
+.Sh OPTIONS |
|
39 |
+. |
|
40 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
41 |
+. |
|
42 |
+.It Fl \-debug |
|
43 |
+Emit all diagnostic information to standard error, including progress, |
|
44 |
+warning and error messages. |
|
45 |
+.Pp |
|
46 |
+. |
|
47 |
+Cancels the effect of any previous |
|
48 |
+.Fl \-quiet |
|
49 |
+or |
|
50 |
+.Fl \-verbose |
|
51 |
+options. |
|
52 |
+Also applies to subcommands. |
|
53 |
+. |
|
54 |
+.It Fl v , \-verbose |
|
55 |
+Emit extra/progress information to standard error, on top of warning and |
|
56 |
+error messages. |
|
57 |
+.Pp |
|
58 |
+. |
|
59 |
+Cancels the effect of any previous |
|
60 |
+.Fl \-debug |
|
61 |
+or |
|
62 |
+.Fl \-quiet |
|
63 |
+options. |
|
64 |
+Also applies to subcommands. |
|
65 |
+. |
|
66 |
+.It Fl q , \-quiet |
|
67 |
+Suppress all other diagnostic output to standard error, except error |
|
68 |
+messages. |
|
69 |
+.Pp |
|
70 |
+. |
|
71 |
+Cancels the effect of any previous |
|
72 |
+.Fl \-debug |
|
73 |
+or |
|
74 |
+.Fl \-verbose |
|
75 |
+options. |
|
76 |
+Also applies to subcommands. |
|
77 |
+. |
|
78 |
+.It Fl \-version |
|
79 |
+Show the version and exit. |
|
80 |
+. |
|
81 |
+.It Fl h , \-help |
|
82 |
+Show a help message and exit. |
|
83 |
+. |
|
84 |
+.El |
|
85 |
+. |
|
86 |
+.Sh ENVIRONMENT |
|
87 |
+. |
|
88 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
89 |
+. |
|
90 |
+.It Ev DERIVEPASSPHRASE_PATH |
|
91 |
+.Nm derivepassphrase |
|
92 |
+stores its configuration files and data in this directory. |
|
93 |
+Defaults to |
|
94 |
+.Pa \(ti/.derivepassphrase |
|
95 |
+on UNIX-like systems and |
|
96 |
+.Pa C:\[rs]Users\[rs]<user>\[rs]AppData\[rs]Roaming\[rs]Derivepassphrase |
|
97 |
+on Windows. |
|
98 |
+. |
|
99 |
+.El |
|
100 |
+. |
|
101 |
+.Sh COMPATIBILITY |
|
102 |
+. |
|
103 |
+.Ss With other software |
|
104 |
+. |
|
105 |
+See the respective subcommand's manpage for compatibility information. |
|
106 |
+. |
|
107 |
+.Ss Forward and backward compatibility |
|
108 |
+. |
|
109 |
+.Bl -bullet |
|
110 |
+. |
|
111 |
+.It |
|
112 |
+.Bo Since v0.2.0 . Bc |
|
113 |
+In v1.0, |
|
114 |
+.Nm derivepassphrase export |
|
115 |
+will require an explicit subcommand name. |
|
116 |
+Defaults to the subcommand |
|
117 |
+.Ic vault . |
|
118 |
+. |
|
119 |
+.El |
|
120 |
+. |
|
121 |
+.Sh SEE ALSO |
|
122 |
+. |
|
123 |
+.Xr derivepassphrase 1 , |
|
124 |
+.Xr derivepassphrase-export-vault 1 . |
|
125 |
+.Pp |
|
126 |
+. |
|
127 |
+Further online documentation for |
|
128 |
+.Xr derivepassphrase 1 |
|
129 |
+.Pq tutorials, how-tos, reference and design documentation |
|
130 |
+is available at |
|
131 |
+.Lk https://the13thletter.info/derivepassphrase/ . |
|
132 |
+. |
|
133 |
+.Sh AUTHOR |
|
134 |
+. |
|
135 |
+.Lk mailto:software@the13thletter.info "Marco Ricci" |
|
136 |
+. |
... | ... |
@@ -1,4 +1,4 @@ |
1 |
-.Dd 2025-01-07 |
|
1 |
+.Dd 2025-01-11 |
|
2 | 2 |
.Dt DERIVEPASSPHRASE-VAULT 1 |
3 | 3 |
.Os derivepassphrase 0.4.0 |
4 | 4 |
. |
... | ... |
@@ -408,6 +408,42 @@ were always given.) |
408 | 408 |
. |
409 | 409 |
.Bl -tag -width ".Fl p , \-phrase" |
410 | 410 |
. |
411 |
+.It Fl \-debug |
|
412 |
+Emit all diagnostic information to standard error, including progress, |
|
413 |
+warning and error messages. |
|
414 |
+.Pp |
|
415 |
+. |
|
416 |
+Cancels the effect of any previous |
|
417 |
+.Fl \-quiet |
|
418 |
+or |
|
419 |
+.Fl \-verbose |
|
420 |
+options. |
|
421 |
+Also applies to subcommands. |
|
422 |
+. |
|
423 |
+.It Fl v , \-verbose |
|
424 |
+Emit extra/progress information to standard error, on top of warning and |
|
425 |
+error messages. |
|
426 |
+.Pp |
|
427 |
+. |
|
428 |
+Cancels the effect of any previous |
|
429 |
+.Fl \-debug |
|
430 |
+or |
|
431 |
+.Fl \-quiet |
|
432 |
+options. |
|
433 |
+Also applies to subcommands. |
|
434 |
+. |
|
435 |
+.It Fl q , \-quiet |
|
436 |
+Suppress all other diagnostic output to standard error, except error |
|
437 |
+messages. |
|
438 |
+.Pp |
|
439 |
+. |
|
440 |
+Cancels the effect of any previous |
|
441 |
+.Fl \-debug |
|
442 |
+or |
|
443 |
+.Fl \-verbose |
|
444 |
+options. |
|
445 |
+Also applies to subcommands. |
|
446 |
+. |
|
411 | 447 |
.It Fl \-version |
412 | 448 |
Show the version and exit. |
413 | 449 |
. |
... | ... |
@@ -887,16 +923,6 @@ can read both these formats and export the contents.) |
887 | 923 |
. |
888 | 924 |
.It |
889 | 925 |
.Bo Since v0.2.0 . Bc |
890 |
-In v1.0, the commands |
|
891 |
-.Nm derivepassphrase |
|
892 |
-and |
|
893 |
-.Nm derivepassphrase export |
|
894 |
-will require an explicit subcommand name. |
|
895 |
-Both default to the subcommand |
|
896 |
-.Ic vault . |
|
897 |
-. |
|
898 |
-.It |
|
899 |
-.Bo Since v0.2.0 . Bc |
|
900 | 926 |
In v1.0, the configuration data file for the |
901 | 927 |
.Ic vault |
902 | 928 |
subcommand will be named |
... | ... |
@@ -0,0 +1,157 @@ |
1 |
+.Dd 2025-01-11 |
|
2 |
+.Dt DERIVEPASSPHRASE 1 |
|
3 |
+.Os derivepassphrase 0.4.0 |
|
4 |
+. |
|
5 |
+.Sh NAME |
|
6 |
+. |
|
7 |
+.Nm derivepassphrase |
|
8 |
+.Nd derive a strong passphrase, deterministically, from a master secret |
|
9 |
+. |
|
10 |
+.Sh SYNOPSIS |
|
11 |
+. |
|
12 |
+.Bd -ragged |
|
13 |
+.Nm derivepassphrase |
|
14 |
+.Ar SUBCOMMAND_ARGS No .\|.\|. |
|
15 |
+.Ed |
|
16 |
+. |
|
17 |
+.Sh DESCRIPTION |
|
18 |
+. |
|
19 |
+Using a master secret, derive a passphrase for a named service, subject to |
|
20 |
+constraints e.g.\& on passphrase length, allowed characters, etc. |
|
21 |
+The exact derivation depends on the selected derivation scheme. |
|
22 |
+Each scheme derives |
|
23 |
+.Em strong |
|
24 |
+passphrases by design: |
|
25 |
+the derived passphrases have as much entropy as permitted by the master secret |
|
26 |
+and the passphrase constraints |
|
27 |
+.Pq whichever is more restrictive , |
|
28 |
+and even if multiple derived passphrases are compromised, the master secret |
|
29 |
+remains cryptographically difficult to discern from those compromised |
|
30 |
+passphrases. |
|
31 |
+The derivations are also deterministic, given the same inputs, thus the |
|
32 |
+resulting passphrsases need not be stored explicitly. |
|
33 |
+The service name and constraints themselves also generally need not be kept |
|
34 |
+secret, depending on the scheme. |
|
35 |
+. |
|
36 |
+.Sh SUBCOMMANDS |
|
37 |
+. |
|
38 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
39 |
+. |
|
40 |
+.It Ar export |
|
41 |
+Export a foreign configuration to standard output. |
|
42 |
+. |
|
43 |
+.It Ar vault |
|
44 |
+Derive a passphrase using the |
|
45 |
+.Xr vault 1 |
|
46 |
+derivation scheme. |
|
47 |
+. |
|
48 |
+.El |
|
49 |
+.Pp |
|
50 |
+. |
|
51 |
+If no subcommand is given, we default to |
|
52 |
+.Ar vault . |
|
53 |
+. |
|
54 |
+.Sh OPTIONS |
|
55 |
+. |
|
56 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
57 |
+. |
|
58 |
+.It Fl \-debug |
|
59 |
+Emit all diagnostic information to standard error, including progress, |
|
60 |
+warning and error messages. |
|
61 |
+.Pp |
|
62 |
+. |
|
63 |
+Cancels the effect of any previous |
|
64 |
+.Fl \-quiet |
|
65 |
+or |
|
66 |
+.Fl \-verbose |
|
67 |
+options. |
|
68 |
+Also applies to subcommands. |
|
69 |
+. |
|
70 |
+.It Fl v , \-verbose |
|
71 |
+Emit extra/progress information to standard error, on top of warning and |
|
72 |
+error messages. |
|
73 |
+.Pp |
|
74 |
+. |
|
75 |
+Cancels the effect of any previous |
|
76 |
+.Fl \-debug |
|
77 |
+or |
|
78 |
+.Fl \-quiet |
|
79 |
+options. |
|
80 |
+Also applies to subcommands. |
|
81 |
+. |
|
82 |
+.It Fl q , \-quiet |
|
83 |
+Suppress all other diagnostic output to standard error, except error |
|
84 |
+messages. |
|
85 |
+.Pp |
|
86 |
+. |
|
87 |
+Cancels the effect of any previous |
|
88 |
+.Fl \-debug |
|
89 |
+or |
|
90 |
+.Fl \-verbose |
|
91 |
+options. |
|
92 |
+Also applies to subcommands. |
|
93 |
+. |
|
94 |
+.It Fl \-version |
|
95 |
+Show the version and exit. |
|
96 |
+. |
|
97 |
+.It Fl h , \-help |
|
98 |
+Show a help message and exit. |
|
99 |
+. |
|
100 |
+.El |
|
101 |
+. |
|
102 |
+.Sh ENVIRONMENT |
|
103 |
+. |
|
104 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
105 |
+. |
|
106 |
+.It Ev DERIVEPASSPHRASE_PATH |
|
107 |
+.Nm derivepassphrase |
|
108 |
+stores its configuration files and data in this directory. |
|
109 |
+Defaults to |
|
110 |
+.Pa \(ti/.derivepassphrase |
|
111 |
+on UNIX-like systems and |
|
112 |
+.Pa C:\[rs]Users\[rs]<user>\[rs]AppData\[rs]Roaming\[rs]Derivepassphrase |
|
113 |
+on Windows. |
|
114 |
+. |
|
115 |
+.El |
|
116 |
+. |
|
117 |
+.Sh COMPATIBILITY |
|
118 |
+. |
|
119 |
+.Ss With other software |
|
120 |
+. |
|
121 |
+Some derivation schemes are based on other software. |
|
122 |
+See their respective manpages for compatibility information. |
|
123 |
+.Pp |
|
124 |
+. |
|
125 |
+Affected derivation schemes: |
|
126 |
+.Ar vault . |
|
127 |
+. |
|
128 |
+.Ss Forward and backward compatibility |
|
129 |
+. |
|
130 |
+.Bl -bullet |
|
131 |
+. |
|
132 |
+.It |
|
133 |
+.Bo Since v0.2.0 . Bc |
|
134 |
+In v1.0, |
|
135 |
+.Nm derivepassphrase |
|
136 |
+will require an explicit subcommand name. |
|
137 |
+Defaults to the subcommand |
|
138 |
+.Ic vault . |
|
139 |
+. |
|
140 |
+.El |
|
141 |
+. |
|
142 |
+.Sh SEE ALSO |
|
143 |
+. |
|
144 |
+.Xr derivepassphrase-export 1 , |
|
145 |
+.Xr derivepassphrase-vault 1 . |
|
146 |
+.Pp |
|
147 |
+. |
|
148 |
+Further online documentation for |
|
149 |
+.Xr derivepassphrase 1 |
|
150 |
+.Pq tutorials, how-tos, reference and design documentation |
|
151 |
+is available at |
|
152 |
+.Lk https://the13thletter.info/derivepassphrase/ . |
|
153 |
+. |
|
154 |
+.Sh AUTHOR |
|
155 |
+. |
|
156 |
+.Lk mailto:software@the13thletter.info "Marco Ricci" |
|
157 |
+. |
|
0 | 158 |