#!/bin/sh

set -e

usage() {
  echo "Usage: $1 <cabasedir> <reqconf> <caconf>"
  exit 1
}

if [ $# -lt 3 ]; then
  usage $0
fi

if [ ! -f "$2" ]; then
  echo "$2 is no file."
  usage $0
fi
REQCONF="$2"

if [ ! -f "$3" ]; then
  echo "$2 is no file."
  usage $0
fi
CACONF="$3"

if [ -d "$1" ]; then
  echo "$1 does already exist. Please specify a new directory."
  usage $0
fi
CADIR="$1"

mkdir -p "${CADIR}/certs"
mkdir -p "${CADIR}/crl"
mkdir -p "${CADIR}/newcerts"
mkdir -p "${CADIR}/private"

openssl req -new -x509 -config "${REQCONF}" -out "${CADIR}/ca.crt.pem" -keyout "${CADIR}/private/ca.key.pem"

echo "01" > "${CADIR}/serial"
touch "${CADIR}/index.txt"