#!/bin/sh
umask 077

answers() {
	echo --
	echo SomeState
	echo SomeCity
	echo SomeOrganization
	echo SomeOrganizationalUnit
	echo localhost.localdomain
	echo root@localhost.localdomain
}

if [ $# -eq 0 ] ; then
	echo $"Usage: `basename $0` filename [...]"
	exit 0
fi

WORKDIR=

exit_handler()
{
	local rc=$?
	trap - EXIT
	[ -z "$WORKDIR" ] || rm -rf "$WORKDIR"
	exit $rc
}

trap exit_handler SIGHUP SIGPIPE SIGINT SIGQUIT SIGTERM EXIT

WORKDIR="$(mktemp -dt "$PROG.XXXXXXXXXX")" || exit

PEM1="$WORKDIR/pem1"
PEM2="$WORKDIR/pem2"

for target in "$@"; do
	answers | /usr/bin/openssl req -newkey rsa:1024 -keyout "$PEM1" -nodes -x509 -days 365 -out "$PEM2" 2> /dev/null
	cat "$PEM1" >  ${target}
	echo        >> ${target}
	cat "$PEM2" >> ${target}
	rm -f "$PEM1" "$PEM2"
done
