Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java / Хабр

Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java / Хабр Сертификаты

Что нужно учесть

Нужно помнить, что не все удостоверяющие центры могут пользоваться программой «СЭД АРМ» для создания электронной подписи.

Подробности данной процедуры необходимо уточнять напрямую в выбранном УЦ. При этом необходимая программа либо скачивается с их сайта, либо необходимый функционал предоставляется в личном кабинете.

Необходимо заблаговременно определить все роли, которые будут назначены электронной подписи. Далее, данное роли нужно будет указать при процедуре генерации ключа в «СЭД АРМ».

Нельзя указывать абсолютно все роли — это не только может привести к серьезному удорожанию конечной ЭЦП, но и в некоторых случаях, отказе в регистрации сертификата.

Так, если подпись была сформирована для налогового органа, то в качестве роли необходимо выбирать пункт «Финансовый орган».

При создании подписи в поле «ИНН» необходимо вписывать не налоговой код организации, а самого физического лица, на которого выпускается электронная подпись.

А далее, при обращении в налоговый орган, данная подпись может быть прикреплена непосредственно к компании. Данное правило было введено в 2021 году.

Что если не генерируется электронная подпись

В случае, если для генерации электронной подписи используется клиент «СЭД АРМ», то при выполнении этого процесса могут возникать ошибки.

Чаще всего они решаются следующими способами:

  • Временное отключение установленной на компьютере антивирусной программы, добавление директории с программой в исключения антивируса;
  • Перерегистрация в системе библиотеки функций midas.dll
  • Если на компьютере установлен криптопровайдер «Крипто Про», необходимо проверить, чтобы в числе генераторов случайных чисел был добавлен также в систему биологический ДСЦ;
  • Добавление программы «СЭД АРМ» в исключения «Брандмауэра Windows».

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

В этом случае проблемы могут решаться следующими способами:

  • На портале был кратковременный сбой, нужно попробовать процесс генерации ключа снова через некоторый промежуток времени;
  • Отключить антивирус и брандмауэр для исключения возможности блокировки ими портала УЦ;
  • Отключить в браузере все сторонние расширения, плагины, надстройки. Попробовать произвести генерацию в режиме «Без расширений».
  • Попробовать использовать другой браузер.

Что меняется

С 2021 года окончательно вступил в силу новый ГОСТ Р 34.11-2021/34.10-2021, или просто ГОСТ 2021. Что это означает для разработчиков? Производители ЭЦП, аккредитованные удостоверяющие центры, электронные площадки и онлайн-службы основных ведомств перешли на новый госстандарт. Они обязаны готовить, принимать и обрабатывать документы, подписанные электронными подписями нового стандарта.

Мы предлагаем подробную инструкцию перехода, формирования и установки новых ЭЦП.

Бесперебойная работа по

На сайте КриптоПро регулярно выходили

об автоматическом включении в СКЗИ предупреждений про грядущий переход на новые стандарты, по требованию ФСБ РФ.

В Базе знаний портала технической поддержки размещена подробная информация об этих предупреждениях, и как их отключить в версиях СКЗИ под различные операционные системы:

Взаимодействие с регулятором


ГУЦ «Минкомсвязь» имеет

— это своего рода единая точка входа в (Public Key Infrastructure PKI) Инфраструктуру с открытым ключом в масштабах Российской Федерации. Там опубликован большой список нормативных документов, требования и порядок аккредитации удостоверяющих центров, реестр действующих аккредитованных УЦ и информация о доступности их сервисов.

Глава вторая: ещё одна эп

Порывшись в почте, я нашел еще один электронный договор. По счастливой случайности, им тоже оказался страховой полис, но на этот раз еОСАГО от АО “Тинькофф Страхование”. Открываем сертификат, смотрим выпустившую сертификат организацию. Ей оказывается АО “Тинькофф банк”.

