X-Git-Url: https://git.distorted.org.uk/~mdw/distorted-keys/blobdiff_plain/599c8f754492a6555503fedb8a2662ec229fb8e8:/new-keeper..c47f2aba7d705252c660ba1ad0931fbb93122d80:/keys.new-keeper diff --git a/new-keeper b/keys.new-keeper similarity index 77% rename from new-keeper rename to keys.new-keeper index 05423f4..45764bd 100755 --- a/new-keeper +++ b/keys.new-keeper @@ -28,21 +28,29 @@ case "${KEYSLIB+t}" in t) ;; *) echo >&2 "$0: KEYSLIB unset"; exit 1 ;; esac . "$KEYSLIB"/keyfunc.sh defhelp <&2 "$usage"; exit 1 ;; esac -keeper=$1 n=$2 +profile=${keeper_profile-keeper} +while getopts "p:" opt; do + case "$opt" in + p) profile=$OPTARG ;; + *) usage_err ;; + esac +done +shift $(( $OPTIND - 1 )) +case $# in 0 | 1) usage_err ;; esac +keeper=$1 n=$2; shift 2 checkword "keeper set label" "$keeper" checknumber "set size" "$n" +checkword "profile label" "$profile" ## Preflight checking. if [ -e $KEYS/keeper/$keeper ]; then @@ -55,15 +63,18 @@ if [ -e $keeper ]; then fi ## Generate the private keys, one per file, and compute the public keys. -tmp=$(mktmp); cleanup rmtmp +mktmp rm -rf $keeper.new mkdir -m700 $keeper.new mkdir -p -m755 $KEYS/keeper/$keeper.new echo $n >$KEYS/keeper/$keeper.new/meta i=0 while [ $i -lt $n ]; do - ec_keygen $keeper.new/$i $KEYS/keeper/$keeper.new/$i.pub - i=$(( i + 1 )) + c_gensyskey $profile \ + $KEYS/keeper/$keeper.new/$i \ + $keeper.new/$i \ + keeper="$keeper" seq="$i" tot="$n" "$@" + i=$(( $i + 1 )) done mv $keeper.new $keeper mv $KEYS/keeper/$keeper.new $KEYS/keeper/$keeper