Исправление ошибки с выбором сертификатов шифрования для ЦБ РФ
С ноября 2021 года АУЦ Банка России начал выдавать сертификаты с указанием расширения KeyUsage согласно рекомендациям ТК26 от 2019 года. Если вы пользуетесь сертифицированной версией КриптоАРМ 5 для шифрования в адрес Банка России, то по умолчанию такие сертификаты не будут доступны для выбора в приложении.
Для продолжения работы в СКЗИ КриптоАРМ 5 можно использовать скрипт, который решает проблему выбора сертификатов шифрования. Вы сможете зашифровать документ в адрес нового сертификата. Использование данного скрипта не нарушает правил пользования СКЗИ, т.к. используются сертифицированные программные интерфейсы.
Схема использования скрипта:
- Скачать архив со скриптом по ссылке
- Распаковать архив «encryption-script.zip»
- Запустить скрипт «encrypt_signed.vbs» двойным кликом по файлу.
- Выбрать файл для шифрования
- Выбрать сертификат для шифрования
- Нажать «OK» для выполнения операции
- Зашифрованный файл будет сохранен в папке с исходным файлом
Пользователям, использующим несертифицированную сборку, рекомендуем обновить версию до 5.4.4.34 по ссылке.
Почему возникла проблема с новыми сертификатами?
Сертифицированная версия КриптоАРМ 5 вышла до принятия рекомендаций по стандартизации Р 1323565.1.023-2018 «Информационная технология (ИТ). Криптографическая защита информации. Использование алгоритмов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 в сертификате, списке аннулированных сертификатов (CRL) и запросе на сертификат PKCS #10 инфраструктуры открытых ключей X.509».
В разделе 5.3 «Область использования ключа» отмечено следующее:
Расширение KeyUsage (см. [3], раздел 4.2.1.3) является опциональным полем структуры TBSCertificate (см. 4.2.1). Для ключей, соответствующих алгоритму подписи ГОСТ Р 34.10-2012, данное расширение может иметь следующие флаги:
KeyUsage ::= BIT STRING
{ digitalSignature (0);
contentCommitment (1);
keyAgreement (4);
keyCertSign (5);
cRLSign (6);
encipherOnly (7);
decipherOnly (8). }
При этом если ключ может использоваться для формирования ключей согласования, то флаг keyAgreement обязательно должен присутствовать в расширении KeyUsage, а флаги encipherOnly и decipherOnly могут присутствовать опционально. При этом флаги encipherOnly и decipherOnly не могут присутствовать в расширении KeyUsage одновременно.
Исходя из данной текстовки, предназначенные для шифрования сертификаты выпускаются с установленным использованием ключа keyAgreement, при этом использования ключа dataEncipherment и keyEncipherment не устанавливаются. А сертифицированная версия КриптоАРМ 5 фильтрует список сертификатов именно по флагу keyEncipherment. Поэтому новые сертификаты не отображались для выбора.