SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

Подпись и отзыв сертификатов в центре сертификации


Метки: openssl ssl безопасность 

Ответы

RemiZOffAlex  Создано: 2017-05-29 22:39:13.592586  Обновлено: 2017-05-29 22:39:13.592586

Решение недоработано

cat << EOF > /etc/openvpn/ca.conf
# Файл конфигурации openssl
[ ca ]
default_ca = ca_default

[ ca_default ]
dir = /etc/openvpn
database = $dir/certindex
default_md = sha1
default_crl_days = 3650
default_days = 3650
certificate = $dir/ca.crt
email_in_dn = no
new_certs_dir = $dir/newcerts
private_key = /etc/openvpn/ca.key
policy = policy_default
serial = /etc/openvpn/serial

# Для списка отозванных сертификатов
crl_dir = $dir/crl
crlnumber         = $dir/crlnumber
crl               = $dir/revoke.cert
crl_extensions    = crl_ext
default_crl_days  = 30

[ policy_default ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
string_mask = utf8only
default_md = sha256
x509_extensions = v3_ca

[ req_distinguished_name ]
countryName_default = RU
stateOrProvinceName_default = Moscow
localityName_default = Moscow

[ crl_ext ]
authorityKeyIdentifier=keyid:always
EOF

Файл индекса сертификатов

touch /etc/openvpn/certindex
echo '000001' > /etc/openvpn/serial
echo '000001' > /etc/openvpn/crlnumber

Создать список отозванных сертификатов

openssl ca -gencrl -config ca.conf -out revoke.cert

Параметр OpenVPN для использования списка отозванных сертификатов

cat <<EOF >> /etc/openvpn/server.conf
crl-verify revoke.cert
EOF

Отзыв сертификата

openssl ca -config ca.conf -revoke client1.crt
openssl ca -config ca.conf -gencrl -out revoke.cert

Генерируем ключ и запрос клиента на клиентской машине

/usr/bin/openssl genrsa -out /etc/openvpn/client1.key 4096
/usr/bin/openssl req -new -key /etc/openvpn/client1.key -days 3650 \
    -out /etc/openvpn/client1.csr \
    -subj '/C=RU/ST=Tula/L=Tula/CN=client1'

Подписываем запрос

openssl x509 -req -days 3650 -in /etc/openvpn/client1.csr \
    -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key \
    -CAcreateserial -out /etc/openvpn/client1.crt

Возможно будут интересны и другие вопросы