#!/bin/bash
# script to create an openvpn-key for a client

# ask for key when not on commandline
if test "$1" = ""; then
  read -p "Name for key: " key
else
  key=$1
fi
if test "$key" = ""; then
  echo "no keyname, I stop!"
  exit
fi

# stop if key allready excists
if test -e "/etc/openvpn/easy-rsa/keys/$key.ovpn"; then
  echo "$key.ovpn does allready excist, I stop!"
  exit
fi

# create keys
cd /etc/openvpn/easy-rsa/
. ./vars >/dev/null
./build-key --batch $key # >/dev/null

# create ovpn-file
cp keys/client.conf keys/$key.ovpn
echo "" >> keys/$key.ovpn
echo "<ca>" >> keys/$key.ovpn
cat keys/ca.crt >> keys/$key.ovpn
echo "</ca>" >> keys/$key.ovpn
echo "<cert>" >> keys/$key.ovpn
cat keys/$key.crt >> keys/$key.ovpn
echo "</cert>" >> keys/$key.ovpn
echo "<key>" >> keys/$key.ovpn
cat keys/$key.key >> keys/$key.ovpn
echo "</key>" >> keys/$key.ovpn
echo "<tls-auth>" >> keys/$key.ovpn
cat keys/ta.key >> keys/$key.ovpn
echo "</tls-auth>" >> keys/$key.ovpn

# remove keys, they are in the ovpn-file now
# rm keys/$key.crt
# rm keys/$key.csr
# rm keys/$key.key

echo ""
echo "use /etc/openvpn/easy-rsa/keys/$key.ovpn"
echo ""

