X-Git-Url: https://git.distorted.org.uk/~mdw/distorted-keys/blobdiff_plain/599c8f754492a6555503fedb8a2662ec229fb8e8..c47f2aba7d705252c660ba1ad0931fbb93122d80:/keys.new-keeper diff --git a/keys.new-keeper b/keys.new-keeper new file mode 100755 index 0000000..45764bd --- /dev/null +++ b/keys.new-keeper @@ -0,0 +1,82 @@ +#! /bin/sh +### +### Construct a new set of keeper keys +### +### (c) 2011 Mark Wooding +### + +###----- Licensing notice --------------------------------------------------- +### +### This file is part of the distorted.org.uk key management suite. +### +### distorted-keys is free software; you can redistribute it and/or modify +### it under the terms of the GNU General Public License as published by +### the Free Software Foundation; either version 2 of the License, or +### (at your option) any later version. +### +### distorted-keys is distributed in the hope that it will be useful, +### but WITHOUT ANY WARRANTY; without even the implied warranty of +### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +### GNU General Public License for more details. +### +### You should have received a copy of the GNU General Public License +### along with distorted-keys; if not, write to the Free Software Foundation, +### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +set -e +case "${KEYSLIB+t}" in t) ;; *) echo >&2 "$0: KEYSLIB unset"; exit 1 ;; esac +. "$KEYSLIB"/keyfunc.sh + +defhelp <&2 "$0: keeper set \`$keeper' already exists" + exit 1 +fi +if [ -e $keeper ]; then + echo >&2 "$0: destination \`$keeper' already exists" + exit 1 +fi + +## Generate the private keys, one per file, and compute the public keys. +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 + 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 + +###----- That's all, folks --------------------------------------------------