Способ отозвать сертификат пользователя EasyRSA.real при отсутствующем или поврежденном файле самого сертификата

OpenVPN — Revoke certificate without .crt file

Если попытаться отозвать сертификат клиента, когда он, например, удален с сервера(испорчен), получишь ошибку «Unable to revoke as the input file is not a valid certificate».

admin@vpn:/usr/local/etc/openvpn/easy-rsa# ./easyrsa.real revoke UserName

Note: using Easy-RSA configuration from: ./vars

Easy-RSA error:

Unable to revoke as the input file is not a valid certificate. Unexpected
input in file: /usr/local/etc/openvpn/easy-rsa/pki/issued/UserName.crt

А при попытке выпустить этот же сертификат клиента openvpn скрипт выдает следующее:

Certificate is to be certified until Jul 13 11:57:53 2016 GMT (365 days)
failed to update database
TXT_DB error number 2
Easy-RSA error:
signing failed (openssl output above may have more detail)

Ошибка связана с уже имеющимся CommonName сертификата и создать одноименный нельзя пока старый не будет отозван. Тут два варианта — или использовать другое имя, или отзывать старый сертификат. По политике сверху, имя ключа (пользователя) менять нельзя, поэтому надо отзывать.
Обычно отозвать проблем нет, делается это командой ./easyrsa revoke UserName, но при ее выполнении сам файл сертификата не найден или поврежден:

./easyrsa revoke UserName
Note: using Easy-RSA configuration from: ./vars
Easy-RSA error:
Unable to revoke as the input file is not a valid certificate. Unexpected
input in file: /home/ca/easy-rsa-master/easyrsa3/pki/issued/UserName.crt

В моем случае файл сертификата сначала удален, а потом и вовсе заменён «древним». Средствами самого easyrsa отозвать сертификат в итоге невозможно.

Выхода из положения два:

1. Только в качестве временного варианта - позволить создавать сертификаты с одинаковыми CommonName.

Для этого отредактировать файл index.txt.attr, заменив значение уникальности имени с yes на no:

mcedit /home/ca/easy-rsa-master/easyrsa3/pki/index.txt.attr 
unique_subject = no

Решение рабочее, но пользоваться им постоянно не безопасно. К тому же, будет легко запутаться в выданных сертификатах, если их количество велико.

[свернуть]

2. Более предпочтительным решением является редактирование файла базы сертификатов /usr/local/etc/openvpn/easy-rsa/pki/index.txt, который выглядит следующим образом:

V       141203091049Z                   03      unknown /CN=UserName
R       150301095139Z   141202085814Z   04      unknown /CN=UserName2

Где первый столбец говорит о валидности сертификата (V-valid, R-revoked), второй о дате его истечения, третий о дате отзыва (если был отозван), четвертый — серийный номер сертификата. 150301095139Z читается как 15- год, 03- месяц, 01- день, 09- час, 51- минута, 39- секунда, Z- хрен его знает что она значит, но присутствует в каждом указании даты.

Для отзыва необходимо отредактировать строку с нужным пользователем. Изменитья статус валидности на «R» и добавить дату отзыва(150714010101Z):

R       141203091049Z   150714010101Z   03      unknown /CN=UserName

На всякий случай обновить базу ключей:

./easyrsa update-db

Теперь можно создавать сертификаты для пользователя UserName.

Источник: https://notessysadmin.com/revoke-easy-rsa-certificate-without-the-crt-file

Довольны?
[Оценок: 0 средняя: 0]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *