#!/bin/bash
tmp=`mktemp -d "${TMPDIR:-/tmp}/pxboard.$$.XXXXXX"` || exit 1
cd $tmp
mkdir certs crl newcerts private
echo "01" > serial
cp /dev/null index.txt

cat /usr/share/ssl/openssl.cnf | sed -e 's/\.\/demoCA/\./' > openssl.cnf

openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 365 -config openssl.cnf

# make a new certificate
openssl req -nodes -new -x509 -keyout newreq.pem -out newreq.pem -days 365 -config openssl.cnf

# sign new certificate with certificate authority
openssl x509 -x509toreq -in newreq.pem -signkey newreq.pem -out tmp.pem
openssl ca -config openssl.cnf -policy policy_anything -out newcert.pem -infiles tmp.pem

if [ -d /etc/mail/certs ]; then
  echo "Moved /etc/mail/certs to /etc/mail/certs.old"
  mv -f /etc/mail/certs /etc/mail/certs.old
fi

mkdir /etc/mail/certs
cp cacert.pem /etc/mail/certs
grep -B 100  "END RSA PRIVATE KEY" newreq.pem > /etc/mail/certs/key.pem
chmod 400 /etc/mail/certs/key.pem
cp newcert.pem /etc/mail/certs/cert.pem

