osslconfexamples/createca.sh

41 lines
663 B
Bash

#!/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"