Stop vault creation when a vault's metadata cannot be read (closes #140)
check / check (push) Waiting to run
check / check (push) Waiting to run
GetNextDerivationIndex passed over a vault whose vault-metadata.json could not be read or parsed, so the next vault made from the same mnemonic could get that vault's derivation index and so the same long-term key. It now returns an error naming the file, and vault create, vault import and init stop before writing anything. A vault directory with no metadata file is still passed over. The regression test corrupts one vault's metadata and requires CreateVault with the same mnemonic to fail, naming the file, and leave no new vault. Unverified by test: an unreadable metadata file; checked by hand only. Model: opus-5-5
This commit is contained in:
@@ -517,7 +517,9 @@ secret decrypt encryption/mykey --input document.txt.age --output document.txt
|
||||
### Vault Management
|
||||
|
||||
- **Derivation Index**: Each vault uses a unique derivation index from the
|
||||
mnemonic, and thus a unique key pair
|
||||
mnemonic, and thus a unique key pair; creating a vault or importing a mnemonic
|
||||
fails, with an error naming the file, when any vault's `vault-metadata.json`
|
||||
cannot be read or parsed, as that vault's index is then unknown
|
||||
- **Public Key Hash**: Double SHA-256 hash of the vault's public key; the same
|
||||
hash of the index-0 public key identifies vaults from the same mnemonic
|
||||
- **Automatic Key Derivation**: When creating vaults with a mnemonic, keys are
|
||||
|
||||
Reference in New Issue
Block a user