openvpn Отзыв сертификата Easy-RSA без .crt файла

Thank you for reading this post, don't forget to subscribe!

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

Revoke Easy-RSA certificate without .crt file

При попыт­ке выпу­стить сер­ти­фи­кат скрипт выда­ет следующее:

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

В моем слу­чае по какой-то при­чине фай­ла сер­ти­фи­ка­та не было. Сред­ства­ми само­го easyrsa ото­звать сер­ти­фи­кат невозможно.

Выхо­да из поло­же­ния два:
1. Толь­ко в каче­стве вре­мен­но­го вари­ан­та - поз­во­лить созда­вать сер­ти­фи­ка­ты с оди­на­ко­вы­ми CommonName. Для это­го отре­дак­ти­ро­вать файл index.txt.attr, заме­нив зна­че­ние уни­каль­но­сти име­ни с yes на no:

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

2. Более пред­по­чти­тель­ным реше­ни­ем явля­ет­ся редак­ти­ро­ва­ние фай­ла базы сер­ти­фи­ка­тов index.txt, кото­рый выгля­дит сле­ду­ю­щим образом:

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

Для отзы­ва необ­хо­ди­мо отре­дак­ти­ро­вать стро­ку с нуж­ным поль­зо­ва­те­лем. Вид­но, что изме­нил­ся ста­тус валид­но­сти и доба­ви­лась дата отзыва:

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

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