X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=add_openvpn_host;h=4d5e54ce8f901368afb790dc8d31bc4de4a2e750;hb=3d5241a316e3ff729b19b878b0841558120f75e9;hp=fbfd7e96ea9f0260d7199bee3857dd4b00621d1f;hpb=2038ae06b2ce0570da89073e0bee773d5ad7c6cc;p=bin.git diff --git a/add_openvpn_host b/add_openvpn_host index fbfd7e9..4d5e54c 100755 --- a/add_openvpn_host +++ b/add_openvpn_host @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash HOST="${1}" CONF="${2:-danet_client.conf}" @@ -26,6 +26,8 @@ $1 EOF +ORIGDIR=$(pwd); + (cd $TMPDIR; if [ ! -e database ]; then touch database database.attr @@ -38,19 +40,22 @@ EOF # characters. perl -e 'print unpack(q(H*),pack(q(NN),time,$$)),qq(\n)' > serial fi; -) -openssl ca -config "$TMPDIR"/config -policy policy_anything -keyfile "${CAKEY}" -cert "${CACERT}" \ - -out "$TMPDIR"/"${HOST}".cert -outdir "$TMPDIR" -notext -days 9000 -batch -infiles "${HOST}".req; #> /dev/null 2>&1 -( - cd "${TMPDIR}" + openssl ca -config "$TMPDIR"/config -policy policy_anything -keyfile "${ORIGDIR}"/"${CAKEY}" -cert "${ORIGDIR}"/"${CACERT}" \ + -out "$TMPDIR"/"${HOST}".cert -outdir "$TMPDIR" -notext -days $(( ( $(date -d 'Tuesday, 18 January 2038' +%s) - $(date +%s) ) / 60 / 60 /24 )) -batch -infiles "${HOST}".req; #> /dev/null 2>&1 chmod a+r "${HOST}".cert rm -f "${HOST}".req - ln -sf "${HOST}".cert "${CLIENT_CERT}" - ln -sf "${HOST}".pem "${CLIENT_KEY}" + mv "${HOST}".cert "${CLIENT_CERT}" + mv "${HOST}".pem "${CLIENT_KEY}" ) -cp "${CLIENT_CONF}" "${TMPDIR}"/; + +cp "${CONF}" "${TMPDIR}"/; +cp "${SERVER_CACERT}" "${TMPDIR}"/; tar -zcf "${HOST}".tar.gz -C "${TMPDIR}" \ - "${HOST}".cert "${HOST}".pem "${CLIENT_CERT}" "${CLIENT_CONF}" \ + "${CLIENT_CERT}" "${CONF}" \ "${CLIENT_KEY}" "${SERVER_CACERT}" rm -rf "${TMPDIR}" + +cp ../ccd/__template__ ../ccd/"${HOST}"; +chmod 0644 ../ccd/"${HOST}"; +HOST="${HOST}" perl -pi -e 's/HOSTNAME/$ENV{HOST}/g' ../ccd/"${HOST}";