Введение: зачем отключать проверку времени?
При разработке и отладке программного обеспечения, использующего электронную подпись (ЭЦП), часто возникает проблема с просроченными тестовыми сертификатами. КриптоПро по умолчанию проверяет срок действия сертификата, и если он истёк — подпись не работает. Это мешает тестировать старые, но всё ещё полезные для отладки сертификаты.
Для решения этой ситуации предусмотрен специальный параметр реестра — ControlKeyTimeValidity. Установка этого ключа в 0 отключает проверку времени действия сертификатов, что позволяет использовать «просроченные» сертификаты в тестовых целях.
Команда adminmed.ru подготовила простой BAT-скрипт, который автоматически создаёт нужный ключ в реестре Windows.
🛠️ Что делает скрипт CreateControlKey.bat?
При запуске скрипт:
- Проверяет, есть ли у пользователя права администратора (без них запись в реестр
HKEY_LOCAL_MACHINEневозможна). - Добавляет параметр
ControlKeyTimeValidityтипаREG_DWORDсо значением0в ветку реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters - Выводит сообщение об успешном выполнении или ошибке.
Важно: Скрипт предназначен для 64-разрядных систем (используется ветка
Wow6432Node). На 32-битных системах путь может отличаться.
📥 Как использовать
- Скачайте файл
CreateControlKey.bat(ссылка в конце статьи) или создайте его самостоятельно, скопировав код из листинга. - Запустите от имени администратора:
- Кликните правой кнопкой мыши по файлу.
- Выберите «Запуск от имени администратора».
- При успешном выполнении появится окно с сообщением
Параметр успешно создан. - Нажмите любую клавишу для закрытия окна.
После этого проверка срока действия сертификатов будет отключена. Изменения вступают в силу немедленно, перезагрузка не требуется.
🔍 Как проверить результат
Чтобы убедиться, что ключ создан:
- Нажмите
Win + R, введитеregeditи нажмите Enter. - Перейдите по пути:
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters - В правой части окна должен присутствовать параметр
ControlKeyTimeValidityтипаREG_DWORDсо значением0.
[Скриншот: редактор реестра с выделенным ключом]
⚠️ Важные предупреждения
- Только для тестирования! Отключение проверки срока действия сертификатов снижает безопасность. Используйте этот ключ исключительно в тестовых средах (на отладочных стендах, виртуальных машинах).
- На боевых серверах этот параметр не должен присутствовать. После завершения отладки рекомендуется удалить ключ или установить значение
1(проверка включена). - Влияние на все приложения, использующие КриптоПро. Изменение глобального параметра затронет работу всех криптопровайдеров на данном компьютере.
🗑️ Как удалить ключ (вернуть проверку)
Если нужно вернуть стандартное поведение, выполните одно из действий:
Способ 1. Вручную через редактор реестра:
- Удалите параметр
ControlKeyTimeValidityиз указанной ветки. - Или измените его значение с
0на1.
Способ 2. Через командную строку (администратор):
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters" /v ControlKeyTimeValidity /f
После удаления перезапустите приложения, использующие КриптоПро.
📥 Скачать скрипт
Вы можете скачать готовый 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 всегда рада помочь коллегам.


