#! /bin/sh
#
# $Id: mkpop3dcert.in,v 1.2 2005/06/29 18:01:17 mrsam Exp $
#
# Copyright 2000-2005 Double Precision, Inc.  See COPYING for
# distribution information.
#
# This is a short script to quickly generate a self-signed X.509 key for
# POP3 over SSL.  Normally this script would get called by an automatic
# package installation routine.

test -x /usr/local/sbin/openssl || exit 0

prefix="/usr"

if test -f /usr/share/courier-imap/pop3d.pem
then
	echo "/usr/share/courier-imap/pop3d.pem already exists."
	exit 1
fi

umask 077
cp /dev/null @sysconfig@/courier-imap/pop3d.pem
chmod 600 @sysconfig@/courier-imap/pop3d.pem
chown root @sysconfig@/courier-imap/pop3d.pem

cleanup() {
	rm -f @sysconfig@/courier-imap/pop3d.pem
	rm -f @sysconfig@/courier-imap/pop3d.rand
	exit 1
}

dd if=/dev/urandom of=@sysconfig@/courier-imap/pop3d.rand count=1 2>/dev/null
/usr/local/sbin/openssl req -new -x509 -days 365 -nodes \
	-config /etc/courier/pop3d.cnf -out @sysconfig@/courier-imap/pop3d.pem -keyout @sysconfig@/courier-imap/pop3d.pem || cleanup
/usr/local/sbin/openssl gendh -rand @sysconfig@/courier-imap/pop3d.rand 512 >> @sysconfig@/courier-imap/pop3d.pem || cleanup
/usr/local/sbin/openssl x509 -subject -dates -fingerprint -noout -in @sysconfig@/courier-imap/pop3d.pem || cleanup
rm -f @sysconfig@/courier-imap/pop3d.rand
