/var/lib/ssl/openssl.cnf
для возможности подписывать любые сертификаты:
policy = policy_anything
#mkdir -p /root/CA/demoCA
#cd /root/CA
#mkdir -p ./demoCA/newcerts
# touch ./demoCA/index.txt
# echo '01' > ./demoCA/serial
# echo '01' > ./demoCA/crlnumber
my-ca.crt
и закрытый ключ my-ca.pem
, которыми будут заверяться/подписываться ключи и сертификаты клиентов, желающих подключиться к серверу, с помощью следующей команды:
# openssl req -new -x509 -keyout my-ca.pem -out my-ca.crt
Ввести пароль для закрытого ключа и ответить на запросы о владельце ключа.
# openssl req -new -nodes -keyout server.pem -out server.crs
my-ca.crt
сертификатом и ключом my-ca.pem
с помощью следующей команды:
# openssl ca -cert my-ca.crt -keyfile my-ca.pem -days 3650 -in server.crs -out server.crt
# openssl req -new -nodes -keyout client.pem -out client.crs
my-ca.crt
сертификатом и ключом my-ca.pem
:
# openssl ca -cert my-ca.crt -keyfile my-ca.pem -days 365 -in client.crs -out client.crt
# openssl dhparam -out server.dh 2048
my-ca.crt
, новый_сертификат.crt
, новый_ключ.pem
.
# openssl ca -cert my-ca.crt -keyfile my-ca.pem -gencrl -out crl.pem
user_1.crt
:
# openssl ca -cert my-ca.crt -keyfile my-ca.pem -revoke user_1.crt -out crl.pem
# openssl ca -cert my-ca.crt -keyfile my-ca.pem -gencrl -out crl.pem
crl.pem
:
# openssl crl -noout -text -in crl.pem
crl.pem
в каталог /var/lib/openvpn
.