Openvpn Certificate Verify Failed
Столкнулся с проблемой, удаленные клиенты не могут подключиться по OpenVPN.
В логе openvpn.log обнаружил следующее:
WARNING: Failed to stat CRL file, not (re)loading CRL.
VERIFY ERROR: depth=0, error=CRL has expired: CN=client, serial=292462498369187844598607062130070224235
OpenSSL: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed
TLS_ERROR: BIO read tls_read_plaintext error
TLS Error: TLS object -> incoming plaintext read error
TLS Error: TLS handshake failed
Fatal TLS error (check_tls_errors_co), restarting
Ключевое, на что нужно обратить внимание, это WARNING: Failed to stat CRL file, not (re)loading CRL.
Заходим в директорию с easyrsa и там выполняем команду:
openssl crl -inform PEM -in pki/crl.pem -text -noout
Проверяем дату действия списка отозванных сертификатов, в моем случае он закончился сутки назад:
Last Update: Jul 28 21:28:59 2020 GMT
Next Update: Jan 24 21:28:59 2021 GMT
Это значит, что прошло 180 дней с момента последнего запуска по генерации списка отозванных сертификатов и срок действия его - как раз 180 дней.
Чтобы исправить ситуацию, необходимо выполнить команду
./easyrsa gen-crl
и скопировать новый crl.pem по пути, который указан в Вашем опенвпн сервер конфиге.
Но я решил также и увеличить срок действия списка до 720 дней, для этого нужно открыть файл vars и увеличить значение для EASYRSA_CRL_DAYS
.
Проверяем:
openssl crl -inform PEM -in pki/crl.pem -text -noout
Last Update: Jan 25 10:30:58 2021 GMT
Next Update: Jan 15 10:30:58 2023 GMT