По отработанному алгоритму идём в поисковую систему с запросом “тинькофф сертификат”, находим официальный сайт УЦ АО Тинькофф Банк. Тут нас встречает изобилие ссылок на корневые сертификаты, списки отозванных сертификатов и даже видеоинструкция по их установке.

Скачиваем “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2021”, на этот раз ссылка ведёт не на сторонний сервис, а на сайт банка. Формат файла P7B не очень известный, но открывается Windows без установки стороннего софта и показывает находящиеся в нём сертификаты.

Ставим оба, проверяем сертификат в полисе. Но нет, сертификат не является доверенным, т.к. система не может подтвердить поставщика сертификата. На сайте УЦ было 2 ссылки на 2 цепочки сертификатов, один для ГОСТ Р 34.10.2001, другой для ГОСТ Р 34.10.2021.

В новом файле формата P7B оказывается уже 3 файла сертификатов. Можно поставить все 3, однако стоит заметить, что сертификат “Головного удостоверяющего центра” мы поставили в первой главе из RAR архива ООО “ИТК”, они идентичны. А сертификат с не очень говорящим названием “УЦ 1 ИС ГУЦ” поставил КриптоПро CSP, т.к. галочка об установке корневых сертификатов была установлена по-умолчанию в его инсталляторе. Единственным новым является сертификат АО “Тинькофф Банк”, который мы и ставим.

После установки сертификатов из “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2001” путь в сертификате прорисовался и система радостно сообщила, что он является доверенным. Adobe Acrobat Reader DC также подтвердил, что подпись действительна.

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

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

Про сертификаты:  Общая информация | WorldSkills Russia

Глава первая: проверка эп

Все манипуляции с PDF документом приведены в чистой версии ОС Windows 10, русская домашняя редакция, как наиболее вероятной среде работы простого пользователя. Набор софта, используемый в статье, также является непрофессиональным и доступным для всех.

Для начала я открыл документ в просмотрщике Foxit Reader, который использую как основной:

Это выглядит очень и очень подозрительно — документ модифицирован непонятно кем, сертификат также не является доверенным. Система не может проверить цепочку доверия для данного сертификата и помечает его недействительным.

Кроме имени организации, которой выдан сертификат, видно наименование выдавшей его организации, ООО “ИТК”. Поиск по запросу “ООО ИТК сертификат” вывел меня на страницу Установка корневого сертификата Удостоверяющего центра ООО «ИТК». Это официальный сайт ООО «Интернет Технологии и Коммуникации», который является одним из удостоверяющих центров, выдающих сертификаты ЭП.

Глава третья: немного про корневые и промежуточные сертификаты

Проделав всю эту работу, меня не покидало чувство, что вся система построена не очень безопасно, требует от пользователя кучу дополнительных операций и доверия многим факторам: от поисковой системы, которая может не выдать первой строкой официальный сайт УЦ, до работы самого персонала УЦ, который выкладывает сертификаты без контрольных сумм на сторонние веб сервисы в проприетарных форматах контейнеров.

Как избавиться от ошибок

Вы все сделали правильно, установили корневой сертификат по инструкции, проверили свойства носителя, конвертировали файлы, но что-то пошло не так, и все еще не работает ЭЦП ГОСТ 2021. Возможно, не обновили КриптоПро — минимальная версия программы 4.0.

Но есть и другие нарушения программных продуктов, не позволяющие работать новому носителю. В таблице смотрите основные ошибки и варианты их решения.

Ошибка ЭЦП ГОСТРешение
Корневой сертификат установлен некорректноЗапустить казначейскую программу установки
Стоит блокировка использования ключа ЭЦПВключить утилиту с правами администратора, снять блокировку и перезагрузить ПК
Невозможно создание объекта сервером программирования объектовЗарегистрировать библиотеку capicom.dll на рабочем столе и проверить установку КриптоПро ЭЦП Browser plug-in 2.0
Неизвестный криптографический алгоритмУдаляем ветки в реестре ПК через «Редактор реестра». Потребуется удалить:
  • [HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1];
  • [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1]
