Top.Mail.Ru
⏱️ Отключаем проверку срока действия сертификатов в КриптоПро (ключ ControlKeyTimeValidity) — ADMINMED.ru

⏱️ Отключаем проверку срока действия сертификатов в КриптоПро (ключ ControlKeyTimeValidity)

Введение: зачем отключать проверку времени?

При разработке и отладке программного обеспечения, использующего электронную подпись (ЭЦП), часто возникает проблема с просроченными тестовыми сертификатами. КриптоПро по умолчанию проверяет срок действия сертификата, и если он истёк — подпись не работает. Это мешает тестировать старые, но всё ещё полезные для отладки сертификаты.

Для решения этой ситуации предусмотрен специальный параметр реестра — ControlKeyTimeValidity. Установка этого ключа в 0 отключает проверку времени действия сертификатов, что позволяет использовать «просроченные» сертификаты в тестовых целях.

Команда adminmed.ru подготовила простой BAT-скрипт, который автоматически создаёт нужный ключ в реестре Windows.


🛠️ Что делает скрипт CreateControlKey.bat?

При запуске скрипт:

  1. Проверяет, есть ли у пользователя права администратора (без них запись в реестр HKEY_LOCAL_MACHINE невозможна).
  2. Добавляет параметр ControlKeyTimeValidity типа REG_DWORD со значением 0 в ветку реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters
  3. Выводит сообщение об успешном выполнении или ошибке.

Важно: Скрипт предназначен для 64-разрядных систем (используется ветка Wow6432Node). На 32-битных системах путь может отличаться.


📥 Как использовать

  1. Скачайте файл CreateControlKey.bat (ссылка в конце статьи) или создайте его самостоятельно, скопировав код из листинга.
  2. Запустите от имени администратора:
    • Кликните правой кнопкой мыши по файлу.
    • Выберите «Запуск от имени администратора».
  3. При успешном выполнении появится окно с сообщением Параметр успешно создан.
  4. Нажмите любую клавишу для закрытия окна.

После этого проверка срока действия сертификатов будет отключена. Изменения вступают в силу немедленно, перезагрузка не требуется.


🔍 Как проверить результат

Чтобы убедиться, что ключ создан:

  1. Нажмите Win + R, введите regedit и нажмите Enter.
  2. Перейдите по пути:
    Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters
  3. В правой части окна должен присутствовать параметр ControlKeyTimeValidity типа REG_DWORD со значением 0.

[Скриншот: редактор реестра с выделенным ключом]


⚠️ Важные предупреждения

  1. Только для тестирования! Отключение проверки срока действия сертификатов снижает безопасность. Используйте этот ключ исключительно в тестовых средах (на отладочных стендах, виртуальных машинах).
  2. На боевых серверах этот параметр не должен присутствовать. После завершения отладки рекомендуется удалить ключ или установить значение 1 (проверка включена).
  3. Влияние на все приложения, использующие КриптоПро. Изменение глобального параметра затронет работу всех криптопровайдеров на данном компьютере.

🗑️ Как удалить ключ (вернуть проверку)

Если нужно вернуть стандартное поведение, выполните одно из действий:

Способ 1. Вручную через редактор реестра:

  • Удалите параметр ControlKeyTimeValidity из указанной ветки.
  • Или измените его значение с 0 на 1.

Способ 2. Через командную строку (администратор):

REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters" /v ControlKeyTimeValidity /f

После удаления перезапустите приложения, использующие КриптоПро.


📥 Скачать скрипт

Вы можете скачать готовый BAT-файл по ссылке ниже:

👉 CreateControlKey.bat

Или скопируйте код в блокнот и сохраните с расширением .bat:

@echo off

:: Проверяем права администратора
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
    if not "%ProgramFiles%"=="%ProgramFiles(x86)%\Program Files (x86)" (
        echo
        pause
        exit /b
    )
)

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters" /v ControlKeyTimeValidity /t REG_DWORD /d 0 /f

if %errorlevel%==0 (
    echo Параметр успешно создан
    pause
) else (
    echo
    pause
)

Заключение

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

Если у вас есть вопросы или предложения по улучшению — пишите в комментариях! Команда adminmed.ru всегда рада помочь коллегам.

Дополнительные материалы

Добавить комментарий

© 2026 ADMINMED.ru

Login





Loading...

Top.Mail.Ru
👁 0
  Яндекс.Метрика