#! /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 "$quis: keeper set \`$keeper' already exists" exit 1 fi if [ -e $SAFE/keys.keeper/$keeper ]; then echo >&2 "$quis: destination \`$keeper' already exists" exit 1 fi ;; t) rm -rf $KEYS/keeper/$keeper rm -rf $SAFE/keys.keeper/$keeper/ ;; esac ## Generate the private keys, one per file, and compute the public keys. mktmp mkdir -m700 -p $SAFE/keys.keeper/ cd $SAFE/keys.keeper/ 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 --------------------------------------------------