Недоступен сервис подачи документов для получения сертификата через официальный сайт ФКОтключить на время подачи запроса антивирус
Не подписываются документы в Электронном бюджете (не отображается сертификат)Конвертировать файлы и изменить формат контейнера в закрытом ключе

Как конвертировать файлы

Вы установили новый ключ, но он почему-то не работает? Первое, что надлежит сделать, — узнать, соответствует ли ЭЦП обновленным стандартам. Вот как проверить ГОСТ ЭЦП:

  1. Открыть установленный файл.
  2. Отобразить его свойства.
  3. Посмотреть ГОСТ сертификата.

Если в свойствах стоит верное значение (ГОСТ 2021), но не удается подписать документ в ГИИС «Электронный бюджет», возможно, проблема в названии организации. Если наименование заказчика превышает 127 символов, возникают ошибки с отображением при подписании файлов в ГИИС.

Чтобы это сделать:

Как подписать сообщение алгоритмом гост р 34.11/34.10-2001 на java

В этот статье я расскажу, как подписать произвольное сообщение приватным ключом и сертификатом по алгоритму ГОСТ Р 34.11/34.10-2001 присоединённой (attached) подписью на языке Java.

Для проекта электронного документооборота мне потребовалось сделать подпись алгоритмом ГОСТ. Несмотря на то, что появился он давным-давно, к своему удивлению, я не смог найти в сети ни одного завершённого примера, который бы получал на вход сообщение, ключ и сертификат, а на выходе давал бы подписанное сообщение.

Все найденные примеры или использовали стороннее платное ПО КриптоПро, или не собирались с современными версиями Java, или подписанные сообщения потом не валидировались.

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

Для подписи нам нужны сертификат и приватный ключ.
Мне их передали в формате pfx, из него составные части надо извлечь.

Я всё делал на windows и использовал сборку OpenSsl с поддержкой ГОСТ. Для других ОС, думаю, действия будут аналогичными. В OpenSsl с версии 1.1.0 встроенную поддержку ГОСТ убрали, её надо подключать замороченным способом, который у меня с ходу не взлетел. Поэтому я просто скачал старую версию 1.0.2.

В конфиг openssl.cfg нужно добавить строки:

openssl_conf = openssl_def

[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gost
dynamic_path = gost.dll
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

Запускаем консоль и вводим команду (без неё у меня конфиг на находился):

set OPENSSL_CONF=C:папка_с_opensslbinopenssl.cfg

Экспортируем ключ в формат pkcs12:

openssl pkcs12 -in my.pfx -nocerts -nodes -out my.pem

Переводим ключ в формат pkcs8:

openSSL pkcs8 -in my.pem -topk8 -nocrypt -out key.pk8

Экспортируем сертификат:

openssl pkcs12 -in my.pfx -nokeys -out my.cer

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

Для подписывания на Java я использовал библиотеку BouncyCastle, она поддерживает ГОСТ.
У меня проект на Maven, я добавил в pom.xml зависимости:

<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.59</version>
</dependency>
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcpkix-jdk15on</artifactId>
    <version>1.59</version>
</dependency>

Код метода подписывания:

public static byte[] signWithGost3410(byte[] data, X509Certificate certificate, byte[] encodedPrivateKey) throws Exception {

        X509Certificate[] certificates = new X509Certificate[1];
        certificates[0] = certificate;

        PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(encodedPrivateKey);
        KeyFactory keyFactory = KeyFactory.getInstance("ECGOST3410", "BC");
        PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);

        CMSTypedData msg = new CMSProcessableByteArray(data);
        Store certStore = new JcaCertStore(Arrays.asList(certificates));
        CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
        ContentSigner signer = new org.bouncycastle.operator.jcajce.JcaContentSignerBuilder("GOST3411withECGOST3410").setProvider("BC").build(privateKey);
        gen.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(new JcaDigestCalculatorProviderBuilder().setProvider("BC").build()).build(signer, (X509Certificate) certificates[0]));
        gen.addCertificates(certStore);
        CMSSignedData sigData = gen.generate(msg, true);

        return sigData.getEncoded();
    }

