#!/bin/bash

#
# Creates or overwrites 3 files in ./res/raw:
#   - cacert.der
#   - userkey.der
#   - usercert.der
#

tmpdir=$(mktemp -d './XXXXXXXX')
trap 'rm -r ${tmpdir}; echo; exit 1' EXIT INT QUIT

# CA_default defined in openssl.cnf
CA_DIR='demoCA'

SUBJECT=\
'/C=US'\
'/ST=CA'\
'/L=Mountain View'\
'/O=Android'\
'/CN=localhost'
PASSWORD='androidtest'
SAN=\
'DNS:localhost'

echo "Creating directory '$CA_DIR'..."
mkdir -p "$tmpdir"/"$CA_DIR"/newcerts \
    && echo '01' > "$tmpdir"/"$CA_DIR"/serial \
    && touch "$tmpdir"/"$CA_DIR"/index.txt
cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=$SAN") \
    > "$tmpdir"/openssl.conf

echo "Generating CA certificate..."
(cd "$tmpdir" \
    && openssl req \
        -new \
        -x509 \
        -days 3650 \
        -extensions v3_ca \
        -keyout 'cakey.pem' \
        -out 'cacert.pem' \
        -subj "$SUBJECT" \
        -passout 'pass:'"$PASSWORD" \
    && openssl x509 \
        -outform DER \
        -in 'cacert.pem' \
        -out 'cacert.der')

echo "Generating user key..."
(cd "$tmpdir" \
    && openssl req \
        -newkey rsa:2048 \
        -sha256 \
        -keyout 'userkey.pem' \
        -nodes \
        -days 3650 \
        -out 'userkey.req' \
        -subj "$SUBJECT" \
        -extensions SAN \
        -config openssl.conf \
    && openssl pkcs8 \
        -topk8 \
        -outform DER \
        -in 'userkey.pem' \
        -out 'userkey.der' \
        -nocrypt)

echo "Generating user certificate..."
(cd "$tmpdir" \
    && openssl ca \
        -out 'usercert.pem' \
        -in 'userkey.req' \
        -cert 'cacert.pem' \
        -keyfile 'cakey.pem' \
        -days 3650 \
        -passin 'pass:'"$PASSWORD" \
        -extensions SAN \
        -config openssl.conf \
        -batch \
    && openssl x509 \
        -outform DER \
        -in 'usercert.pem' \
        -out 'usercert.der')

# Copy important files to raw resources directory
cp \
    "$tmpdir"/cacert.der \
    "$tmpdir"/userkey.der \
    "$tmpdir"/usercert.der \
    'res/raw/'

echo "Finished"
exit
