Submit signing request

{% set s = authority.certificate.subject %}

Generate key and submit using standard shell tools:

CN=$(cat /proc/sys/kernel/hostname)
curl {{request.url}}/certificate/ > /etc/ipsec.d/cacerts/ca.crt
openssl genrsa -out $CN.key 4096
openssl req -new -sha256 -key /etc/ipsec.d/private/$CN.key -out /etc/ipsec.d/reqs/$CN.pem -subj "{% if s.C %}/C={{s.C}}{% endif %}{% if s.ST %}/ST={{s.ST}}{% endif %}{% if s.L %}/L={{s.L}}{% endif %}{% if s.O %}/O={{s.O}}{% endif %}{% if s.OU %}/OU={{s.OU}}{% endif %}/CN=$CN"
wget --header "Content-Type: application/pkcs10" --post-data="$(cat /etc/ipsec.d/reqs/$CN.csr)" http://localhost:9090/api/buujaa/request/?autosign=1\&wait=30 -O /etc/ipsec.d/certs/$CN.crt.part
if $? -eq 0; then mv /etc/ipsec.d/certs/$CN.crt.part /etc/ipsec.d/certs/$CN.crt; fi
openssl verify -CAfile ca.crt /etc/ipsec.d/certs/$CN.crt

Assuming you have Certidude installed

certidude setup client {{request.url}}

To set up OpenVPN server

certidude setup openvpn server {{request.url}}

Or to set up OpenVPN client

certidude setup openvpn client {{request.url}}

Pending requests

Signed certificates

You can fetch a certificate by common name signing the request

curl -f {{request.url}}/signed/$CN > $CN.crt

Revoked certificates

To fetch certificate revocation list:

curl {{request.url}}/revoked/ | openssl crl -text -noout