Код метода чтения ключа из файла:

public static byte[] readEncodedKeyFromPk8File(String filename) throws Exception {
    byte[] content = Files.readAllBytes(Paths.get(filename));
    ArrayList<String> lines = new ArrayList<>(Arrays.asList(new String(content).split("n")));
    lines.remove(0);
    lines.remove(lines.size() -1);
    String base64 = String.join("", lines);
    byte[] encoded = Base64.getDecoder().decode(base64);
    return encoded;
}

Код метода чтения сертификата из файла:

public static X509Certificate readX509CertificateFromCerFile(String filename) throws Exception {
    CertificateFactory factory = CertificateFactory.getInstance("X.509");
    Certificate certificate = factory.generateCertificate(new FileInputStream(filename));
    return (X509Certificate) certificate;
}

Ну и, наконец, пример подписи:

@Test
public void signTest() throws Exception{
    Security.addProvider(new BouncyCastleProvider());
    byte[] key = readEncodedKeyFromPk8File("key.pk8");
    X509Certificate certificate = readX509CertificateFromCerFile("my.cer");
    byte[] data = Files.readAllBytes(Paths.get("my.xml"));
    byte[] signedData = signWithGost3410(data, certificate, key);
    try(FileOutputStream stream = new FileOutputStream("signed.dat")){
        stream.write(signedData);
    }
}

Полученный .dat файл успешно проходит проверку подписи, например,

здесь

.

Надеюсь, этот пример будет полезен. Если потребуется, перевести на другой язык, думаю, не составит труда.

Как проверить сертификат

Если вы недавно меняли ЭЦП (в течение 2021 года), не торопитесь получать новую подпись. Для начала проверьте стандарт действующего ключа. Вот как узнать ГОСТ ЭЦП:

  1. Найдите и войдите в файл сертификата на своем ПК.
  2. В контекстном меню выберите блок «Свойства».
  3. Проверьте алгоритм действующей подписи.
Про сертификаты:  Диетология «Сестринское дело в диетологии» 144 ч. — Повышение квалификации и профессиональная переподготовка

Если у вашей подписи актуальный госстандарт, спокойно работайте дальше. Менять сертификат нет необходимости.

Как происходит генерация ключа

Ключи генерируются либо в удостоверяющих центрах, либо самим субъектом. Генерация ключа в удостоверяющих центрах происходит по рассмотренному выше алгоритму.

Если субъект принимает решение самостоятельно сгенерировать ключ, ему нужно выполнить следующее:

  1. Выбрать удостоверяющий центр, с которым данное лицо планирует работать.
  2. При обращении в данный центр, он предоставляет программное обеспечение, которое необходимо для генерации ключа ЭЦП. Это может быть клиент СЭД «АРМ», распространение которого происходит свободно, или иной продукт.
  3. Лицо, с помощью этого программного обеспечения должен сгенерировать закрытый ключ и запрос на сертификат ключа.
  4. Созданный ключ-запрос направить в удостоверяющий центр. Это можно и по электронной почте.
  5. После этого нужно ожидать ответа от удостоверяющего центра. После этого прийти центр и пройти верификацию. Она требуется при получении ЭЦП в первый раз. Для продления чаще всего личного посещения уже не требуется.

Самостоятельная генерация сертификата доступна только опытным пользователям. Главное ее преимущество – экономия времени.

Однако, лучше всего генерировать ЭЦП в удостоверяющих центрах.

Как создать новый носитель по госстандарту р 34.11-2021/34.10-2021

Вы скачали и установили программу Converter.exe? Отлично! Теперь приступайте к созданию носителя по обновленным стандартам. Вот как формировать файл через конвертер ЭЦП по ГОСТу 2021:

