Создавать сертификаты мы можем. Теперь надо сделать отзыв сертификатов.
Генерация файла отозванных ключей:
cd ~/easy-rsa-master/easyrsa3 ./easyrsa gen-crl
Сделать символическую ссылку в каталог с ключами (конечно, файл можно и скопировать, но придется делать каждый раз при отзыве сертификата):
ln -s ~/easy-rsa-master/easyrsa3/pki/crl.pem /etc/openvpn/keys
В /etc/openvpn/server.conf
добавить строку
crl-verify /etc/openvpn/keys/crl.pem
Далее приведу скрипт отзыва сертификата:
#!/bin/bash
if [ -n «$1» ]
then
echo «Start revoke certificate $1»
else
echo «No parameters found. » && exit 25
fi
cd /etc/openvpn/keys/easy-rsa-master/easyrsa3
conf_rev $1
cd /etc/openvpn/keys/easy-rsa-master/easyrsa3
mv /etc/openvpn/client/$1.ovpn /etc/openvpn/revoke/$1.ovpn
sert_up
Скачать можно тут.
Этот скрипт вызывает ещё два:
#!/usr/bin/expect -f cd /etc/openvpn/keys/easy-rsa-master/easyrsa3 set client [lindex $argv 0] spawn ./easyrsa revoke $client expect "yes" send "yes\n" expect "ca.key" send "password\n" # тут мы вставляем пароль, так как корневой сертификат у нас сгенерирован с паролем. expect "$"
скачать можно тут;
#!/usr/bin/expect -f cd /etc/openvpn/keys/easy-rsa-master/easyrsa3 spawn ./easyrsa gen-crl expect "ca.key" send "1234\n" # тут мы вставляем пароль, так как корневой сертификат у нас сгенерирован с паролем. expect "$"
скачать можно тут.
Если корневой сертификат без пароля, то скрипт отзыва проще
#!/bin/bash
if [ -n «$1» ]
then
echo «Start revoke certificate $1»
else
echo «No parameters found. » && exit 25
fi
cd /etc/openvpn/keys/easy-rsa-master/easyrsa3
echo -en «yes\n» | ./easyrsa revoke $1
mv /etc/openvpn/client/$1.ovpn /etc/openvpn/revoke/$1.ovpn
cd /etc/openvpn/keys/easy-rsa-master/easyrsa3
./easyrsa gen-crl
Скачать можно тут.