Конфигурация сервера:
port 1194
proto udp
dev tun
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/team.log
syslog vpn-team
verb 4
writepid /var/run/openvpn-team.pid
ca /etc/openvpn/ca.crt
cert /etc/openvpn/team/server.crt
key /etc/openvpn/team/server.key # This file should be kept secret
dh /etc/openvpn/dh.pem
server 172.16.255.128 255.255.255.128
ifconfig-pool-persist /etc/openvpn/team/ipp.txt
client-to-client
push "route 172.16.0.0 255.255.254.0"
crl-verify crl.pem
клиентская конфигурация:
dev tun
proto udp
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
comp-lzo
verb 4
client
remote x.x.x.x 1194
ca ca.crt
cert team.crt
key team.key
remote-cert-tls server
Используя revoke-full
сценарий от easy-rsa
пакет, я видел, что он только произвел последний в a crl.pem
файл:
# generate a new CRL -- try to be compatible with
# intermediate PKIs
$OPENSSL ca -gencrl -out "$CRL" -config "$KEY_CONFIG"
В моем случае я записал сценарий для добавления в тот файл, но только первый был отклонен, все, что другой может все еще соединить.
Используя openssl crl
, это просто показывает сериал первого:
Revoked Certificates:
Serial Number: E9955907C7F48BDDFCADCFECFAEDC8B7
Revocation Date: Feb 11 08:57:19 2015 GMT
Так, вопрос: делает crl-verify
поддерживать связанный файл CRL? Действительно ли это - предел openssl?
Похожие страницы:
Итак, вопрос: поддерживает ли
crl-verify
объединенный файл CRL?
Нет. crl.pem
выглядит примерно так:
-----BEGIN X509 CRL-----
MIICAzCB7DANBgkqhkiG9w0BAQQFADCBlTELMAkGA1UEBhMCVVMxEzARBgNVBAgT
CkNhbGlmb3JuaWExFTATBgNVBAcTDFJlZHdvb2QgQ2l0eTESMBAGA1UEChMJUnVu
d2F5IDIwMREwDwYDVQQLEwhEZXYgVGVhbTETMBEGA1UEAxMKb3BlbnZwbi1jYTEe
MBwGCSqGSIb3DQEJARYPaW5mb0BydW53YXkuY29tFw0xNTAyMTMwNjAwMzJaFw0x
NTA1MjQwNjAwMzJaMCUwIwIQUp+UnftT7IKiLOnT/6OachgPMjAxNTAyMTMxMzAw
1tYZj9iJzdzOsRbcK10FrwswLJ8ZNKWvLHfiqOVr7JakxCM3e8uVuMwtkEugHnmB
HjtU39ero7j3AUZZHETQaMnJvnQAMqcy+RKCDWDuxzBWr5vxkY85AatQmz2SfNAi
5F93UXQyegXpQohmkQaq7mSDbpeO163G5n9MqOGdG2fIYYOQSkgl+h2/hx/+9+jC
8y491cg/evAWerSVFVrzaA1T5dmhSBX6Awb9RnxDvo8ZlJufjOqhxMwU8J19RYOj
M2Rk9JQ5Wvgq4Q+3qM0uEhHVFfSaAUvGqTHJwqtgPR23x7F00jNB
-----END X509 CRL-----
, но используется openssl crl -in /path/to/crl.pem -text -noout
, если несколько сертификатов были отозваны , вы увидите что-то вроде этого:
Revoked Certificates:
Serial Number: 01
Revocation Date: Feb 13 14:59:08 2015 GMT
Serial Number: 02
Revocation Date: Feb 13 14:59:10 2015 GMT
Я написал сценарий для добавления к этому файлу, но только первый получил отказ, все остальные могут подключиться.
Я ошибся на этом этапе. Внимательно прочтите сценарий revoke-full
:
# revoke key and generate a new CRL
$OPENSSL ca -revoke "$1.crt" -config "$KEY_CONFIG"
# generate a new CRL -- try to be compatible with
# intermediate PKIs
$OPENSSL ca -gencrl -out "$CRL" -config "$KEY_CONFIG"
OpenSSL имеет файл index.txt
, в котором хранится вся информация о сертификате:
Первая команда ( openssl ca -revoke
) фактически обновляет файл index.txt
, чтобы заменить V (действительный) на R (отозвать).
Вторая команда ( openssl ca -gencrl
) создает файл crl.pem
на основе index.txt
и сертификата / ключа CA.
Итак, don Не добавляйте к существующему файлу crl.pem
, просто обновите сначала index.txt
, а затем заново создайте CRL.