Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Марк М  
#1 Оставлено : 9 июня 2025 г. 16:00:17(UTC)
Марк М

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.11.2023(UTC)
Сообщений: 8
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Здравствуйте.

Реализую интеграцию с продуктивным сервисом СФР СЭДО, документация https://lk.fss.ru/sedo.html, сервис https://ecp.sfr.gov.ru/sedo/soap/SedoGateway.
Приложение на C# .Net 8.0, использую LibCore 2025.4.17 (https://github.com/CryptoPro/libcore/releases)

Перед отправкой сообщения в СЭДО оно должно быть зашифровано в соответствии инструкцией:

1. Создание случайного сессионного ключа.
При работе с ключами на алгоритме ГОСТ Р 34.10-2012 следует инициализировать генератор параметрами шифрования TK26Z (предоставляется провайдером).
Алгоритм шифрования GOST28147.
2. Шифрование сессионного ключа.
2.1. Создание шифратора для шифрования ключа. Применяется алгоритм трансформации "urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001". Создаётся эфемерный ключ, который согласуется с открытым ключом получателя, и формируется ключ согласования (на котором будет зашифрован сессионный ключ);
2.2. Создание блока KeyInfo с сертификатом;
2.3. Шифрование сессионного ключа происходит с помощью указанного асимметричного ключа (ГОСТ Р 34.10-2001). Сессионный ключ используется для шифрования данных и в свою очередь так же шифруется.
CALG_DH_EL_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары. Открытый ключ получается по ГОСТ Р 34.10-2001.
CALG_DH_GR3410_12_256_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары. Открытый ключ получается по ГОСТ Р 34.10-2012 (256 бит).
CALG_DH_GR3410_12_512_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары. Открытый ключ получается по ГОСТ Р 34.10-2012 (512 бит).
3. Шифрование документа.
3.1. Создание шифратора в режиме шифрования. Применяется алгоритм
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147". Возможные параметры шифратора GostJCE/CBC/ISO10126Padding;
3.2. Добавление зашифрованного сессионного ключа, полученного ранее (добавление блока KeyInfo;
3.3. Шифрование документа на сессионном ключе.


Для шифрования использую "Сертификат уполномоченного лица СФР 2024 (действует с 25.04.2024 по 19.07.2025) - для шифрования" (https://lk.fss.ru/cert.html)
Пробую шифровать, используя пример из "XML шифрование на асимметричном ключе" https://dss.cryptopro.ru...D0%B5-encrypted-xml.html

В ответ получаю "Не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС. Проверьте правильность и актуальность ключа уполномоченного лица ФСС. class ru.gov.pfr.ecp.crypto.jcp.eln.crypt.CryptoException"

Помогите разобраться, как организовать работу с LibCore 2025.4.17, чтобы удовлетворить все требования?

encrypt_async.txt (23kb) загружен 4 раз(а).
Offline Артём Макаров  
#2 Оставлено : 10 июня 2025 г. 12:04:47(UTC)
Артём Макаров

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 20.02.2017(UTC)
Сообщений: 222

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 66 раз в 61 постах
Автор: Марк М Перейти к цитате
Здравствуйте.

Реализую интеграцию с продуктивным сервисом СФР СЭДО, документация https://lk.fss.ru/sedo.html, сервис https://ecp.sfr.gov.ru/sedo/soap/SedoGateway.
Приложение на C# .Net 8.0, использую LibCore 2025.4.17 (https://github.com/CryptoPro/libcore/releases)

Перед отправкой сообщения в СЭДО оно должно быть зашифровано в соответствии инструкцией:

1. Создание случайного сессионного ключа.
При работе с ключами на алгоритме ГОСТ Р 34.10-2012 следует инициализировать генератор параметрами шифрования TK26Z (предоставляется провайдером).
Алгоритм шифрования GOST28147.
2. Шифрование сессионного ключа.
2.1. Создание шифратора для шифрования ключа. Применяется алгоритм трансформации "urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001". Создаётся эфемерный ключ, который согласуется с открытым ключом получателя, и формируется ключ согласования (на котором будет зашифрован сессионный ключ);
2.2. Создание блока KeyInfo с сертификатом;
2.3. Шифрование сессионного ключа происходит с помощью указанного асимметричного ключа (ГОСТ Р 34.10-2001). Сессионный ключ используется для шифрования данных и в свою очередь так же шифруется.
CALG_DH_EL_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары. Открытый ключ получается по ГОСТ Р 34.10-2001.
CALG_DH_GR3410_12_256_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары. Открытый ключ получается по ГОСТ Р 34.10-2012 (256 бит).
CALG_DH_GR3410_12_512_EPHEM - идентификатор алгоритма обмена ключей по Диффи-Хеллману на базе закрытого ключа эфемерной пары. Открытый ключ получается по ГОСТ Р 34.10-2012 (512 бит).
3. Шифрование документа.
3.1. Создание шифратора в режиме шифрования. Применяется алгоритм
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147". Возможные параметры шифратора GostJCE/CBC/ISO10126Padding;
3.2. Добавление зашифрованного сессионного ключа, полученного ранее (добавление блока KeyInfo;
3.3. Шифрование документа на сессионном ключе.


Для шифрования использую "Сертификат уполномоченного лица СФР 2024 (действует с 25.04.2024 по 19.07.2025) - для шифрования" (https://lk.fss.ru/cert.html)
Пробую шифровать, используя пример из "XML шифрование на асимметричном ключе" https://dss.cryptopro.ru...D0%B5-encrypted-xml.html

В ответ получаю "Не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС. Проверьте правильность и актуальность ключа уполномоченного лица ФСС. class ru.gov.pfr.ecp.crypto.jcp.eln.crypt.CryptoException"

Помогите разобраться, как организовать работу с LibCore 2025.4.17, чтобы удовлетворить все требования?

encrypt_async.txt (23kb) загружен 4 раз(а).


https://github.com/CryptoPro/libcore/issues/81
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.