Предварительные условия
Подготовьте отдельный сервер с ОС Linux (далее пример для CentOS), системные требования - стандартные для выбранной ОС
Установите Nginx
Подготовка скрипта для получения актуального CRL от CA
Создайте скрипт update_crl.sh
#!/usr/bin/env bash
# Скрипт загрузки CRL
# === Настройки ===
CRL_URL="http://localhost/api/v1/public/crl" # <-- Public URL CRL CA
DEST_DIR="/opt/crl" # <-- куда сохранять
DEST_FILE="ca.crl" # <-- имя файла в папке
# === Код ===
set -euo pipefail
mkdir -p "$DEST_DIR"
echo "Скачиваю CRL из $CRL_URL ..."
curl -fsSL "$CRL_URL" -o "${DEST_DIR}/${DEST_FILE}"
if [ $? -eq 0 ]; then
echo "CRL успешно сохранён в ${DEST_DIR}/${DEST_FILE}"
else
echo "Ошибка при загрузке CRL"
exit 1
fi
Сохраните скрипт в папку /opt/crl и дайте права на исполнение
chmod +x update_crl.sh
Проверьте, запустив вручную
./update_crl.sh
Должен сформироваться файл /opt/crl/ca.crl
Настройка веб-сервера (nginx), публикация и проверка доступности CRL
Настроить конфигурационный файл Nginx
server {
listen 80;
server_name crl.local;
root /opt/crl;
location / {
autoindex off;
default_type application/pkix-crl;
}
}
Перезагрузить Nginx, перейти по адресу http://crl.localca.crl - должен загрузиться файл CRL
Настройка автоматического обновления CRL (cron)
Добавьте задачу обновления crl в планировщик, например, crontab
crontab -e
Задача на запуск каждые 6 часов, + логирование
0 */6 * * * /opt/crl/update_crl.sh >> /var/log/update_crl.log 2>&1
Добавление новой точки в настройках CA
Добавьте новую точку crl в Настройках CA
Перевыпустите crl на Главной странице CA, новая точка появится в списке

