Windows
June 18

Ошибка проверки контрольной суммы.

Журнал Windows, раздел Система. Источник придупреждения CProCtrl, код292.

На сервере с установленным программным обеспечение КприптоПро в Журнале Windows в разделе Система, регистрируются с некоторой периодичностью предупреждения, при этом указаны разные системные dll-файлы:

Ошибка проверки контрольной суммы. Файл: C:\Windows\system32\wininet.dll. Причиной ошибки может быть обновление операционной системы или некорректная установка КриптоПро CSP. Обновите контрольные суммы с помощью кнопки "Пересчитать хэши" в панели КриптоПро CSP на вкладке "Дополнительно" или пересчитайте контрольную сумму библиотеки в реестре, запустив с правами администратора: start cpverify -addreg -file "C:\Windows\system32\wininet.dll"

Чтобы данное сообщение не появлялось, в описании указан вариант решения: необходимо запустить от имени администратора консоль CMD и запустить команду:

start cpverify -addreg -file "C:\Windows\system32\wininet.dll"

❗️ В каждом сообщении будет указана своя библиотека в виде dll-фала.

Таких сообщений с указанием файлов несколько десятков. Можно запустить команду вручную, чтобы пересчитать контрольную сумму по каждой библиотеке в виде dll-файла. Но после каждой установки обновления Windows, придется повторять данную процедуру заново.

На форуме КриптоПро было найдено решение - одной командой пересчитать контрольные суммы библиотек:

rundll32.exe "c:\Program Files\Crypto Pro\CSP\cpconfig.cpl", CalculateIntegrity

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

В Журнале Windows находим любое сообщение с кодом 292, правой кнопкой мыши вызываем контекстное меню и выбираем Привязать задачу к событию...

Вызов контекстного меню по событию в Журнале Windows

В появившемся Мастере создания простой задачи в поле Имя оставляем предложенное имя задачи или указываем свое. При необходимости в поле Описание можно добавить дополнительную информацию по данной задачи. После нажимаем Далее.

Мастер создания простой задачи

На странице При записи в журнале будет проинформировано о том, что задача создается из журнала Система, где источник является CProCtrl и код события 292. Нажимаем Далее.

Страница При записи в журнале

На странице Действия выбираем Запустить программу и нажимаем Далее.

Выбор Запустить программу

На странице Действие - Запуск программы в поле Программа или сценарий вставляем код:

rundll32.exe "c:\Program Files\Crypto Pro\CSP\cpconfig.cpl", CalculateIntegr

После того как нажмем Далее появится диалоговое окно.

Указание кода для запуска

В появившемся диалоговом окне необходимо нажать Да и продолжить.

Диалоговое окно

На странице Завершение, необходимо установить галочку Открыть окно "Свойство" для этой задачи после нажатия кнопки "Готово". После чего закрыть окно, нажав на кнопку Готово.

Завершение формирование задачи в мастере

В появившемся окне свойств созданной задачи, в разделе Параметры безопасности, необходимо указать от имени какого пользователя данная задача будет выполняться.

❗️ Учетная запись должна обладать правами локального администратора

А также необходимо выбрать параметр, Выполнять для всех пользователей. По завершению нажать ОК.

Свойство задачи

Если подобная задача в Планировщике задач создавалась впервые, то появится новый раздел Задачи просмотра событий, где будут размещаться подобные задачи созданные на основе кода события.

Планировщик задач

При последующих появлениях событий с кодом 292 будет автоматически запускаться скрипт, который повторно будет пересчитывать контрольную сумму библиотек, тем самым не генерировать подобные сообщения и не забивать Журнал Windows.