File: //lib/courier-imap/sbin/mkimapdcert
#! /bin/sh
#
# $Id: mkimapdcert.in,v 1.4 2001/08/26 15:49:50 mrsam Exp $
#
# Copyright 2000 Double Precision, Inc. See COPYING for
# distribution information.
#
# This is a short script to quickly generate a self-signed X.509 key for
# IMAP over SSL. Normally this script would get called by an automatic
# package installation routine.
test -x /usr/bin/openssl || exit 0
prefix="/usr/lib/courier-imap"
if test -f /usr/lib/courier-imap/share/imapd.pem
then
echo "/usr/lib/courier-imap/share/imapd.pem already exists."
exit 1
fi
cp /dev/null /usr/lib/courier-imap/share/imapd.pem
chmod 600 /usr/lib/courier-imap/share/imapd.pem
chown root /usr/lib/courier-imap/share/imapd.pem
cleanup() {
rm -f /usr/lib/courier-imap/share/imapd.pem
rm -f /usr/lib/courier-imap/share/imapd.rand
exit 1
}
cd /usr/lib/courier-imap/share
dd if=/dev/urandom of=/usr/lib/courier-imap/share/imapd.rand count=1 2>/dev/null
/usr/bin/openssl req -new -x509 -days 365 -nodes \
-config /usr/lib/courier-imap/etc/imapd.cnf -out /usr/lib/courier-imap/share/imapd.pem -keyout /usr/lib/courier-imap/share/imapd.pem || cleanup
/usr/bin/openssl gendh -rand /usr/lib/courier-imap/share/imapd.rand 512 >>/usr/lib/courier-imap/share/imapd.pem || cleanup
/usr/bin/openssl x509 -subject -dates -fingerprint -noout -in /usr/lib/courier-imap/share/imapd.pem || cleanup
rm -f /usr/lib/courier-imap/share/imapd.rand