feat(admin): авто-загрузка сертификатов УЦ НРД + ежесуточное обновление
Новый раздел /admin/setup → «Сертификаты УЦ» (и в шаге 3 wizard'а): список URL .cer-файлов УЦ (одна ссылка на строку). По кнопке «Скачать сейчас» система качает каждый URL, парсит X.509, и через certmgr -inst импортирует в mroot (если cert == issuer, т.е. корневой) или uRoot (промежуточный). Дедуп по SHA-256: если файл по URL не изменился — повторного импорта нет. В runtime-конфиге сохраняется журнал FetchedCerts (CN/SHA-256/срок/статус) для отображения в UI. Чекбокс «Авто-обновление раз в сутки» включает фоновую горутину StartCACertsAutoUpdater — стартует через 30 сек после bj-server, потом тикает раз в 24 часа. При изменении сертификата он переустанавливается без участия оператора. Mastered tasks: #44.
This commit is contained in:
@@ -70,6 +70,10 @@ func registerSetup(mux *http.ServeMux, a *admin, rc *RuntimeConfig, svc *Service
|
||||
mux.HandleFunc("/admin/setup/lk", h.saveLK)
|
||||
mux.HandleFunc("/admin/setup/test-run", h.testRun)
|
||||
|
||||
// Авто-загрузка сертификатов УЦ НРД и нашего УЦ.
|
||||
mux.HandleFunc("/admin/setup/cacerts", h.saveCACerts)
|
||||
mux.HandleFunc("/admin/setup/cacerts/fetch", h.fetchCACertsNow)
|
||||
|
||||
// Пошаговый мастер настройки для нетехнических пользователей.
|
||||
mux.HandleFunc("/admin/wizard", h.renderWizard)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user