Срок действия сертификата, которым подписан драйвер, важен для понимания, будет ли система считать драйвер доверенным после истечения этого периода. Если сертификат просрочен, Windows может блокировать загрузку драйвера или выдавать предупреждения. Ниже описаны способы проверить даты «действителен с» и «действителен по» для сертификата драйвера, используя только стандартные инструменты Windows.
Где хранится информация о сертификате драйвера
Каждый установленный драйвер имеет файл с расширением .sys (или .dll для некоторых компонентов). При подписании драйвера к этому файлу прикрепляется цифровая подпись, в которой содержится сертификат издателя. Информация о подписи и сертификате доступна через свойства драйвера в системе.
Проверка через диспетчер устройств
Этот метод подходит для большинства установленных драйверов и не требует дополнительных утилит.
- Нажмите Win + X и выберите «Диспетчер устройств».
- Найдите устройство, драйвер которого хотите проверить, щёлкните правой кнопкой мыши и выберите «Свойства».
- Перейдите на вкладку «Драйвер» и нажмите кнопку «Сведения о драйвере».
- В списке файлов выберите основной файл драйвера (обычно имеет расширение .sys) и нажмите «Сведения».
- Во появившемся окне перейдите на вкладку «Цифровая подпись» и нажмите «Подробнее».
- В окне «Подробности цифровой подписи» выберите сертификат из списка и нажмите «Просмотреть сертификат».
- На вкладке «Сведения» найдите поле «Срок действия» – оно показывает даты «Начало действия» и «Окончание действия».
Если вкладка «Цифровая подпись» отсутствует, драйвер, вероятно, не подписан или подпись не может быть проверена текущей системой.
Проверка с помощью PowerShell
PowerShell позволяет получить информацию о подписи напрямую из файла драйвера без открытия интерфейса.
- Откройте PowerShell от имени администратора (поиск «PowerShell» → правая кнопка → «Запуск от имени администратора»).
- Выполните команду, указав полный путь к файлу драйвера. Например:
Get-AuthenticodeSignature -FilePath «C:\Windows\System32\drivers\example.sys» - В выводе обратите внимание на поле SignerCertificate. Оно содержит объект сертификата.
- Чтобы увидеть сроки действия, добавьте выборку свойств:
Get-AuthenticodeSignature -FilePath «C:\Windows\System32\drivers\example.sys» |
Select-Object -ExpandProperty SignerCertificate |
Select-Object NotBefore, NotAfter, Subject - Поля NotBefore и NotAfter соответствуют началу и окончанию действия сертификата.
Если драйвер неподписан, поле SignerCertificate будет пустым.
Проверка с помощью утилиты signtool
Утилита signtool.exe входит в состав Windows SDK, но часто уже присутствует в системе при установленных средствах разработки. Она позволяет быстро проверить подпись и вывести сведения о сертификате.
- Откройте командную строку от имени администратора.
- Выполните команду:
signtool verify /pa /v «C:\Windows\System32\drivers\example.sys» - В выводе найдите раздел «Signing Certificate Chain». Там будут перечислены сертификаты цепочки.
- Для каждого сертификата указаны поля Effective Date и Expiration Date.
Если утилита не найдена, её можно получить, установив «Windows SDK» с официального сайта Microsoft, но для большинства проверок достаточно PowerShell или диспетчера устройств.
Проверка через certmgr.msc (управление сертификатами)
Этот способ полезен, если вы хотите увидеть все сертификаты, доверенные системе, и проверить, не истёк ли тот, которым подписан драйвер.
- Нажмите Win + R, введите certmgr.msc и нажмите Enter.
- В левой панели раскройте «Доверенные издатели» → «Сертификаты».
- Найдите сертификат, соответствующий издателю драйвера (обычно название совпадает с именем производителя).
- Дважды щелкните по сертификату и перейдите на вкладку «Сведения».
- Поле «Срок действия» покажет даты начала и окончания.
Обратите внимание, что в этом списке могут находиться сертификаты, не связанные напрямую с конкретным драйвером, поэтому сверяйтесь с именем издателя, полученным из свойств драйвера.
Ограничения и нюансы проверки
- Методы работают только для драйверов, имеющих цифровую подпись. Если драйвер неподписан или использует самоподписанный сертификат, не доверенный системе, информация о сроке может отсутствовать или быть недоступной.
- Для проверки требуются права администратора, особенно при доступе к системным папкам и использовании утилит signtool или certutil.
- Срок действия сертификата не влияет на работу уже загруженного драйвера, но может привести к блокировке при попытке обновления или повторной установки после истечения срока.
- Некоторые производители используют перекрестно подписанные цепочки, где конечный сертификат имеет короткий срок, а промежуточный – длительный. В таком случае важно проверять именно конечный (leaf) сертификат, указанный в подписи драйвера.
- Если система показывает, что драйвер «запрещён из‑за просроченной подписи», это означает, что проверка цепочки завершилась ошибкой из‑за истечения срока одного из сертификатов в цепочке.
Что делать, если срок действия подходит к концу
Когда вы обнаруживаете, что сертификат драйвера скоро истечёт, рассмотрите следующие шаги:
- Проверьте наличие обновления драйвера на сайте производителя. Новая версия часто подписана свежим сертификатом.
- Если обновления нет, свяжитесь с поддержкой производителя – они могут предоставить переподписанный пакет или рекомендовать альтернативное решение.
- В качестве временной меры можно отключить принудительную проверку подписи драйверов (параметр загрузки testsigning), но это снижает уровень безопасности и не рекомендуется для постоянного использования.
- После установки обновлённого драйвера повторно выполните любую из описанных проверок, чтобы убедиться, что новый сертификат имеет приемлемый срок действия.
Практический итог
Главный принцип – срок действия сертификата драйвера доступен через стандартные средства Windows, и его проверка не требует сторонних программ. Надёжнее всего использовать PowerShell или диспетчер устройств, поскольку они показывают именно тот сертификат, которым подписан конкретный файл. Если срок близок к концу или уже истёк, первым делом ищите обновление у производителя; самостоятельная переподписка или отключение проверки подписи влечёт риски для безопасности системы.
