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 skipped. The regression test breaks one vault's metadata, once with content that does not parse and once with a test filesystem that fails to open it, and requires CreateVault with the same mnemonic to fail, naming the file, and leave no new vault. Model: opus-5-5
This commit is contained in:
@@ -531,7 +531,11 @@ 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`
|
||||
exists but cannot be read or parsed; a vault directory with no
|
||||
`vault-metadata.json` is skipped, so the index it uses can be given to a new
|
||||
vault
|
||||
- **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