Если все что нужно по работе разобрано, то работа начинает приносить только положительные эмоции и получаем дополнительное время не как после работы для своих проектов, но и на работе тоже.

Сейчас на очереди проработать, как настроить резервное копирование Центра сертификации (Certification Authority), который у меня развернут на домен контроллере под управлением Windows Server 2012 R2 Std домена polygon.local.

Предварительные действия:

on srv-dc01 создаю структуру каталога: C:\backup\backup_ca

Шаг №1: Центр сертификатов на Windows Server 2012 R2 Std разворачивается опираясь на заметку: "Разворачиваем Certificate Authority на Server 2012 R2"

Шаг №2: Затем, чтобы сделать резервную копию нужно:

on srv-dc01 (OS: Windows Server 2012 R2 Std)

Win + X -> Control Panel - View by: Small icons - Administrative Tools - Certification Authority - Certification Authority (Local) через правый клик на polygon-SRV-DC01-CA выбираем All Tasks - Back up CA… — запускается мастер "Certification Authority Backup Wizard"

Нажимаю Next

  • Private key and CA Certificate: отмечаю галочкой
  • Certificate database and certificate database log: отмечаю галочкой
  • Back up to this location: нажимаю Browse и указываю каталог в который сделать бекап, к примеру C:\Backup\backup_ca

Посредством мастера Certification Authority Backup Wizard осуществляю резервное копирование.

и нажимаю "Next"

На заметку: Если каталог не пуст и уже содержит какой-либо бекап, то вы увидите сообщение с текстом

The service cannot access the backup directory.

The directory is not empty. 0x80070091 (WIN32/HTTP: 145 ERROR_DIR_NOT_EMPTY)

изменяю каталог на C:\Backup2

и нажимаю "Next"

На заметку: Если такого каталога нет, т.е. он не создан заранее, то вы увидите сообщение с текстом

The directory C:\Backup2 does not exist. Do you want to create it?

нажимаю "OK"

Теперь нужно указать пароль, которым будет защищена создаваемая мастером резервная копия:

  • Password: к примеру указываю, Aa1234567aA
  • Confirm Password: подтверждаю, Aa1234567aA

Задаю пароль на приватный ключ CA.

 

и нажимаю "Next"

Резервное копирование успешно завершено.

и нажимаю Finish.

Если открыть проводник и посмотреть, что из себя представляет по итогу содержимое каталога C:\Backup\backup_ca

Полученное содержимое каталог куда было осуществлено резервное копирование.

Шаг №3: НО это еще не все, нужно также сделать резервную копию параметров реестра центра сертификации с текущего сервера:

Win + X -> Command Prompt (Admin), Yes -

C:\Windows\system32>regedit

открываем следующий ключ и экспортируем его:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration и через правый клик мышью на Configuration выбираем Export и указываю куда сохранить, для удобства выбираю каталог C:\Backup\backup_ca и именую как:

  • File name: reg
  • Save as type: Registration Files (*.reg)
  • Export range: Selected branch: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

Также делаю резервную копию ключа реестра.

и нажимаю Save

Шаг №4: Но не мой способ щелкать по менюшкам, я же хотел, чтобы можно было скриптом все выше проделывать, а значит нужно заморочиться на этот счет, что сейчас и покажу как я делаю резервную копию своего Certification Authority.

На заметку: Certutil.exe — это программа командной строки, установленная в составе служб сертификатов. Вы можете использовать certutil.exe для отображения сведений о конфигурации центра сертификации, настройки служб сертификатов и резервного копирования и восстановления компонентов ЦС. Программа также проверяет сертификаты, пары ключей и цепочки сертификатов.

on srv-dc01

Win + X -> Command Prompt (Admin)

C:\Windows\System32>certutil.exe

Узнать, когда делалась последний раз резервная копия

C:\Windows\System32>certutil.exe -getreg DBLastFullBackup

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\DBLastFullBackup:

DBLastFullBackup REG_BINARY = 13.10.2025 8:42

CertUtil: -getreg command completed successfully.

Можно из созданной базы данных центра сертификации получить информацию по заголовкам:

C:\Widnows\System32>esentutl /mh c:\Backup\backup_ca\Database\polygon-SRV-DC01-CA.edb

итак, резервная копия выполняется, моя первая версия скрипта.

backupca.bat

@echo off

rem on run where role "Certification Authority"

if not exist c:\backup mkdir c:\backup

set strdatef=%date:~0,2%-%date:~3,2%-%date:~-4%

set strBackup=c:\backup\%strdatef%

set strBackupTemplate=%strBackup%\template

set capass=Aa1234567aA

if not exist %strBackup% mkdir %strBackup%

if not exist %strbackup%\template mkdir %strbackup%\template

rem Backup ca

certutil -backup -p %capass% %strBackup%

rename "%strBackup%\polygon-SRV-DC01-CA.p12" " polygon-SRV-DC01-CA(%capass%).p12"

rem Backup Publish Template

powershell -command "Get-CATemplate | Foreach-Object { $_.Name } | Out-File -FilePath "%strBackupTemplate%\catemplates.txt" -Encoding String -Force

rem Backup Full Information Template

powershell -command "Get-Content -Path "%strBackupTemplate%\catemplates.txt" | Foreach-Object { certutil -v -template $_ > %strBackupTemplate%\$_.txt}"

rem backup regedit

reg export HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration %strBackup%\Configuration.reg /y

Шаг №5: Чтобы восстановить из бекапа:

on srv-dc01 (OS: Windows Server 2012 R2 Std)

Win + X -> Control Panel - View by: Small icons - Administrative Tools - Certification Authority - Certification Authority (Local) через правый клик на polygon-SRV-DC01-CA выбираем All Tasks выбираем "Restore CA"

Далее появится предупреждение о том, что служба сертификатов должна быть остановлена сейчас

Для восстановления из бекапа нужно чтобы Active Directory Certificate Service был остановлен.

Нажимаю "ОК"

Запустится "Certification Authority Restore Wizard"

нажимаю "Next"

отмечаю что буду восстанавливать, а именно

  • Private key and CA certificate: отмечаю галочкой
  • Certificate database and certificate database log: отмечаю галочкой
  • Restore from this location: через Browse указываю путь до резервной копии, в моем случае это будет C:\backup\13-10-2025

Указываю что восстановить и где располагается резервная копия.

и нажимаю "Next"

Указываю пароль на приватный ключ, который предопределял, когда делал резервную копию, в моем случае это Aa1234567aA

Указываю пароль на приватный ключ CA.

и нажимаю "Next"

Вижу, что восстановление прошло успешно

Если все верно, то восстановление будет успешно завершено.

для завершения следования за мастером восстановления нажимаю "Finish"

После вижу уведомление, что мастер восстановления Certification Authority предлагает запустить центр сертификации:

Certification Authority Restore Wizard

The restore operation is complete. Do you want to start Active Directory Certificate Services?

If you have additional incremental backup files to restore, click no and re-run the wizard until all files are restored.

По итогу мастер восстановления предлагает запустить остановленный сервис, отвечаем "Yes".

отвечаю «Yes»

Также импортируем если нужно экспортированный ключ реестра Configuration.reg

Итого, я рад что решил заморочиться на тему проработки каким образом осуществляете резервное копирование и восстановление.

На этом я пока завершу заметку, будет что-либо еще, заметка будет дополнена, на этом все, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik