Как удалить файлы CRL в локальном хранилище сертификатов
Мне нужно импортировать файлы CRL на сервер Bastion, который не является частью домена моей среды . Файлы CRL обновляются каждые несколько дней, поэтому необходимо часто импортировать новую копию в локальное хранилище сертификатов на Бастионе.
Я заметил, что когда я делаю новый импорт нового CRL , старые копии не перезаписываются и не удаляются, а новая копия просто добавляется в список. Я хотел бы запустить сценарий, который сначала удалит старые файлы CRL в хранилище списков отзыва сертификатов доверенного корневого центра сертификации и промежуточного центра сертификации .
Я не нашел способа удалить устаревшие/просроченные списки отзыва сертификатов с помощью certmgr, certutil или powershell . Мне нужен способ написать сценарий , чтобы он был автоматизирован . Кто-нибудь нашел способ сделать это? Любая помощь будет оценена по достоинству!
1 ответ
С certutil это легко:
certutil -delstore Root <CRLHash>
certutil -delstore CA <CRLHash>
К сожалению, PowerShell и .NET не предоставляют встроенных средств для перечисления CRL в хранилище и не поддерживают объекты CRL. Если вам нужен полностью контролируемый подход, вам придется вызвать функции Win32: https://docs.microsoft.com/en-us/windows/win32/seccrypto/cryptography-functions#certificate-and-certificate-store- функции , что представляет собой большой объем работы по программированию.