Статус: Новичок
Группы: Участники
Зарегистрирован: 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 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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 |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close