Как создать список отзывов сертификатов CRL (Certificate Revocation List) и разместить его на своем общедоступном сайте в интернете?
Надо понимать , что корневой сертификат (закрытая часть) должен быть изолирован от интернета и ему список отзывов сертификатов если и должен быть указан - то только локальный!
Другое дело , что список список отзывов сертификатов CRL для промежуточного ЦС должен быть подписан закрытым ключом корневого сертификата также на изолированном от интернета компьютере , а потом уже перенесен на общедоступный сервер в интернете.
Сначала пробуем создать отзыв какого-нибудь сертификата на openssl (конечно же) :
openssl ca -config xxx.config -revoke user123.chain.pem
В xxx.config прописывается доступ к базе данных сертификатов (обычно файл index), где и вносятся изменения по сертификату user123.
Далее для размещения на сервере в интернете создаем файл отозванных сертификатов:
openssl ca -gencrl -config xxx.config -crldays 30 -md sha256 -out xxx.crl
Нюанс: если вы используете в файле xxx.config параметр database , речь примерно об этом :
[ CA_default]
...
database = $dir/index
то вы ведете реестр выданных и отозванных сертификатов.
Это значит , что в файле index накапливаются данные с самого первого удостоверенного потомка. Именно удостоверенного, а не созданного, так как потомок создает сначала себя сам (openssl rsa ...).
Так вот если вы создали новый сертификат в конфигурации xxx , а потом для него создали новый список отзывов , то он автоматом наследует элементы (сертификаты) из файла index (то есть ранее отозванные сертификаты) - это важно.