blob: f6405bb5c05c4f4a8c694ee938412f8d0a8ce764 (
plain) (
tree)
|
|
#!/bin/bash
set -xeuo pipefail
umask 0077
if [ ! $# -eq 1 ]
then
cat <<EOF
kot prvi argument bi morali navesti pot do datoteke s CSR, ki ga generirate s skriptom generiraj.sh.
EOF
exit 1
fi
read -p "vnesite avtorizacijsko kodo (poslana kot AAAA-AAAA-AAAA po fizični pošti): " avt
csr=`cat $1`
p=`rev <<<$0 | cut -d/ -f1 | rev`
t=`mktemp -p "" $p.XXX` # da se shrani odgovor s certom na disk
curl -i -X POST https://www.si-trust.gov.si/SigenCA2/cda-cgi/clientcgi --data-urlencode "reference_number=`openssl asn1parse <<<$csr | grep -A1 commonName | tail -n1 | rev | cut -d: -f1 | rev`" --data-urlencode authcode@<(echo -n $avt) --data-urlencode "retrievedAs=rawDER" --data-urlencode "action=getServerCert" --data-urlencode "pkcs10Request=$csr" --output $t
function napaka () {
echo mogoče se je zgodila napaka pri pridobivanju certifikata. če se je, verjetno zgoraj piše razlog ^^^
}
grep -P '^\t*<b>' $t && napaka # ne vem kaj je point te vrstice
[ ! `head -n1 < $t | cut -d\ -f2` = 200 ] && napaka
echo če se certifikat slučajno ni pravilno izluščil iz odziva na standardni izhod, sem izhod shranil v $t
echo -----BEGIN CERTIFICATE-----
grep certCopy $t | cut -d\" -f6
echo -----END CERTIFICATE-----
|