Скрипт мониторинга криптографических сертификатах (ЭЦП)

Речь идёт о криптографических сертификатах (ЭЦП), которые выдают ФНС, Казначейство или удостоверяющие центры (например, для сдачи отчётности, работы на госзакупках и т.п.). Эти сертификаты выпускаются в виде пары ключей (открытый/закрытый), а сам сертификат — в формате X.509 (обычно файл с расширением *.cer, *.crt или контейнер в КриптоПро).

Если у организации их много, например, как в нашей поликлинике, на каждого врача делается ЭЦП, выходит порядка 200 штук. За всем этим нужно следить, чтобы не пропустить срок, иначе сотрудник поедет физически в УЦ за новым сертификатом. Мониторить сертификаты можно по разному. Тут я опишу способ, на powershell, так как сертификаты делаем на одном компьютере(защищен по всем правилам и проведена аттестация рабочего места) под управлением windows 10

POWERSHELL
# Проверка сертификатов в хранилище "Личное"
Write-Host "=== Проверка сертификатов (Личное) ===" -ForegroundColor Cyan

# Получаем все сертификаты из личного хранилища пользователя
$certs = Get-ChildItem Cert:\CurrentUser\My | Sort-Object NotAfter

foreach ($cert in $certs) {
    $daysLeft = ($cert.NotAfter - (Get-Date)).Days
    $status = ""

    if ($daysLeft -lt 0) {
        $status = "Срок действия истёк!"
        $color = "Red"
    }
    elseif ($daysLeft -lt 30) {
        $status = "Осталось меньше 30 дней!"
        $color = "Yellow"
    }
    else {
        $status = "Всё ок"
        $color = "Green"
    }

    Write-Host ("Сертификат: {0}" -f $cert.Subject) -ForegroundColor White
    Write-Host ("  Действителен до: {0}" -f $cert.NotAfter) -ForegroundColor White
    Write-Host ("  Осталось дней: {0}" -f $daysLeft) -ForegroundColor $color
    Write-Host ("  Статус: {0}`n" -f $status) -ForegroundColor $color
}

Смысл в том, что мы берез инфу из Сертификаты -> Личное, конкретного пользователя. Для удобства выведем строки разным цветом. Дальше добавить в Планировщик задач Windows, сделать вывод в лог или отправку на почту/Telegram.

Комментарии (0)

Оставить комментарий

Пока нет комментариев. Будьте первым!