chiark / gitweb /
Multiple key types, key profiles, and user key storage.
[distorted-keys] / keys.recover
old mode 100644 (file)
new mode 100755 (executable)
similarity index 77%
rename from recover
rename to keys.recover
index b4f64d2..2c48be8
--- a/recover
@@ -33,27 +33,14 @@ Recover the secret LABEL using recovery key RECOV.
 
 The recovery key must be revealed.  The secret is written to stdout.
 HELP
 
 The recovery key must be revealed.  The secret is written to stdout.
 HELP
-dohelp
 
 ## Parse the command line.
 
 ## Parse the command line.
-case $# in 2) ;; *) echo >&2 "$usage"; exit 1 ;; esac
+case $# in 2) ;; *) usage_err ;; esac
 recov=$1 label=$2
 checklabel "recovery key label" "$recov"
 checklabel "secret" "$label"
 
 ## Do the recovery.
 recov=$1 label=$2
 checklabel "recovery key label" "$recov"
 checklabel "secret" "$label"
 
 ## Do the recovery.
-blob=$KEYS/recov/$recov/current/$label.recov
-if [ ! -f $blob ]; then
-  echo >&2 "$quis: no recovery blob for secret \`$label'"
-  exit 1
-fi
-mem=$(userv root claim-mem-dir </dev/null)
-reveal=$mem/keys.reveal/$recov.current/secret
-if [ ! -f $reveal ]; then
-  echo >&2 "$quis: current $recov key not revealed"
-  exit 1
-fi
-tmp=$(mktmp); cleanup rmtmp
-ec_decrypt $reveal -i$blob
+recover $recov $label
 
 ###----- That's all, folks --------------------------------------------------
 
 ###----- That's all, folks --------------------------------------------------