1. Запускаем программу.

2. Вставляем носитель с закрытым ключом. Обновляем список носителей.

3. Выбираем действие «Конвертировать». Вставляем новый чистый носитель (объем не имеет значения). Обновляем список.

4. Придумываем пароль и сохраняем.

5. Автоматически откроется окно для ввода пароля от сертификата ключа ЭЦП, сгенерированного в казначейском УЦ.

6. Конвертация завершена. Система уведомит вас об успешном окончании процедуры. На носителе установлены два файла.

7. Теперь переходим к генерации ключей. Входим в программу генерации и запускаем импорт.

8. Откроется окно для импорта. В верхнем поле выбираем сертификат, выданный УЦ, а в нижнем — конвертированный файл. Затем вставляем носитель и выбираем его значение.

9. Вводим пароль нового носителя и завершаем импорт. Сертификат готов к работе.

Как установить новый сертификат

Срок действия старых сертификатов заканчивается, и до начала нового года рекомендуется получить новый экземпляр. Отправьте запрос на получение сертификата по госстандарту Р 34.11-2021/34.10-2021.

Для формирования и отправки заявки используйте портал заявителя информационной системы «Удостоверяющий центр Федерального казначейства». Новые стандарты ЭЦП не влияют на алгоритм получения самого ключа.

Вот инструкция по скачиванию и установке сертификатов от удостоверяющего центра ФК РФ:

Шаг 1. Переходим на официальный сайт Федерального казначейства РФ.

Шаг 2. Выбираем раздел «Удостоверяющий центр», затем «Корневые сертификаты».

Шаг 3. Активировать ссылку на скачивание корневого сертификата УЦ — на сайте действует специальная настройка ЭЦП ГОСТ 2021.

Шаг 4. Сохранить файл в выбранную локальную директорию автоматизированного рабочего места (АРМ) пользователя.

Шаг 5. В контекстном меню сохраненного файла выбрать действие «Установить».

Шаг 6. Выбрать хранилище «Локальный компьютер» в Мастере импорта сертификатов.

Шаг 7. Вручную выбрать хранилище: нажать «Обзор», найти «Промежуточные центры сертификации».

Шаг 8. Проверить сведения в окне завершения. Нажать «Готово».

Шаг 9. Если все действия выполнены правильно, то появится сообщение об успешном импорте.

Подпись документа и проверка

Напомню, в составе КриптоПро JCP можно найти много примеров в файле samples-sources.jar. В частности, там есть примеры подписи и проверки ЭП документов. Все остальное является по большому счету частными кастомизациями.

Провайдеры КриптоПро JCP и JCSP поддерживают следующие нужные нам алгоритмы хэш функции и подписи:

JCSP – CryptoPro Java CSP ProviderJCP – CryptoPro Java Provider

MessageDigest – GOST3411_2021_256MessageDigest – GOST3411_2021_512

Signature – GOST3411_2021_256withGOST3410DH_2021_256Signature – GOST3411_2021_512withGOST3410DH_2021_512Как красиво распечатать список установленных и готовых к работе в JVM криптографических провайдеров, поддерживаемых ими функций и реализуемых алгоритмов:

Получение новых сертификатов


У КриптоПро есть свои

На момент написания статьи УЦ поддерживающий новые стандарты отсутствовал.

Мной было заведено обращение на на портал технической поддержки КриптоПро

Понятие «генерации ключа»

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

Набор символов создается случайным образом путем осуществления манипуляции мышки на компьютере или тачпада на ноутбуке под контролем специализированной программы, определяющей координаты.

С помощью них соответствующие программные обеспечения создает соответствующий шифр. Процесс построен таким образом, чтобы ключ всегда генерировался уникальным, без повторения шифров. Теоретически такая возможность все-таки существует, но она равна 0,0000000001%.

Создание ЭЦП с шифрованием происходит в соответствии с существующим ГОСТ 28147-89, по алгоритмам, утвержденным ФСБ.

