OpenVPN und Zertifikate war noch nie ein Problem. Liegen die Zertifikate jedoch auf einem Yubikey, benötigt openVPN eine Schnittstelle um diese zu lesen. Dies ist openSC mit der opensc-pkcs11.dll.

Relevante Konfiguration aus openvpn-client-Konfiguration:

management 127.0.0.1 1201

management-hold

management-query-passwords

pkcs11-providers ‚c:\opensc-pkcs11.dll‘

pkcs11-id-management

Obige Konfiguration fĂŒhrt dazu, dass openVPN beim Starten einen Dialog liefert, wo ein Zertifikat ausgewĂ€hlt werden kann. Yubikey muss natĂŒrlich gesteckt sein.

Nach PIN-BestÀtigung verbindet sich OpenVPN. Wichtig ist, dass in der OpenVPN-Konfiguration gerade kein eingebettetes Zertifikat + Key existiert. Dies muss aus der Konfig raus und liegt ja auf dem Yubikey.

der <ca>-Block in der Konfig kann/muss bleiben. Dies ist ja jene Zertifizierungsstelle, die das OpenVPN-Server-Zertifikat auch ausgestellt hat und so dem client ermöglicht, den Server zu verifizieren.

opensc-pkcs11.dll gibt es im opensc-Paket. Es ist tatsÀchlich nur diese eine DLL nötig.

Categories: Blog