[58] OpenVPN - certyfikaty (client, easy_rsa v3)

Zgodnie z preferowanym dla easy_rsa v3 sposobem obsługi następują następujące procedury dla generowania i odwołania certyfikatu klienta.

  • Generowanie certyfikatu klienta:

    ./easyrsa gen-req client1 nopass
    

    gdzie client1 to nazwa pełna domenowa klienta np. dla tetsudai.vpn.example.com:

    ./easyrsa gen-req tetsudai.vpn.example.com nopass
    
  • Podpisanie certyfikatu klienta:

    ./easyrsa sign-req client client1
    

    gdzie client1 to nazwa pełna domenowa klienta np. dla tetsudai.vpn.example.com:

    ./easyrsa sign-req client tetsudai.vpn.example.com
    
  • Weryfikacja certyfikatu klienta:

    openssl verify -CAfile pki/ca.crt pki/issued/client1.crt
    

    gdzie client1 to nazwa pełna domenowa klienta np. dla tetsudai.vpn.example.com:

    openssl verify -CAfile pki/ca.crt pki/issued/tetsudai.vpn.example.com
    
  • Gotowe certyfikaty należy skopiować na host klienta i zaktualizować ścieżki do plików certyfikatów w konfiguracji.

  • Odwołanie certyfikatu klienta:

    ./easyrsa revoke client1
    ./easyrsa gen-crl
    

    gdzie client1 to nazwa pełna domenowa klienta np. dla tetsudai.vpn.example.com:

    ./easyrsa revoke tetsudai.vpn.example.com
    ./easyrsa gen-crl
    
  • Po odwołaniu certyfikatu, jeśli to konieczne należy skopiować plik crl.pem w miejsce w którym serwer go odczytuje.

UWAGA: Po stronie serwera przedawnienie CRL.pem powoduje brak możliwości połączenia się klientów z serwerem. Towarzyszy temu log: VERIFY ERROR: depth=0, error=CRL has expired: CN=.... po stronie serwera. Można temu zaradzić generując nowy/aktualizując plik CRL.pem przez:

./easyrsa gen-crl