При этом важно учитывать, какая создается ЭЦП. Если это усиленная квалифицированная, то она может выпускаться только специализированными удостоверяющими центрами. Для ее генерирования применяется рассмотренный выше процесс.

Неквалифицированную могут формировать и другие субъекты, тогда используются шаблоны шифрования. После его создания нужно просто его зарегистрировать в удостоверяющем центре.

Для усиленных ЭЦП используются сразу два ключа – закрытый и открытый. Удостоверяющий центр генерирует закрытый. Открытый ключ создается при установке ЭЦП на компьютер.

Простая ЭЦП может создаваться (генерироваться) даже самим пользователем. При этом обращаться в удостоверяющий центр нет необходимости.

Постановка задачи

Цели:


В общем, стало понятно, что нужно не ждать регуляторов, а готовиться.

Тем более, почти все необходимое под рукой есть. Сертифицированные СКЗИ, поддерживающие новые алгоритмы КриптоПро CSP 4.0, Java API КриптоПро JCSP и КриптоПро JCP 2.0 есть.

Выполнить генерацию новых ключей можно.

Нужен был только УЦ в PKCS#10 запросе на сертификат, к которому мы сможем передать свой открытый ключ, сгенерированный по новому алгоритму. Но об этом чуть позже.

Правовые аспекты


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

Федеральным законом от 4 мая 2021 г. № 99-ФЗ «О ЛИЦЕНЗИРОВАНИИ ОТДЕЛЬНЫХ ВИДОВ ДЕЯТЕЛЬНОСТИ» установлен перечень видов деятельности, подлежащих обязательному лицензированию.

Постановлением Правительства РФ № 957 от 21 ноября 2021 г. «ОБ ОРГАНИЗАЦИИ ЛИЦЕНЗИРОВАНИЯ ОТДЕЛЬНЫХ ВИДОВ ДЕЯТЕЛЬНОСТИ» утвержден «ПЕРЕЧЕНЬ ФЕДЕРАЛЬНЫХ ОРГАНОВ ИСПОЛНИТЕЛЬНОЙ ВЛАСТИ, ОСУЩЕСТВЛЯЮЩИХ ЛИЦЕНЗИРОВАНИЕ КОНКРЕТНЫХ ВИДОВ ДЕЯТЕЛЬНОСТИ»

Про сертификаты:  Техническая поддержка | Teltonika/Телтоника

К лицензируемым видам деятельности, которые курирует ФСБ РФ, относятся:

Разработка, производство, распространение шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, выполнение работ, оказание услуг в области шифрования информации, техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств (за исключением случая, если техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя)

31 января 2021 выходит документ ФСБ России № 149/7/1/3-58 «О порядке перехода к использованию новых стандартов ЭЦП и функции хэширования».

Здесь я позволю себе процитировать выписку из данного документа, которая опубликована на портале ТЕХНИЧЕСКОГО КОММИТЕТА ПО СТАНДАРТИЗАЦИИ «КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ» (ТК 26)

“Для средств ЭП, техническое задание на разработку которых утверждено после 31 декабря 2021 года, должна быть предусмотрена реализация функций средства в соответствии с ГОСТ Р 34.10-2021 хотя бы по одному из определяемых стандартом вариантов требований к параметрам (использование варианта, соответствующего длине секретного ключа порядка 256 бит, является предпочтительным, поскольку обеспечивает достаточный уровень криптографической стойкости и лучшие эксплуатационные характеристики, в том числе при совместной реализации со схемой ГОСТ Р 34.10-2001). После 31 декабря 2021 года не осуществлять подтверждение соответствия средств ЭП Требованиям к средствам электронной подписи, утверждённым приказом ФСБ России от 27.12.2021 г. № 796, если в этих средствах не предусмотрена реализация функций средства в соответствии с ГОСТ Р 34.10-2021 хотя бы по одному из определяемых стандартом вариантов требований к параметрам. Исключение может быть сделано для средств ЭП, удовлетворяющих одновременно следующим условиям:
— техническое задание на разработку средства утверждено до 31 декабря 2021 года;
— в соответствии с техническим заданием разработка средства завершена после 31 декабря 2021 года;
— подтверждение соответствия средства указанным Требованиям ранее не осуществлялось.
Использование схемы подписи ГОСТ Р 34.10-2001 для формирования подписи после 31 декабря 2021 года не допускается. ”

