Tip voor OpenVPN-certificaten

Deze week is het servercertificaat voor mijn OpenVPN-server vervallen. Op zich is dat niet zo’n nieuws, gewoon vervangen en alles werkt terug.

Alleen. Dat bleek niet zo te zijn. Wat ik ook probeerde, ik kreeg een foutmelding: unsupported certificate purpose.

Apr 13 18:50:32 hathor.dc.nidavellir.be openvpn[528784]: VERIFY ERROR: depth=0, error=unsupported certificate purpose: CN=twosret.dc.nidavellir.be, serial=SNIP
Apr 13 18:50:32 hathor.dc.nidavellir.be openvpn[528784]: OpenSSL: error:0A000086:SSL routines::certificate verify failed
Apr 13 18:50:32 hathor.dc.nidavellir.be openvpn[528784]: TLS_ERROR: BIO read tls_read_plaintext error
Apr 13 18:50:32 hathor.dc.nidavellir.be openvpn[528784]: TLS Error: TLS object -> incoming plaintext read error
Apr 13 18:50:32 hathor.dc.nidavellir.be openvpn[528784]: TLS Error: TLS handshake failed
Apr 13 18:50:32 hathor.dc.nidavellir.be openvpn[528784]: Fatal TLS error (check_tls_errors_co), restarting

Na lang zoeken bleek het probleem in één van mijn scripts te liggen waarmee ik het certificaat maakte. Die zijn geschreven voor clients, maar dit is een server. En wanneer je het certificaat tekent met de CA, dan moet je dat doen met sign-req server en niet sign-req client.

$HOME/easy-rsa/easyrsa sign-req server "$client_name"

Probleem opgelost, weekend gered.