Пост

Перевыпуск просроченного сертификата на OpenVPN-сервере

OpenVPN - бесплатное программное решение для реализации подключений по протоколу VPN к виртуальным частным сетям, создания шифрованных туннелей между сервером и клиентскими компьютерами или подключения типа точка-точка для безопасной передачи данных через Интернет.

При подключении к OpenVPN-серверу неожиданно стала появляться ошибка

1
2
3
4
5
Mon Nov 19 05:42:24 2018 VERIFY ERROR: depth=1, error=certificate has expired: C=RU, ST=ru, L=Moscow, O=Domain, CN=Domain CA, emailAddress=[email protected]
Mon Nov 19 05:42:24 2018 OpenSSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Mon Nov 19 05:42:24 2018 TLS_ERROR: BIO read tls_read_plaintext error
Mon Nov 19 05:42:24 2018 TLS Error: TLS object -> incoming plaintext read error
Mon Nov 19 05:42:24 2018 TLS Error: TLS handshake failed

После анализа выяснялось, что срок действия сертификата центра сертификации (ca.crt) OpenVPN сервера истек.

Для устранения этой ошибки перевыпускаем самоподписанный сертификат центра сертификации

1
2
$ sudo openssl x509 -in ca.crt -days 3650 -out ca-new.crt -signkey ca.key
Getting Private key

где

  • ca.crt - просроченный сертификат
  • ca-new.crt - новый сертификат
  • ca.key - ключ сертификата
  • 3650 - срок действия, в днях

Старый файл сертификата ca.key можно удалить, новый (ca-new.crt) переименовать в ca.crt

Проверяем

1
2
$ sudo openssl verify -CAfile ca.crt client-username.crt
client-username.crt: OK

Далее, перевыпускаем сертификат сервера

1
2
3
$ cd ../
$ sudo . ./vars
$ sudo ./build-key-server server

и перезапускаем OpenVPN

1
$ sudo service openvpn restart

Теперь, что бы пользователи смогли подключаться к OpenVPN-серверу надо что б они на ПК заменили старый  сертификат центра сертификации ca.crt на новый

Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.