На кого нацелен этот документ?

В Постановлении Правительства России от 16 апреля 2021 г. №313 «Об утверждении Положения о лицензировании деятельности по разработке, производству, распространению шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, выполнению работ, оказанию услуг в области шифрования информации, техническому обслуживанию шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств (за исключением случая, если техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя)»

приведен Перечень выполняемых работ и оказываемых услуг, составляющих лицензируемую деятельность, в отношении шифровальных (криптографических) средств.

Например, пункт из перечня: «2. Разработка защищенных с использованием шифровальных (криптографических) средств информационных систем»

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

В пункте 6 Положения №313 приведены лицензионные требования к организациям лицензиатам.

На этом с правовыми аспектами, которые порой трудно читать, закончим. И перейдем к организационным мероприятиям.

Работа с клиентом сэд «арм»

Работа с этой программой очень проста. Она запускается даже на устаревших версиях Windows, а в системах MacOS и Linux ее можно запустить при помощи среду эмуляции Wine.

Кроме этого, программу не нужно устанавливать — достаточно просто распаковать содержимое из архива.

Алгоритм использования программы очень прост:

  • Запустить программы и выбрать «Создать запрос на сертификат»;
  • Далее указать необходимые пункты — чаще всего выбирают «АСФК» если требуется сгенерировать ключ ЭЦП для казначейства.
  • На следующем шаге нужно выбрать «Формировать квалифицированный сертификат» – если это не поставить, то в итоге получится неквалифицированный ключ из двух файлов;
  • После нажатия на кнопку «Далее» ввести свои персональные данные;
  • Закончить создание сертификата, сохранив его на жестком диске компьютера.

Если необходимо создать квалифицированный сертификат, то требуется выбирать при запросе криптопровайдера выбирать пункт «MyCryptoPro 2.0» либо другой, исходя из дальнейших целей использования указанного сертификата.

В процессе заполнения данных по сертификату крайне важно тщательно проверять всю указываемую информацию, особенно ФИО пользователя, его ИНН и т. д.

Если будет допущена хоть мелкая ошибка (например, опечатка или пропущена буква), то ключом в дальнейшем нельзя будет пользоваться — он не пройдет проверку данных и будет объявлен нелегитимным.

Работа с открытым и закрытым ключом

После того, как пользователь произвел генерацию запроса на неквалифицированную подпись, после проверку ему предоставляют открытый и закрытый ключи:

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

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

Квалифицированная подпись выдается удостоверяющим центром только на защищенном рутокене. Такую подпись отличает от остальных использование более современных методов шифрования.

В некоторых случаях для их создания должны использоваться программные комплексы, сертифицированные ФСБ.

Генерация открытых сертификатов и ключей для использования в системе Windows осуществляется через криптографический комплекс «Крипто Про».

Результат проверки подписи pkcs-7 гост р 34.11-2021/34.10-2021 256 бит

— в сервисе проверки ЭП на портале

«Подлинность документа не подтверждена», потому что сертификат выдан в тестовом УЦ и Электронное Правительство ничего про него не знает. Сама ЭП — верна.

— с помощью программы КриптоАрм

— в собственном программном обеспечении

Результат проверки подписи pkcs-7 гост р 34.11-2021/34.10-2021 512 бит

— в сервисе проверки ЭП на портале

— с помощью программы КриптоАрм

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

— в собственном программном обеспечении

Оцените статью
Мой сертификат
Добавить комментарий