#!/bin/sh
openssl=/usr/local/ssl/bin
SH=/bin/sh
RM=/bin/rm
PATH=$openssl:$PATH
export SH PATH

set -x

ca(){
SSLEAY_CONFIG="-config CAss.cnf"
export SSLEAY_CONFIG

$RM -fr demoCA
$SH miCA.sh -newca </dev/null || exit 1
}

req(){
echo "Issuing request for `hostname` ($file):"
if [ ${server:-""} = "server" ]; then
    SSLEAY_CONFIG="-config server.cnf"
else
    SSLEAY_CONFIG="-config client.cnf"
fi
export SSLEAY_CONFIG
$SH miCA.sh -newreq $file || exit 1
}

cert(){
echo "Issuing certificate for $file"
SSLEAY_CONFIG="-config openssl.cnf"
export SSLEAY_CONFIG
$SH miCA.sh -sign $file <<EOF
y
y
EOF
[ $? = 0 ] || exit 1
}

case $1 in
-ca)
    ca
    exit 0
    ;;
-req)
    file=$2
    server=$3
    req
    exit 0
    ;;
-cert)
    file=$2
    server=$3
    cert
    exit 0
    ;;
*)
    echo "Unknown arg $i";
    echo "Usage: testca -ca"
    echo "       testca {-req|-cert} hostname [server]"
    exit 1
    ;;
esac

