Skip to content
Snippets Groups Projects
Commit 499ce6d9 authored by Pavel Kácha's avatar Pavel Kácha
Browse files

Added forgotten RA application script

parent af23d579
Branches
Tags
No related merge requests found
#!/bin/bash
url='https://warden-ra.cesnet.cz/warden-ra/getCert'
key=key.pem
csr=csr.pem
cert=cert.pem
result=${TMPDIR:-${TMP:-/tmp}}/cert.$$.$RANDOM
config=${TMPDIR:-${TMP:-/tmp}}/conf.$$.$RANDOM
client="$1"
password="$2"
trap 'rm -f "$config $result"' INT TERM HUP EXIT
function flee { echo -e "$1"; exit $2; }
[ -z "$client" -o -z "$password" ] && flee "Usage: ${0%.*} client.name password" 255
openssl version >/dev/null 2>&1 || flee "Haven't found 'openssl' binary."
curl --version >/dev/null 2>&1 || flee "Haven't found 'curl' binary."
for n in "$csr" "$key" "$cert"; do
[ -e "$n" ] && flee "$n already exists, I won't overwrite, move them away first, please." 254
done
for n in "$result" "$config"; do
touch "$n" || flee "Error creating temporary file ($n)." 253
done
echo -e "default_bits=2048\ndistinguished_name=rdn\nprompt=no\n[rdn]\ncommonName=dummy" \
> "$config"
openssl req -new -nodes -batch -keyout "$key" -out "$csr" -config "$config" \
|| flee "Error generating key/certificate request." 252
curl --progress-bar --request POST --data-binary '@-' "$url?name=$client&password=$password" \
< "$csr" \
> "$result"
case $(<$result) in '-----BEGIN CERTIFICATE-----'*)
mv "$result" "$cert"
flee "Succesfully generated key ($key) and obtained certificate ($cert)." 0
esac
flee "$(<$result)\n\nCertificate request failed. Please save all error messages for communication with registration authority representative." 252
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment