Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Добрый день. Имеется подписанный файл (для удобства чтения отформатированный): подписанный файл Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Также в наличии имеется 2 сертификата: свой и ФСС. С вычислением хеш-суммы и подписи разобрался. А вот шифрование не осилил. Задача: этот подписанный файл зашифровать и поместить в файл: структура зашифрованного файла Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. В документе Спецификация_ЭЛН_Страхователь_v1_1_20171215.doc указано: KeyInfo – содержит информацию об секретном ключе, сгенерированном для данного информационного взаимодействия (CipherValue) и публичный сертификат пользователя, зашифровавшего данные (X509Certificate) Собственно вопросы: 1. Что такое "секретный ключ для данного информационного взаимодействия"? 2. Из непонимания (1) следующий вопрос: какими функциями пользоваться и в какой последовательности для шифрования файла. 3. "публичный сертификат пользователя, зашифровавшего данные (X509Certificate)" - эти данные берутся из сертификата ФСС? Ведь шифровать файл надо их ключом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2017, 09:17 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Спасибо за ссылки, только они не открываются. Вот сейчас у меня есть конкретный вопрос: как формируется CipherValue. Тот самый, который "секретный ключ для данного информационного взаимодействия". По примерам с сайта накидал вот такое: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Как, зная SessionKey, InitVector и может быть что-то еще сформировать CipherValue? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 12:51 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
http://cpdn.cryptopro.ru/?url=/content/cades/plugin-samples-sign-xml.html http://cpdn.cryptopro.ru/?url=/content/cades/class_c_ad_e_s_c_o_m_1_1_c_p_enveloped_data.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 16:47 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
>CP_GR3410_2001_PROV_A, PROV_GOST_2001_DH Такого не должно быть в коде, в 2018 переход на ГОСТ-2012. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 16:49 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Тоже бьюсь над этим вопросом. Начал в сентябре и только к декабрю удалось сделать подпись. И теперь застрял на шифровании. Я использую C++, openssl и xmlsec1 Если Вам удастся разобраться, буду рад услышать способы вашего решения. По поводу третьего вопроса 3. "публичный сертификат пользователя, зашифровавшего данные (X509Certificate)" - эти данные берутся из сертификата ФСС? Ведь шифровать файл надо их ключом? Нет, это ваш сертификат (клиники), в нем содержится открытый ключ, с помощью которого ФСС зашифрует ответное сообщение, а вы расшифруете его вашим закрытым ключом (клиники) А вот шифровать данные надо открытым ключом ФСС, чтобы он смог расшифровать их своим закрытым ключом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2017, 04:27 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
cutecodeТоже бьюсь над этим вопросом. Начал в сентябре и только к декабрю удалось сделать подпись. И теперь застрял на шифровании. Я использую C++, openssl и xmlsec1 Если Вам удастся разобраться , буду рад услышать способы вашего решения. По поводу третьего вопроса 3. "публичный сертификат пользователя, зашифровавшего данные (X509Certificate)" - эти данные берутся из сертификата ФСС? Ведь шифровать файл надо их ключом? Нет, это ваш сертификат (клиники), в нем содержится открытый ключ, с помощью которого ФСС зашифрует ответное сообщение, а вы расшифруете его вашим закрытым ключом (клиники) А вот шифровать данные надо открытым ключом ФСС, чтобы он смог расшифровать их своим закрытым ключом Мне разобраться? "Ваш" сертификат? Что мешает использовать SDK и примеры с форумов? Нежелание выделить время и взять\найти, лень, непонимание как искать по ключевым словам? А... Новый Год же... С наступающим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2017, 09:52 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
cutecodeТоже бьюсь над этим вопросом. Начал в сентябре и только к декабрю удалось сделать подпись. И теперь застрял на шифровании. Я использую C++, openssl и xmlsec1 Мда, на .NET я подобное делал для ФССП в 2012-2013 годах за три месяца весь проект. В целом ничего сложного - крипто-про, их примеры и форумы. Были локальные проблемы, типа несовпадения хеш сумм, но все решалось отладкой, вдумчивыми чтением документации и форумов крипто-про. Или как подлезть к этому во внутренностях WCF, чтоб в итоге все заработало. Насколько я помню: 1. Если через СМЭВ, то два сертификата. Один для СМЭВ, второй для получателя. Нужно зашифровать сообщение-конверт для получателя сертификатом для получателя. Потом вложить его в конверт СМЕВ и зашифровать еще раз сертификатом для СМЭВ. Проблемы были - какой именно вложенный блок шифровать (начиная с какого xml тега) и какой проставлять Reference URI 2. Если напрямую, то по идее один сертификат. В любом случае библиотека и примеры от крипто-про делали львиную долю работы. Все SignedInfo, DigestValue, SignatureValue проставлялись автоматически. Просто указываешь контент и какой сертификат использовать. maratvg, cutecode Попробуйте поискать примеры для делфей и C++ у крипто-про. Не думаю, что вас обделили в этом плане. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2017, 10:58 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
onets, ему уже был дан пример из руководства разработчика, открыть SDK и посмотреть... что же там такого нужно написать на C++... видимо сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2017, 12:57 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Уж поверьте мне - сложно. ибо вы тут сами пишите всякую "хрень" например, ели человек пишет Код: sql 1. 2. то он не имеет ни какого представления об XML encryption. В шаблоне же XML явно указаны алгоритмы Код: sql 1. 2. А юзер onets вообще не знает разницы между XML Signing и XML encryption. Автор темы же написал, что он разобрался с подписью, и не может зашифровать. А onets злорадно описывает, о том как он легко разобрался с подписью и ни слова о шифровании А .NET вам не C++. Да, на Java и C# есть готовые библиотеки. Но на С++ я не нашел. Есть куча библиотек, но они ГОСТ-а не понимают. А на КриптоПро есть пример только с СОМ-объктом, т.е. на Линукс уже работать не будет. И то при условии что установлен MS Office 2003. Если вы "умники" если такие умные, то я готов вам заплатить если вы мне сделаете это для вас "легкое задание". Говорите вашу цену. С Новым Годом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2018, 04:07 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
cutecode, На delphi пока никуда не продвинулся. На данный момент пользуюсь классами GostEncryptSOAP/GostDecryptSOAP из GostCryptography.dll из набора arm_fss. Что примечательно, программисты ФСС видимо тоже не делфи не стали это всё реализовывать, раз юзают дотнетовскую длл-ку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 13:42 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Знаю одну успешную реализацию на Delphi, с ноября 2017 все отправляют. Номера ЛН регистрируют и т.п. Вообщем полный цикл Из сторонних библиотек используется JwaWinCrypt.pas (из JEDI, для доступа к CryptoAPI) Весь процесс реализации затянулся на 4 месяца. (начали в середине июля, к середине октября были в тестовой эксплуатации). К сожалению подробностей много рассказать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 17:18 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Пытаюсь получить ответ из ФСС Сервис Страхователя с подписанием и шифрованием данных (версия 1.1) подписываю запрос или подсовываю из примера (руководства), шифрую, вкладываю в бади нового соап конверта и от ФСС всегда получаю ответ (com.sun.xml.internal.ws.fault.ServerSOAPFaultException) com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: ru.ibs.cryptoprto.jcp.wrapper.ws.client.generated.CryptoException_Exception: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. class org.w3c.dom.DOMException Please see the server log to find more detail regarding exact cause of the failure. Использую JCP Откликнитесь, пожалуйста, кто имел опыт общения с этим сервисом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 09:02 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Разобрался. Я неправильно подписывал сообщение. Теперь другой вопрос, может кто знает Тестовый Сервис ФСС ответил мне шифрованным сообщением. Я посылал запрос getPrivateLNData("3103275205", "290195190104", "09365295200") (взял эти регнам,ЭЛН,СНИЛС из примера) Но расшифровать его я не могу Код: pascal 1. 2. 3. 4. 5. Получаю Exception "No Key Encryption Key loaded and cannot determine using key resolvers" Это ошибка что неправильный ключ для расшифровки (не тот абонент) или в принципе неправильный объект ключ и он его не загрузил? Кто знает где для тестового ФСС взять ключ чтобы расшифровать ответ на 3103275205? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2018, 17:17 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Dmitry19891, Тоже делаю связь с ФСС сервисом, хотелось бы узнать поподробнее- в чем была ошибка при шифровании ? Вот уже третий день на все мои потуги ответ мне один-ru.ibs.cryptoprto.jcp.wrapper.ws.client.generated.CryptoException_Exception: Error in execution of data crypting operation. class org.apache.xml.security.encryption.XMLEncryptionException Если не трудно опишите, пожалуйста, поподробнее какой режим шифрования выбирали, какие параметры устанавливали.И если уж совсем набраться наглости, то можете выложить оба зашифрованных файл(запрос и ответ от сервиса) ? А по поводу Вашего вопроса , насколько я понимаю, ключ от ФСС Вы уже получили в ответе. Вы должны его загрузить к себе и расшифровать свои закрытым ключом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2018, 20:39 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
вот еще 4 недели прошло, и пока все глухо. "Танцы с бубном" не помогают. Пока только понял следующее, может кто поправит 1. генерируем 8 байт IV 2. генерируем 32 байт сессионного ключа 3. c помощью IV и сессионного ключа шифруем данные алгоритмом ГОСТ 89 4. к полученным зашифрованным данным добавляем префикс из IV (8 байт) 5. из последнего делаем 64encoding и записываем в XML файл 6. шифруем сессионный ключ, открытым ключом ФСС алгоритмом ГОСТ 2001 7. из последнего делаем 64encoding и записываем в XML файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2018, 22:53 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Я, конечно, не спец в этом вопросе, потому что за весь январь мне так и не удалось послать шифрованное сообщение. Единственное мое достижение -сервис ФСС перестал материться на мой ключ, теперь ошибка в шифровании данных ) Но, по-моему, алгоритм не такой, как Вы написали 1.генерится сессионый ключ с IV с алгид Гост 89 2.на основе открытого ключа ФСС генерится ключ согласования с алгоритмом ГОСТ 2001 3. сессионный ключ шифруется полученным ключом согласования 4.данные шифруются уже зашифрованным ключом, потом в base64 и в XML 5.в XML ключ ложится в base64, но не по простому, а в виде структуры , описанной в госте 89 Поправьте, если я ошибаюсь. Так достало уже, от ФСС помощи никакой, с техподдержкой хрен свяжешься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2018, 21:28 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Это вы как я понял по примерам КриптоПро рассуждаете? я вообще не понимаю причом там ключ согласования. Cогласно описанию https://tools.ietf.org/html/draft-chudov-cryptopro-cpxmldsig-08 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. В SOAP сообщении, данным обязательно должен предшествовать IV (8 bites) Я пробовал всунуть туда IV через криптоПро, один "хрен", даже на ключ ругается ФСС. А вот через openssl удалость зашифровать ключ, но на данные ругается. Причом через Openssl делал без всяки там "ключей согласования" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2018, 00:31 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
cutecode, За этот месяц что только не было прочитано, ваш документ тоже читала. Я так понимаю, что у нас 2 задачи:зашифровать по госту 89(urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147) и положить в Cipher ключа по госту 2001(urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001) Шифровать: уже не помню откуда вычитала, но там говорилось, что если просто генерить сессионный ключ по госту 89, то он получается всегда одинаковый.И поэтому он , в свою очередь , должен зашифрован ключом по госту2001.Причем параметры ключа должны совпадать с параметрами ключа получателя, т.е. открытого ключа ФСС Получается , что ключ согласования должен быть тоже сгенерен.Если найду снова этот документ, кину ссылку. А на криптопро в потверждении моей теории - https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=12611 Положить ключ в Cipher: чтобы доставить ключ, он должен быть представлен в виде структуры GostR3410-KeyTransport.Опять же на каком-то форуме нашла ответ ФСС, перевела ключ в ASN, увидела , что она полностью соотвествует структуре GostR3410-KeyTransport А по поводу вставки IV вообще не поняла,судя по стандарту надо к зашифрованным данным добавить вперед 8 байт IV, а если посмотреть файл , приложенный в https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=87721 там ничего в сами данные не вставлено. В любом случае, с IV или без него, у меня рез-т одинаковый.Ключ принимается, данные-нет. Возможно, что надо другой режим шифрования указать, отличный от дефолта, или доп параметры какие. Или я вообще не права,хз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2018, 16:21 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
вы писали, что вам удалось зашифровать сессионный ключ, можете поделиться кодом? мой email stomatolog99@ mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2018, 02:36 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
а смысл? раз данные не расшифровываются(Error in execution of data crypting operation), значит, несмотря на то, что ключ принимается ФСС, он все равно неправильный( Потому что в шифровании данных ошибку сделать сложно, там всего одна команда.Будет чем реально поделиться, поделюсь. Может и прав был maratvg,когда ушел на Net.Вот только задача у меня-написать на С++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2018, 21:41 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Кто-либо продвинулся в теме шифрования больничных? Подписание у нас тоже сделано в web. А вот на шифровании ровно теже вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2018, 11:20 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvgcutecode, На delphi пока никуда не продвинулся. На данный момент пользуюсь классами GostEncryptSOAP/GostDecryptSOAP из GostCryptography.dll из набора arm_fss. Что примечательно, программисты ФСС видимо тоже не делфи не стали это всё реализовывать, раз юзают дотнетовскую длл-ку. Тоже использую эту библиотеку, но не смог найти таких классов GostEncryptSOAP/GostDecryptSOAP. Я использовал класс GostEncryptedXml. Смог зашифровать и расшифровать своими ключами. Также смог зашифровать, отправить на тестовый контур и получить зашифрованный ответ. Но не смог расшифровать =( Бьюсь уже день. Можете мне код (шифровки/дешифровки сообщения) выслать на почту alex_rpg@list.ru? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 16:52 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
tamerlan00, В тот-то и удобство класса GostEncryptSOAP, что у него есть метод: Код: pascal 1. которому надо отдать имя провайдера, имя сертификата и подписанный xml в виде строки. В ответ он вернет зашифрованный xml. То же самое с GostDecryptSOAP: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2018, 08:28 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvgtamerlan00, В тот-то и удобство класса GostEncryptSOAP, что у него есть метод: Код: pascal 1. которому надо отдать имя провайдера, имя сертификата и подписанный xml в виде строки. В ответ он вернет зашифрованный xml. То же самое с GostDecryptSOAP: Код: pascal 1. Ой, точно. Уже недели 2 копаюсь в GostCryptography, а GostCryptography.SOAP не замечал ))) Спасибо, буду пробовать )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2018, 08:55 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
День добрый, форумчане! У кого-то есть решение по интеграции с ЭЛН ФСС под Delphi 7? Готов приобрести за договорную плату. Заинтересованным просьба писать в личку или на delem@yandex.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2018, 18:15 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Здравствуйте всем! На Делфи 7 разрабатываю взаимодействие с ФСС. Какие прошёл этапы 1. Через WsdlImp.exe удалось сформировать pas-файл для Сервиса Страхователя с подписанием данных FSSWSInsurer.pas. Немного допилив, проект стал нормально компилиться. 2. Пообщавшись с техподдержкой, удалось получить образцы xml-запросов, посылаемых на сервер ФСС, и ответы от них. 3. Установил VipNet, создал тестовый сертификат для подписывания запросов, установил необходимые корневые сертификаты для создания нужной цепочки. 4. Дальше стал шаманить. Для начала убедился в том, что отправка в ФСС готового запроса из п.2 проходит без каких-либо ошибок, и удаётся получить ответ. 5. А дальше уже идёт сама работа на Делфи. Тестовый сертификат установлен в хранилище "Личное". Параметры. Алгоритм подписи: ГОСТ Р 34.10/34.11-2001 Хэш-алгоритм подписи: ГОСТ Р 34.11-94 Открытый ключ: ГОСТ Р 34.10-2012/512 Алгоритм отпечатка: sha1 5.1. Открываю локальное хранилище CertOpenStore, через CertEnumCertificatesInStore получаю список всех сертификатов, из которого потом выбираю данный сертификат. 5.2. Функциями CryptAcquireContext, CryptCreateHash, CryptHashData, CryptGetHashParam формирую хэш-сумму тэга Body. 5.3 Функциями CryptAcquireCertificatePrivateKey, CryptCreateHash, CryptSignHash(вычисление размера), CryptSignHash (подписывание хэша) подписываю хэш-сумму тэга SignedInfo, меняю порядок байт на противоположный, кодирую по Base64. 5.4. Далее через Base64 кодирую буфер сертификата pbCertEncoded. 5.5. Всё это вставляется в соответствующие места xml-запроса: <DigestValue></DigestValue>, <SignatureValue></SignatureValue>, <BinarySecurityToken></BinarySecurityToken>, после чего он посылается в ФСС. И сейчас получаю вот такой ответ: ORA-20001: Отсутствует подпись головной организации stacktrace: Ошибка при проверке ЭЦП. java.security.InvalidKeyException: Invalid key typealgorithm = 1.2.643.7.1.1.1.1, params unparsed, unparsed keybits = 0000: 04 40 5A 22 51 08 50 A1 8C 02 DB 2F F1 40 04 00 .@Z"Q.P..../.@.. 0010: 95 6E E6 82 85 FC 88 E4 62 44 D7 FD 66 03 98 0E .n......bD..f... 0020: 24 D1 54 CF 4E FF FF 08 80 C7 A6 EF 82 31 F5 9C $.T.N........1.. 0030: C4 21 C4 67 66 27 D8 2E C5 33 90 5E 72 B6 28 1D .!.gf'...3.^r.(. 0040: CF EA .. stacktrace: И теперь пытаюсь понять, с чем связана такая ошибка. Может кто-нибудь подсказать? С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:31 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Могу подсказать... Почему ГОСТ-2012 используется? Они уже на нём? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 16:51 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, делай тестовый сертификат - ГОСТ-2001 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 16:52 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012Shuraken, Могу подсказать... Почему ГОСТ-2012 используется? Они уже на нём? Тех.поддержка сказала, что да, они работают с ним. Я формировал и сертификат с открытым ключом по ГОСТ Р 34.10-2001 (512Bits), но там возникла проблема на этапе формирования хэш-суммы тэга Body, не создаётся хэш. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. CALG_GR3410EL взят из wincryptex, равен 11811. Подставляю вместо CALG_GR3410EL CALG_GR3411 (хоть это и неправильно), тогда всё формируется, но при отправке запроса сервис ФСС возвращает ошибку: ЭЦП неверна. INVALID_SIGNATURE ЭП недействительна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:39 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, 'Infotecs Cryptographic Service Provider', PROV_RSA_FULL CALG_GR3410EL взят из wincryptex, равен 11811. 1) Не прописывать имена CSP 2) Использовать правильные типы CSP 3) CALG_GR3410EL - точно он нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:46 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, 2148073480=0x80090008 = "Invalid Algorithm Specified" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:49 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, CALG_GR3411 = 32798; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:51 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, CALG_GR3410EL - это идентификатор алгоритма ЭП по ГОСТ Р 34.10-2001. А хочешь хеш получить (CryptCreateHash)... Вот и не пускает - 2148073480=0x80090008 = "Invalid Algorithm Specified" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:53 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
авторПодставляю вместо CALG_GR3410EL CALG_GR3411 (хоть это и неправильно ), тогда всё формируется Сам придумал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:55 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012Shuraken, 'Infotecs Cryptographic Service Provider', PROV_RSA_FULL CALG_GR3410EL взят из wincryptex, равен 11811. 1) Не прописывать имена CSP 2) Использовать правильные типы CSP 3) CALG_GR3410EL - точно он нужен? 1. Имя я прописал здесь, чтобы было понятно, о чём идёт речь. Наверняка это важно. В коде у меня стоит nil и вместо PROV_RSA_FULL стоит 1. 3. По крайней мере именно эта константа была прописана в идентификаторах алгоритма криптопровайдера . Говорю же, что подставлял и другие константы для работы что с этим сертификатом, что с другими, и с ними всё работало, но там были другие ошибки, о которых я написал ранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 17:56 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012Shuraken, CALG_GR3410EL - это идентификатор алгоритма ЭП по ГОСТ Р 34.10-2001. А хочешь хеш получить (CryptCreateHash)... Вот и не пускает - 2148073480=0x80090008 = "Invalid Algorithm Specified" Суть уловил. Сюда надо подставить CALG_GR3411, то же самое сделать и для подписывания SignedInfo, и т.д. Это я делал. Почему же тогда вылезает ошибка при получении ответа от ФСС "ЭЦП неверна. INVALID_SIGNATURE ЭП недействительна."? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:06 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shurakensql2012Shuraken, 'Infotecs Cryptographic Service Provider', PROV_RSA_FULL CALG_GR3410EL взят из wincryptex, равен 11811. 1) Не прописывать имена CSP 2) Использовать правильные типы CSP 3) CALG_GR3410EL - точно он нужен? 1. Имя я прописал здесь, чтобы было понятно, о чём идёт речь. Наверняка это важно. В коде у меня стоит nil и вместо PROV_RSA_FULL стоит 1. 3. По крайней мере именно эта константа была прописана в идентификаторах алгоритма криптопровайдера . Говорю же, что подставлял и другие константы для работы что с этим сертификатом, что с другими, и с ними всё работало, но там были другие ошибки, о которых я написал ранее. Не судьба запросить у ОС по имени CSP его тип? Он разве 1 ... ? Подбирать можно долго, как и путать алгоритмы хеширования и подписи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:07 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shurakensql2012Shuraken, CALG_GR3410EL - это идентификатор алгоритма ЭП по ГОСТ Р 34.10-2001. А хочешь хеш получить (CryptCreateHash)... Вот и не пускает - 2148073480=0x80090008 = "Invalid Algorithm Specified" Суть уловил. Сюда надо подставить CALG_GR3411, то же самое сделать и для подписывания SignedInfo, и т.д. Это я делал. Почему же тогда вылезает ошибка при получении ответа от ФСС "ЭЦП неверна. INVALID_SIGNATURE ЭП недействительна."? У самого получилось проверить то, что отправляешь? Сторонний софт подтверждает корректность (для начала - хеша)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:10 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012Не судьба запросить у ОС по имени CSP его тип? Он разве 1 ... ? Подбирать можно долго, как и путать алгоритмы хеширования и подписи... 1. А как это сделать? 2. Да, согласен, мой косяк. Увидел знакомые цифирки в идентификаторе 34.10-2001, обрадовался и подставил, не обратив внимания, за что он отвечает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:13 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012У самого получилось проверить то, что отправляешь? Сторонний софт подтверждает корректность (для начала - хеша)? До этого ещё не дошёл. Как это можно проверить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:15 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shurakensql2012У самого получилось проверить то, что отправляешь? Сторонний софт подтверждает корректность (для начала - хеша)? До этого ещё не дошёл. Как это можно проверить? авторформирую хэш-сумму тэга Body. Вот это - сохранить в файл, сделать ЭП, проверить, например, через КриптоАРМ. Далее - корректные ли данные подписываются (из Body). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:21 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Еще можно почитать\поискать по ключевым словам (имена функций) на специализированных форумах. Например, КРИПТО-ПРО . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:22 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shurakensql2012Не судьба запросить у ОС по имени CSP его тип? Он разве 1 ... ? Подбирать можно долго, как и путать алгоритмы хеширования и подписи... 1. А как это сделать? 2. Да, согласен, мой косяк. Увидел знакомые цифирки в идентификаторе 34.10-2001, обрадовался и подставил, не обратив внимания, за что он отвечает. Запросить информацию для используемого сертификата CertGetCertificateContextProperty(Certificate, CERT_KEY_PROV_INFO_PROP_ID, KeyInfo, pcbData) в KeyInfo будет информация: авторCRYPT_KEY_PROV_INFO = record pwszContainerName: LPWSTR; pwszProvName: LPWSTR; dwProvType: DWORD; dwFlags: DWORD; cProvParam: DWORD; rgProvParam: PCRYPT_KEY_PROV_PARAM; dwKeySpec: DWORD; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 18:36 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, благодарю за советы. Проверка показала, что данные неправильно подписываются. Потихоньку разбираюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2018, 10:24 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Anvig, если еще проблема не решена, то попробуйте развернуть байты iv перед установкой его в начале пакета данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2018, 14:43 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Кому интересно, выложил архив с вызовом сервиса ФСС шифрованного. Так же промаялся, таки победил. Тут, вроде как размер ограничен для аттачей, кидаю ссыль на форум крипто-про, там в 8 посте архив https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=14192 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 10:43 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Удалось разобраться с технической частью, сформировать корректный запрос и отправить его. Теперь, как водится, идут нюансы, над которыми подозреваю, придётся серьёзно попотеть. Допустим ЭЦП формируется сертификатом с таким алгоритмом подписи: ГОСТ Р 34.11-2012/34.10-2012 256 бит и таким хэш-алгоритмом подписи: ГОСТ Р 34.11-2012 256 бит. В этом случае, в блоке SignedInfo будет такая запись: <SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/> ... <DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/> Если же ЭЦП формируется сертификатом вот с такими параметрами: Алгоритм подписи: ГОСТ Р 34.11/34.10-2001 Хэш-алгоритм подписи: ГОСТ Р 34.11-94 То в блоке SignedInfo будет уже такая структура: <SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411"/> ... <DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411"/> И сейчас я пытаюсь найти, где эти параметры зашиты, чтобы при формировании запроса их корректно подставлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 12:56 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, хорошо бы опыт в бложике каком выложить. Я бы себе заныкал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 17:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Док, так он уже давно выложен на форуме криптопро. Посмотрите предыдущие сообщения в теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 11:06 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ShurakenПосмотрите предыдущие сообщения в теме. а-а-а, точно, запамятовал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 18:18 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Столкнулся с такой непонятной для меня ситуацией. Установил несколько тестовых сертификатов от КриптоПро, чтобы проверить корректность наложения ЭЦП. В одном сертификате такие параметры: Алгоритм подписи: ГОСТ Р 34.11-2012/34.10-2012 256 бит Хэш-алгоритм подписи: ГОСТ Р 34.11-2012 256 бит Открытый ключ: ГОСТ Р 34.11-2012 512 бит В другом Алгоритм подписи: ГОСТ Р 34.11-2012/34.10-2012 256 бит Хэш-алгоритм подписи: ГОСТ Р 34.11-2012 256 бит Открытый ключ: ГОСТ Р 34.11-2012 256 бит Я сперва посчитал, что раз в обоих случаях алгоритм подписи и хэш-алгоритм подписи одинаковы, то для формирования хэша будет использоваться один и тот же алгоритм - CALG_GR3411_2012_256 (32801). Ага, щаз. В случае использования второго сертификата с открытым ключом на 256 бит это было справедливо. А вот для сертификата с открытым ключом в 512 бит опытным путём удалось установить, что надо использовать другой алгоритм - CALG_GR3411_2012_512 (32802). Тогда всё накладывается корректно и запрос получается правильным. И я сейчас пытаюсь понять, как программно вытащить информацию о правильном хэш-алгоритме. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. И я понимаю, что ищу не то, что надо искать данные именно для хэш-алгоритма, но при этом не могу понять, какими процедурами это можно сделать, используя контекст конкретного сертификата. Подскажите пожалуйста. С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 10:46 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Также столкнулся с ситуацией, что не работает формирование ЭЦП в Windows 10 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. На версиях ниже 10 всё работает нормально. Подскажите, в чём может быть дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2018, 17:09 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, GetLastError для CryptHashData что-то же сообщает? На ошибки проверки кто будет писать? p.s. raise Exception.Create - сильно... GetLastError не угодил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2018, 22:49 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, CryptHashData - всё нормально. Пробовал и GetLastError - возвращает "Неправильный вызов функции" на CryptSignHash. При этом на других версиях винды всё нормально. Exception.Create ставил для отладки, чтобы видеть, в каких функциях происходили ошибки. Так их быстрее отыскивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2018, 10:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, по-твоему должны все гадать, что у тебя там в переменных? CSP какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2018, 12:42 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, CSP - Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider AlgID - CALG_GR3411 (32798) Тот же результат и для CSP - Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider AlgID - CALG_GR3411_2012_256 (32801) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2018, 13:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, CryptSignHash - второй параметр - "за что отвечает" и почему прошит в коде 0? пример: https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=91520#post91520 p.s. Если пишешь на форуме КРИПТО-ПРО и чтобы там отвечали - пиши с проверкой результата каждой функции + код ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2018, 19:19 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Он проинициализирован в ноль. После вызова функции CryptAcquireCertificatePrivateKey он принимает значение 1 - AT_KEYEXCHANGE. За ссылку спасибо. ... Немного подправил, всё равно та же самая ошибка на Windows 10 - "Неверный вызов функции". Такое чувство, что подписывание на Windows 10 осуществляется как-то по-другому, чем на других версиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 10:57 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shurakensql2012, Он проинициализирован в ноль. После вызова функции CryptAcquireCertificatePrivateKey он принимает значение 1 - AT_KEYEXCHANGE. За ссылку спасибо. ... Немного подправил, всё равно та же самая ошибка на Windows 10 - "Неверный вызов функции". Такое чувство, что подписывание на Windows 10 осуществляется как-то по-другому, чем на других версиях. Код ошибки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 22:58 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, сборка CSP какая? последняя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 23:00 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Разобрались. Дело было не в версии Windows и не в моей программе. Просто истекла лицензия. Продлили и всё заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 10:09 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
обычно: 0x8007065b (1627) - Ошибка исполнения функции + периодически CSP показывает диалог на ввод лицензии, если не вызывать явно в silent-режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 15:16 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Коллеги, сталкивались ли вы на тестовом контуре https://docs-test.fss.ru/ws-insurer-crypto-v11/FileOperationsLnPort с ошибкой: ru.ibs.cryptoprto.jcp.wrapper.eln.ws.client.generated.CryptoException_Exception: The prefix "soapenv" for element "soapenv:Body" is not bound. class org.apache.xml.security.encryption.XMLEncryptionException На просто подписанное сообщение без шифрования сервис https://docs-test.fss.ru/ws-insurer-v11/FileOperationsLnPort отвечает нормально. При попытке использовать с шифрованием вот такая проблема, на стороне ФСС расшифрование проходит, а дальше вот такая история с пространством имён... Куда бы вы копали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 11:59 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Еще одна жертва этих же граблей: истина где-то рядом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 10:52 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Уппс, ссылку неправильно вставил: http://www.cyberforum.ru/web-services-wcf/thread1807834.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 10:55 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, Добрый день. Вам удалось использовать библиотеку из состава arm_fss? Я пытался вызвать ее на C#, но получаю error exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2018, 13:19 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Anatole, Про шарп сказать ничего не могу. Подключал к делфи. Всё работало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 06:41 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, а могли бы показать, как Вы реализовали эти вызовы в delphi. м.б. скинете фрагмент кода напрямую abakkav@yandex.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 09:27 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Anatole, 1. сгенерить из GostCryptography.dll GostCryptography_TLB.pas (TlbExp.exe, tlibimp.exe). 2. в GostCryptography_TLB.pas будут созданы классы TGostEncryptSOAP, TGostDecryptSOAP, которые собственно и использовались. для примера Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 15:15 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, Спасибо, за разъяснение, идея понятна. Примерно тоже самое пытался делать и я, но наконец-то понял, что Вы говорите о библиотеке для организации страхователя (из arm_fss), а я пытаюсь использовать библиотека для медицинской организации (из fss_mo). Возможно, здесь какие-то нюансы. Буду пытаться пробиться дальше. Да, еще вопрос, a aCertName - это "Фонд социального страхования Российской Федерации" или имя файла *.cer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 07:39 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
aCertName - это "Фонд социального страхования Российской Федерации". , т.е. то самое имя, которое прописано в сертификате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 13:09 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, А Вы не могли бы выложить сюда, или прислать мне на почту GostCryptography_tlb.pas? Дело в том, что у меня не получается сгенерировать его с помощью tlibimp из ARM_FSS\GostCryptography.dll - выдаёт ошибку. При этом, когда я пытаюсь посмотреть "внутренности" длл-ки с помощью tdump.exe, то не вижу в нём нужного функционала. Turbo Dump Version 5.0.16.12 Copyright (c) 1988, 2000 Inprise Corporation Display of File GOSTCRYPTOGRAPHY.DLL Old Executable Header DOS File Size 31400h (201728. ) Load Image Size 450h ( 1104. ) Relocation Table entry count 0000h ( 0. ) Relocation Table address 0040h ( 64. ) Size of header record (in paragraphs) 0004h ( 4. ) Minimum Memory Requirement (in paragraphs) 0000h ( 0. ) Maximum Memory Requirement (in paragraphs) FFFFh ( 65535. ) File load checksum 0000h ( 0. ) Overlay Number 0000h ( 0. ) Initial Stack Segment (SS:SP) 0000:00B8 Program Entry Point (CS:IP) 0000:0000 Portable Executable (PE) File Header base: 00000080 CPU type 80386 Flags 2102 [ executable linenumbers symbols backwards 32bit library ] DLL flags 8540 [ ] Linker Version B.0 Time stamp 56B473B9 : Fri Feb 05 13:04:41 2016 O/S Version 4.0 User Version 0.0 Subsystem Version 4.0 Subsystem 0003 [ Windows character ] Object count 00000003 Symbols offset 00000000 Symbols count 00000000 Optional header size 00E0 Magic # 10B Code size 00030C00 Init Data size 00000600 Uninit Data size 00000000 Entry RVA 00032B7E Image base 10000000 Code base 00002000 Data base 00034000 Object/File align 00002000/00000200 Reserved 00000000 Image size 00038000 Header size 00000200 Checksum 00000000 Stack reserve/commit 00100000/00001000 Heap reserve/commit 00100000/00001000 Number interesting RVAs 00000010 Name RVA Size ------------------ -------- -------- Exports 00000000 00000000 Imports 00032B2C 0000004F Resources 00034000 00000328 Exceptions 00000000 00000000 Security 00000000 00000000 Fixups 00036000 0000000C Debug 000329F4 0000001C Description 00000000 00000000 Global Ptr 00000000 00000000 TLS 00000000 00000000 Callbacks 00000000 00000000 Bound Imports 00000000 00000000 Import Addr Table 00002000 00000008 Delayed Imports 00000000 00000000 COM Runtime 00002008 00000048 reserved 00000000 00000000 Object table: # Name VirtSize RVA PhysSize Phys off Flags -- -------- -------- -------- -------- -------- -------- 01 .text 00030B84 00002000 00030C00 00000200 60000020 [CER] 02 .rsrc 00000328 00034000 00000400 00030E00 40000040 [IR] 03 .reloc 0000000C 00036000 00000200 00031200 42000040 [DIR] Key to section flags: C - contains code D - discardable E - executable I - contains initialized data R - readable ****************************************************************************** Section: Import ImportLookUpTblRVA:00032B54 Time Stamp: 00000000 Forwarder Chain: 00000000 (index of first forwarder reference) Imports from mscoree.dll _CorDllMain ****************************************************************************** Section: Resources Flags: 00000000 Time Stamp: 00000000 Major Version: 0000 Minor Version: 0000 Resources: Type Name Lang Id -------------------------------------------- [0 named entries, 1 ID entries] type: Version (16) (next directory @00000018) [0 named entries, 1 ID entries] type: Cursor (1) (next directory @00000030) [0 named entries, 1 ID entries] type: Unknown (0) (data @00000048) Offset: 00034058 Size: 000002D0 Code Page: 00000000 Reserved: 00000000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 10:26 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Видимо вы пропустили первый шаг: TlbExp.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 08:03 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, Нет, не забыл, там тоже ошибка TlbExp : error TX0000 : Невозможно загрузить файл или сборку "file:///C:\FSSRF\A RM_FSS\gostcryptography.dll" или один из зависимых от них компонентов. Сборка со здана в более поздней версии среды выполнения чем текущая, и не может быть загру жена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 12:43 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Нужно версию SDK более свежую D:\GostCryptography>ft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\TlbExp.exe" D:\GostCryptography\GostCryptography.dll Microsoft (R) .NET Framework Assembly to Type Library Converter 4.6.1055.0 Copyright (C) Microsoft Corporation. All rights reserved. Assembly exported to 'D:\GostCryptography\GostCryptography.tlb' D:\GostCryptography>rogram Files\Microsoft SDKs\Windows\v7.1\Bin\TlbExp.exe" D:\GostCryptography\GostCryptography.dll Microsoft (R) .NET Framework Assembly to Type Library Converter 3.5.30729.1 Copyright (C) Microsoft Corporation. All rights reserved. TlbExp : error TX0000 : Невозможно загрузить файл или сборку "file:///D:\GostCryptography\GostCryptography.dll" или один из зависимых от них компонентов. Сборка создана в более поздней версии среды выполнения чем текущая, и не может быть за гружена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 14:45 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, Огромное спасибо, установил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 15:26 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, правда, там описание функционала отличается от того, что написали Вы. Можете объяснить назначение pSenderCertName (function encryptMsg(const pProvName: WideString; const pCertName: WideString; const pSenderCertName: WideString; const pSOAPMsg: WideString): WideString;)? На всякий случай прилагаю архив с моим сгенерированным pas-файлом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 17:15 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
С этим разобрался - взял GostCryptography из папки FssTools, а не ARM_FSS. Правда, теперь там другая проблема: сообщение "Операция не может быть выполнена с текущим ключом", после чего слетают все настройки хранилища сертификатов и приходится перезагружать компьютер. Так что всё весело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2018, 11:55 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Работал только со старой длл-кой, сейчас нет надобности, поэтому что там поменялось не слежу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2018, 14:35 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ShurakenС этим разобрался - взял GostCryptography из папки FssTools, а не ARM_FSS. Правда, теперь там другая проблема: сообщение "Операция не может быть выполнена с текущим ключом", после чего слетают все настройки хранилища сертификатов и приходится перезагружать компьютер. Так что всё весело. Через CSP контейнер (по сертификату) тестируется без проблем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2018, 19:35 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, в смысле, нормально ли подписывается и принимается ФСС? Да, там всё нормально, но реализовано не через GostCryptography. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2018, 10:07 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Очередные грабли с ЭЛН по ФСС. На сей раз шифрование. Подписанные запросы на получение и отправку данных без проблем обрабатываются тестовым сервером ФСС. Работаю над шифрованием. Вот с ним и возникла проблема. За основу взял готовый код tkolomiets Электронный больничный ЭЛН . Допилил его под Делфи 7, на которой работаю и стал пробовать шифровать и отсылать на тестовый сервер ФСС. В результате всё время возникает ошибка ru.ibs.cryptoprto.jcp.wrapper.eln.ws.client.generated.CryptoException_Exception: Не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС. Проверьте правильность и актуальность ключа уполномоченного лица ФСС. С сертификатами всё в порядке, с криптопровайдером тоже. В чём ошибка, понять не могу. В аттаче образец подписанного сообщения, зашифрованного и код. Буду признателен, если посмотрите и укажете на проблему. С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 16:51 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Кто может подсказать аналоги следующих функций для Делфи 7? TNetEncoding.Base64.EncodeBytesToString TEncoding.Ansi.GetString TNetEncoding.Base64.DecodeStringToBytes TEncoding.Default.GetBytes А то наткнулся на них в аттаче по подписанию и шифрованию ЭЛН, и не уверен, что правильно подобрал аналоги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 20:04 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 20:14 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
rgreat, Во-первых, это плохой юнит, уже разбирали. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Во-вторых, в дельфи есть родной: 2009-XE - EncdDecd.pas, XE2+ - Soap.EncdDecd.pas и ещё вот это . В-третьих, если родной не нравится можно из какого-нибудь synops'а взять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 20:48 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
alekcvprgreat, во-вторых, в дельфи есть родной: 2009-XE - EncdDecd.pas, XE2+ - Soap.EncdDecd.pas и ещё вот это . В-третьих, если родной не нравится можно из какого-нибудь synops'а взять. Я говорил о Делфи 7. В нём да, есть encddecd, и честно говоря, не совсем понял, как соотнести его procedure EncodeStream(Input, Output: TStream); procedure DecodeStream(Input, Output: TStream); function EncodeString(const Input: string): string; function DecodeString(const Input: string): string; с тем, что я написал TNetEncoding.Base64.EncodeBytesToString TEncoding.Ansi.GetString TNetEncoding.Base64.DecodeStringToBytes TEncoding.Default.GetBytes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 23:26 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ShurakenЯ говорил о Делфи 7. В нём да, есть encddecd, и честно говоря, не совсем понял, как соотнести его TNetEncoding.Base64.EncodeBytesToString TEncoding.Ansi.GetString TNetEncoding.Base64.DecodeStringToBytes TEncoding.Default.GetBytes Base64: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А вот вместо TEncoding, скорее всего, придётся писать свою обёртку над MultiByteToWideChar и WideCharToMultiByte . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 11:28 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
alekcvpА вот вместо TEncoding, скорее всего, придётся писать свою обёртку над MultiByteToWideChar и WideCharToMultiByte . Ну или так (не проверял): Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 11:33 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Обертки, что бы долго не мучатся (взяты из JCL): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 12:35 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
alekcvpА вот вместо TEncoding, скорее всего, придётся писать свою обёртку над MultiByteToWideChar и WideCharToMultiByte . А функции из этого файла подойдут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 13:51 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Друзья, прошу помощи с расшифровкой. Мне удалось отправить сообщение в ФСС и получить зашифрованный ответ. Теперь бьюсь над расшифровкой. Сначала попробовал сделать через GostCryptography.dll, указывая тип провайдера из сертификата, которым подписывал сообщение Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. получаю ошибку "Данные шифра не указаны". Попробовал по другому, застрял на ошибке "Плохие данные": Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. при этом подозреваю, что ошибку допустил где-то здесь: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. У кого стоит Embarcadero, проверьте пожалуйста, какой результат возвращает функция TNetEncoding.Base64.DecodeStringToBytes(transportNode.Text); Если ей на вход поступает вот такое значение (CipherValue): MIGkMCgEINMuXESbgvBOY8udqVlHxbfpPgcKAS5Ew6HTwpGhz269BASOb6SYoHgGByqFAwICHwGgYzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQNDAARAZMGkZ+ODNscutZgYgesDlGkN5AiubvNOhdJOaIZK+QRoVkMZnq22foPv660Khhs9zj5BTwx5u1HOITYmgEj1fwQIkfNcLhh/iDk= С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2018, 11:11 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvgв GostCryptography_TLB.pas будут созданы классы TGostEncryptSOAP, TGostDecryptSOAP, которые собственно и использовались. для примера Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Если несложно, приведите пожалуйста, пример расшифровки. Для шифрования Ваш код подошёл, но пока не могу понять, как расшифровывать. Делаю так, подставляя разные параметры в decryptMsg, но каждый раз выходит одна и та же ошибка "Данные шифра не указаны". Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2018, 19:42 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Ура, удалось разобраться с GostDecryptSOAP. Оказывается, ему надо было "скармливать" не всё сообщение, а лишь EncryptedData с содержимым. Но тут возникла другая проблема. Ошибка исчезла, но расшифровка не происходит. Подаёшь на вход зашифрованное сообщение, и его же получаешь на выходе. Что самое интересное, вот такой код показывает, что обе функции работают нормально. Подаю на вход подписанный xml, указываю свой сертификат и вижу зашифрованное сообщение, после чего расшифровываю его и вижу исходное сообщение. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. А вот зашифровав сообщение сертификатом ФСС, ничем расшифровать его не могу. Кто-нибудь может объяснить, с чем это может быть связано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 03:11 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, для расшифровки нужен закрытый ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 11:11 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Это понятно, у меня сертификат с закрытым. Но дело в том, что расшифровка не происходит, если использовать GostDecryptSOAP.decryptMsg(aCertProv, aProvMsg). Первым параметром я указываю провайдера сертификата с закрытым ключом, вторым - ответ, полученный от ФСС. И подав зашифрованные данные на вход, я получаю их же на выходе. И у меня складывается ощущение, что эта функция просто не знает, как расшифровать. Когда же я это делаю низкоуровневыми функциями, то ломаюсь с ошибкой "Плохие данные" при получении сессионного ключа. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. И я пытаюсь разобраться, что надо подать на вход функции GostDecryptSOAP, чтобы получить расшифрованные данные, и в чём причина ошибки "плохие данные" при работе с низкоуровневыми функциями. В этом я и прошу помочь мне. В аттаче dll и обёртка для делфи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 11:30 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Насколько помню в ответе от ФСС надо подменить их сертификат своим перед расшифровкой. Нашел вот такую процедуру. Попробуйте сделать что-то похожее. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 14:05 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvgShuraken, Насколько помню в ответе от ФСС надо подменить их сертификат своим перед расшифровкой. Нашел вот такую процедуру. Попробуйте сделать что-то похожее. Спасибо за совет, попробовал, но получил ошибку "плохие данные". Использовал сертификат с закрытым ключом, который по структуре совпадает с сертификатом ФСС. Попробовал другие - та же самая картина. Интересно, а чьим открытым ключом они шифруют ответные сообщения. Я-то предполагал, что они расшифровывают закрытым ключом, берут открытый сертификат из подписи сообщения и шифруют им. И в этом случае в ответном сообщении я увижу открытый ключ своего сертификата. Но нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 15:13 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Занятно. Удалось выяснить следующую особенность. При формировании сообщения внутрь него вкладывается публичный сертификат пользователя. После подписания сообщения оно шифруется сертификатом ФСС и отправляется на их сервер. Там сообщение расшифровывается их закрытым ключом, проверяется ЭЦП и формируется ответное сообщение. В него вкладывается публичный сертификат (по идее, тот же самый, которым я шифровал сообщение), подписывается и шифруется. Если я правильно понял, шифровать они должны моим публичным сертификатом, взятым из подписанного сообщения. Поправьте, если я не прав. И после отправки я расшифровываю его своим закрытым ключом и обрабатываю. Так вот особенность заключается в том, что я шифрую сообщение сертификатом ФСС с открытым ключом ГОСТ Р 34.10-2001 (512 bit), вкладывая внутрь свой сертификат с открытым ключом, а тестовый сервер, насколько я понял, шифрует ответное сообщение сертификатом ФСС с открытым ключом ГОСТ Р 34.10-2012 256 бит - по крайней мере, в узле <ds:X509Certificate></ds:X509Certificate> содержится именно он. И когда я пытаюсь расшифровать данные своим сертификатом, он их расшифровать не может и ошибки не выдаёт. Когда я подменяю сертификаты в сообщении и пытаюсь их расшифровать - ругается на плохие данные. И как исправить эту ситуацию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2018, 19:48 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
maratvg, благодарю Вас, получился нужный результат. Спасибо также форуму КриптоПро, где объяснили, что ещё надо сделать. Вы всё сказали правильно - действительно в ответе надо подменить их публичный сертификат своим. Но только до того, как отправить зашифрованное сообщение на сервер, надо в нём заменить их публичный сертификат своим, который и будет использоваться для шифрования. В этом случае ответ будет зашифрован моим сертификатом, и GostDecryptSOAP спокойно это расшифрует. Теперь надо будет выяснить, почему GostDecryptSOAP работает исключительно с сертификатами по гост-2001. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2018, 16:52 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Приветствую. Можно как то лично связаться с Вами? Тоже бьюсь ключами 2012 года. Я там письмо отправил на ваш регистрационный ящик, ответьте плиз.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2018, 17:31 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Друзья! Может кто-нибудь из вас проверить, как работают функции encryptMsg и decryptMsg? Выдают ли ошибку? А то я зарегистрировал типы, пытаюсь вызвать функции шифрования и дешифровки, а мне лезут ошибки. При этом в одной из предыдущих версий длл всё работает нормально. Поскольку здесь стоит ограничение в 150 Кб, выложил архив на яндекс-диск. С уважением, Александр. GostCryptography2020.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 18:24 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, без тестового проекта... без xml... серьезно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 23:36 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Да, согласен. Вот проект. При запуске загружает список личных сертификатов с открытым ключом по гост-2001, гост-2012 256 бит и гост-2012 512 бит. При нажатии на кнопку "Зашифровать" пытается зашифровать xml из проекта выбранным сертификатом. Я не могу зашифровать сообщение сертификатами с гост-2012, а лишь одним сертификатом с гост-2001. Прошу проверить, будет ли шифроваться сообщение у вас сертификатами с гост-2012. С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 02:11 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, правильно всё сделал? взял и поставил арм - http://fss.ru/ru/fund/download/55818/ получил тестовые сертификаты скомпилировал и запустил приложение 2001 - Успешно 2012 - Набор ключей не определен. 2012-Strong - Набор ключей не определен. для других ключей - выдает разные ошибки (исключения\плохой UID что-то там...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 10:32 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, если из delphi запускать, падает в asm, потом выдает в итоге: Плохие данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 10:39 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, да, всё верно. Значит, проблема в их длл. Что самое странное, их арм работает с сертификатом фсс по гост-2012 256, я проверял, и данные нормально загружались. А когда пытаешься это сделать самостоятельно, то лезут ошибки... странно, почему так получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 10:42 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Только сегодня в группе ФСС писали, что брали DLL не из состава их ПО, а версию с гитхаба рахработчика. Тот вариант работает с сертификатом ФСС 2012 года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 19:37 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Jornada...брали DLL не из состава их ПО, а версию с гитхаба рахработчика. А можно ссылочку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2018, 19:47 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Пытаюсь разобраться с GostCryptography. Скачал версию с гитхаба разработчика: GostCryptography , батником собираю, получаю dll (во вложении). Пытаюсь regasm-ом зарегистрировать - пишет "ни одного типа не найдено". TlbExp создаёт GostCryptography.tlb, но он пустой (также во вложении). Версия DLL (gostcryptography2020.dll во вложении), поставляемая с АРМ ФСС совпадает по номеру с версией разработчика (2.0.2), но больше на 6Кб и весь необходимый функционал у неё есть, который нормально регистрируется, нормально экспортируется в tlb-файл, нормально переводится в Делфи. Но при попытке шифрования через GostEncryptSOAP выдаёт ошибку: ASN.1 encoded byte array contains invalid structure "GostCryptography.ASN1.PKI.GOSTR34102001.GOSTR34102001PublicKeyParameters". При этом ошибка возникает как при использовании сертификата ФСС с открытым ключом по гост-2001, так и с ключом по гост-2012. Стоит КриптоПро и всё. Что самое интересное, АРМ ФСС этой ошибки не выдаёт и спокойно загружает тестовые данные как на сертификате по гост-2001, так и по гост-2012. Если несложно, проверьте пожалуйста, какая длл создаётся у вас при использовании версии с сайта разработчика? В ней также, как и у меня, отсутствуют ссылки на используемый функционал? И такой вопрос: есть ли у кого-нибудь код шифрования сообщения при помощи gostcryptography.dll, но без использования класса GostEncryptSOAP. Если есть, можете поделиться? С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2019, 12:43 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Подведу свои итоги. Огромное спасибо пользователю tkolomiets и его посту с рабочим кодом Электронный больничный ЭЛН , а также пользователю Jornada, который любезно предоставил транспортную структуру для шифрования и расшифровки по гост-2012. С его разрешения выкладываю её сюда Транспортная структура для шифрования Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Для расшифровки ответа, зашифрованного сертификатом с открытым ключом по гост-2012 изменения такие: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Теперь выкладываю все полезные ссылки для тех, кто будет заниматься этим вопросом в будущем. ASN редактор . Программа для проверки структуры зашифрованного сообщения. С её помощью легко увидеть, правильно ли сформированы x509certificate, ciphervalue, encryptedmessage зашифрованного сообщения. Сервер проверки электронной подписи КриптоПро DSS . Незаменимый помощник при проверке корректности ЭЦП. КриптоПро. Тестовый УЦ для разработчиков . Здесь можно взять тестовые сертификаты с нужными гост-ами. Шифрование XML через Crypto API - крайне полезная тема для разработчиков на Делфи Примеры Подписанный запрос к тестовому контуру с сертификатом по гост-2001 Код: xml 1. Ответ на него из ФСС Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Подписанный запрос по гост-2012 Код: xml 1. Ответ ФСС на него Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Подписанный и зашифрованный запрос. Подпись и шифрование по гост-2001 Код: xml 1. Зашифрованный и подписанный ответ ФСС. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. Подписанный и зашифрованный запрос. Подпись и шифрование по гост-2012 Код: xml 1. Ответ ФСС. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2019, 14:35 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, я пытаюсь что-то отправить в фсс soap не использую просто подготовил xml и куда его отправлять? на https://docs.fss.ru/ws-insurer-crypto-v11/FileOperationsLnPort ? если туда, то выдает ошибку 500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 22:18 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, Вы отправляли данные на реальный контур. Так и задумано? По этому адресу отправляется подписанное и зашифрованное сообщение. Сообщение зашифровано реальным, а не тестовым сертификатом удостоверяющего лица ФСС? Можете сюда выложить отправляемый xml? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 10:13 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, я тут оказывается в начале пути) это жесть) на https://docs-test.fss.ru/ws-insurer-v11/FileOperationsLnPort смог отправить и получить ответ, только там на каждый ответ ORA-20001: Номер 910002662200 недействителен т.е. так понимаю, что текущих больных там нет? на D7 ничего толкового найти не могу хэш подсчитал внешней утилитай rhash, в base64 не могу подобрать, все время разное получается и надо считать внутри body или начиная с "<S:Body" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 14:45 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
<S:Body wsu:Id="REGNO_ххххххххх"> <ns1:getPrivateLNData xmlns:ns1=" http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" xmlns:ns2=" http://ru/ibs/fss/ln/ws/FileOperationsLnInternal.wsdl"> <ns1:regNum>ххххххххх</ns1:regNum> <ns1:lnCode>хххххххх</ns1:lnCode> <ns1:snils>хххххххх</ns1:snils> </ns1:getPrivateLNData> </S:Body>[SRC XML][/SRC] какой текст нужно хешировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 14:57 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, Вы действительно в самом начале пути. Для начала надо вдумчиво изучить документацию для разработчиков с сайта ФСС. Там даются хорошие объяснения по поводу формирования ЭЦП. Перед хэшированием блок Body из Вашего крайнего поста необходимо каноникализировать. В принципе, попробуйте достать библиотеку компонент clever internet suite версии не ниже 9, где эти механизмы прекрасно работают. Также в этой теме выложен прекрасный рабочий пример Crypto, который хоть и написан под использование в Rad Studio, но довольно легко переносится на Делфи 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 15:23 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, в примере c14n_TLB.pas нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 16:02 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, Там есть dll, которую надо зарегистрировать с помощью RegAsm из папки c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\, затем создать tlb-файл с помощью c:\Program Files\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\, после чего экспортировать с помощью tlibimp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 16:14 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, RegAsm зарегистрировать а NETFX 4.6.1 Tools\ какой утилитой создавать tlb ? или может проще скинуть готовый pas ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 16:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
спасибо, создал с помощью tlbexp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 16:43 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, какой хэш после канонизации должен получиться для: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. yZcMfUeQDp68J3qsSQc7Gv+d7E/lPgsIMa0f8NGmK1s= ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 14:44 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shurakenuser100000, В принципе, попробуйте достать библиотеку компонент clever internet suite версии не ниже 9, где эти механизмы прекрасно работают. установил 9.0. Есть пример использования функции канонизации на нем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:25 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, каноникализации. Да, есть. В этих компонентах есть весь функционал. Разбирайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, вот есть исходный body Код: xml 1. 2. 3. 4. 5. 6. 7. помогите, какой будет хэш DigestValue? yZcMfUeQDp68J3qsSQc7Gv+d7E/lPgsIMa0f8NGmK1s= ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 20:01 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, Будьте любезны, приведите код формирования DigestValue. Без него ничем помочь не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 14:28 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Здравствуйте. Насколько я понимаю, Вы реализовывали все на Delphi 2007. Передо мной сейчас стоит та же задача, что и перед вами: интеграция функционала ФСС в ИС нашей организации. Могу ли я написать вам на почту и задать несколько вопросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2019, 00:21 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, а можете свой проект выложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 13:04 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, Нет. Условия контракта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 15:00 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, запустил тут пример выложенный crypto.zip пишет: набор ключей не определен, хотя в криптопро все есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 17:25 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, Обычно эта ошибка происходит, когда используются 2 сертификата с разными гостами. Например, сертификат ФСС - гост-2001, а свой сертификат по гост-2012. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 18:53 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, оставил только Сертификат уполномоченного лица 2019 (алгоритм ГОСТ Р 34.11-2001/34.10-2001) http://cabinets.fss.ru/FSS_PROD_CERT_2019.cer Теперь пишет: не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС. Проверьте правильность и актуальность ключа уполномоченного лица ФСС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 19:35 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, оказывается там на test исправил на : // defWSDL = 'https://docs-test.fss.ru/WSLnCryptoV11/FileOperationsLnPort?WSDL'; // defURL = 'https://docs-test.fss.ru/WSLnCryptoV11/FileOperationsLnPort'; // defSvc = 'FileOperationsLnImplService'; // defPrt = 'FileOperationsLnPort'; defWSDL = 'https://docs.fss.ru/WSLnCryptoV11/FileOperationsLnPort?WSDL'; defURL = 'https://docs.fss.ru/WSLnCryptoV11/FileOperationsLnPort'; defSvc = 'FileOperationsLnImplService'; defPrt = 'FileOperationsLnPort'; Теперь "Error message" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 20:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
res := fssService.getNewLNNumRange('1033302003833',3); if res.STATUS = 0 then raise Exception.Create('Error Message'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 20:54 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
некорректная подпись головной органищации ЭЦП неверна. INVALID_SIGNATURE ЭП недейстаительна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 21:21 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
огрн лпу не найден в справочнике это на другой сервси что-ли стучится? для медиц. организаций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 21:22 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
поменял на: defWSDL = 'https://docs.fss.ru/ws-insurer-crypto-v11/FileOperationsLnPort?WSDL'; defURL = 'https://docs.fss.ru/ws-insurer-crypto-v11/FileOperationsLnPort'; defSvc = 'FileOperationsLnImplService'; defPrt = 'FileOperationsLnPort'; "cannot find dispatch method for getLNData" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 21:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
импортировать заново WSDl, метод getPrivateLNData появился Теперь ORA-20001 Отсутствует подпись головной организации *рукалицо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 22:36 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Тоже пытаюсь сделать, пока без результата. У кого вышло\выйдет - пишете на thpg@yandex.ru, заплачу за работающий код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 23:02 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
При вызове в том примере InitContext(@hCryptoProvider, PROV_GOST_2001_DH, 'KeyContainer'); или InitContext(@hCryptoProvider, PROV_GOST_2012_256, 'KeyContainer'); // такой сертификат в рутокене выходит окошко криптопро для выбора сертификата, оно видит рутокен, но пишет "Файл не найден", видимо, не видит там некоего нужного ему сертификата. С другими программами сертификат в таком же окне криптопро выбирается без проблем. Не видно, чтобы были указаны параметры поиска сертификата, то есть, должен ведь выбираться любой? У вас это работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2019, 23:38 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
все ок работает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 00:32 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Вместо "KeyContainer" вставил реальное имя контейнера типа "\\.\Aktiv Rutoken lite 0\12345678@2019-01-17-ООО XXX", и пошло уже дальше новые забавные ошибки показывать - "Указан неправильный алгоритм". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 01:23 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Для 2012 поменял CALG_GR3411 на CALG_GR3411_2012_256: // CheckCryptoCall(CryptCreateHash(ACryptoProvider, CALG_GR3411, 0, 0, @Result)); CheckCryptoCall(CryptCreateHash(ACryptoProvider, CALG_GR3411_2012_256, 0, 0, @Result)); В результате этого прошел квест до "пишет: набор ключей не определен, хотя в криптопро все есть" когда уже начинает работать с сертом ФСС. Серт скачен свежий, и вроде нужный (2012) отсюда https://cabinets.fss.ru/eln.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 01:57 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
На Win2008server exe примера падает через раз Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code c0000005 Похоже проблема в c14n.dll ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 01:58 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, удалось это решить "ORA-20001: Отсутствует подпись головной организации"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 03:54 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
thpg, это не правильный xml запроса, в примере все сделано для медиц. организаций и для тестового сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 04:20 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, скинь c14n.dll если не жалко, а то оно у меня через раз работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 04:21 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000thpg, это не правильный xml запроса, в примере все сделано для медиц. организаций и для тестового сервера Это я сразу увидел, но думал, что общий формат xml одинаковый. А можете скинуть уже переделанные regiemk_fss_encrypt_body.xml и regiemk_fss_sign_envelope.xml, если есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 04:33 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Там "смешно", что сервис сперва проверяет формат СНИЛС и т.п., а потом уже пишет про эту "головную организацию". То есть, успешно расшифровывает сообщение, парсит, проверяет корректность переданных данных (причем, не просто по xsd, а своим кодом), и уже потом что-то пишет про некую подпись, которая выше по уровню разворачивания конверта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 04:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ShurakenПодписанный и зашифрованный запрос. Подпись и шифрование по гост-2012 У вас в сообщениии нет тега Header, а сразу Body - это в самом деле так работает, и Header со всей требухой не нужен вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 05:20 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
thpguser100000thpg, это не правильный xml запроса, в примере все сделано для медиц. организаций и для тестового сервера Это я сразу увидел, но думал, что общий формат xml одинаковый. А можете скинуть уже переделанные regiemk_fss_encrypt_body.xml и regiemk_fss_sign_envelope.xml, если есть? там поменять в regiemk_fss_sign_envelope /actor/mo на /actor/insurer и OGRN на REGNO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 05:33 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000Shuraken, скинь c14n.dll если не жалко, а то оно у меня через раз работает Я не использовал эту библиотеку. Каноникализацию делал вручную. thpgУ вас в сообщениии нет тега Header, а сразу Body - это в самом деле так работает, и Header со всей требухой не нужен вообще? В зашифрованном сообщении он не требуется, согласно спецификации, а вот в подписанном - нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 12:07 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, можете скинуть функцию канонизации? еще: почему-то На Win2008server exe примера падает через раз ругается на dhcpcsvc.dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 13:55 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000Shuraken, можете скинуть функцию канонизации? Не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2019, 14:30 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо, получил тестовый больничный в ответе с gost2012. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2019, 00:19 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, ну ты жадный использовал с форума криптопро uXMLHelper.pas и все переписал без wsdl и soap просто отправка на indy и теперь в терминале w2008 не крашится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2019, 12:31 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Хорошо, что у них SSL хоть не гостовский с сертификатом, как у ГИС ЖКХ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2019, 19:29 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
prParseReestrFile на тестовом контуре должен работать? Шлет непонятную ошибку: "ORA-20001: ORA-20111: ERR_912 #Ошибка обработки файла. Не указана версия реестра." Что за "версия реестра" не ясно, нет такого в доках. Обычная "version" заполнена как "1.1". Если есть работающий нешифрованный xml с prParseReestrFile - поделитесь, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2019, 01:10 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Дошло - там может быть много больничных, и каждый из них отдельно подписывается, другой блок надо брать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2019, 01:29 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Три подписи, подписывает ноду ROW, вроде всё как в доках, а та же ошибка на prParseReestrFileResponse на тестовом стенде: <ns1:MESS>ORA-20001: ORA-20111: ERR_912 #Ошибка обработки файла. Не указана версия реестра.</ns1:MESS> У вас это работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2019, 05:53 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Сделал тоже напрямую без WSDL и заработало. Delphi сообщение собирает как-то не так, как они ждут. А может есть на тестовом стенде больничные, данные по которым можно обновлять, чтобы не было ошибок? Секретные какие-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2019, 06:22 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
thpgprParseReestrFile на тестовом контуре должен работать? Шлет непонятную ошибку: "ORA-20001: ORA-20111: ERR_912 #Ошибка обработки файла. Не указана версия реестра." Что за "версия реестра" не ясно, нет такого в доках. Обычная "version" заполнена как "1.1". Если есть работающий нешифрованный xml с prParseReestrFile - поделитесь, пожалуйста. Попробуйте этот. Код: xml 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2019, 13:19 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, спасибо! Еще один вопрос, если можно - для 34.10-2015-512 те хитрые "транспортные структуры" такие же остаются, или другие нужны? По идее, там же другая длина, и значит другое кодирование по asn.1 должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 06:10 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
thpg, пожалуйста. Для 512 у них сертификата нет. Когда появится, тогда и буду смотреть. Сейчас работа идёт лишь с гост-2001 и гост-2012 256 бит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 10:10 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Вот это место долго парило - не проходили проверку правильные подписи вложенного xml при наличии в нем русского текста. Код: pascal 1. 2. 3. Исправляется элементарно. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 06:43 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, Добрый день! Вы разбирались только с КРИПТО-ПРО? У меня есть вопрос по VipNet, сможете помочь? Если можно, написал бы Вам в личку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 10:37 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть вопрос касаемо шифрования ЭЛН. Если у нас есть ГОСТовские сертификаты от сертифицированного УЦ, то необходимо ли нам формирование случайного сессионного ключа для шифрования данных (пункт 5.1 их последней инструкции)? Или же достаточно зашифровать на открытой части сертификата ФСС и приложить открытую часть нашего сертификата для шифрования ответа от ФСС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2019, 11:20 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
mihail.kolbinДобрый день. Есть вопрос касаемо шифрования ЭЛН. Если у нас есть ГОСТовские сертификаты от сертифицированного УЦ, то необходимо ли нам формирование случайного сессионного ключа для шифрования данных (пункт 5.1 их последней инструкции)? Или же достаточно зашифровать на открытой части сертификата ФСС и приложить открытую часть нашего сертификата для шифрования ответа от ФСС? Да, необходимо. В данной теме есть исходники, где показывается, как формируется этот ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2019, 11:45 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Кто справился с задачей, помогите, пожалуйста, с запросами. Взял исходники из темы, переписал под 2012 ГОСТ, скомпилировал, все работает, номер больничного получает. Переписал все на Delphi 7 по аналогии. После долгих мучений я получаю 2 одинаковых запроса. Запрос из Delphi 10 отрабатывает, а из Delphi 7 нет. Долго бьюсь уже, все варианты перепробовал... Запрос Delphi 10 - рабочий <soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"><S:Header xmlns:S=" http://schemas.xmlsoap.org/soap/envelope/"><wsse:Security xmlns:ds=" http://www.w3.org/2000/09/xmldsig#" xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" S:actor=" http://eln.fss.ru/actor/mo/1033600034808"><ds:Signature><SignedInfo xmlns=" http://www.w3.org/2000/09/xmldsig#"><CanonicalizationMethod Algorithm=" http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/><Reference URI="#OGRN_1033600034808"><Transforms><Transform Algorithm=" http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/><DigestValue>1/8XVQr9yZ42qaFU/REPR4VyrVxDU5Xzw6Sz1+0kTKg=</DigestValue></Reference></SignedInfo><SignatureValue xmlns=" http://www.w3.org/2000/09/xmldsig#">Z0mCzFDYJcG5T/Bni5nYkjOFq3KhXkW4JbvF1Hk5wC2pOS4AJ//u5vnochSEyi1efP4/O4Xoxnze GkvdD2LgOg==</SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="# http://eln.fss.ru/actor/mo/1033600034808"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature><wsse:BinarySecurityToken EncodingType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id=" http://eln.fss.ru/actor/mo/1033600034808">MIINwTCCDW6gAwIBAgIQHyHhCtN xoDpER9Vm3TizzAKBggqhQMHAQEDAjCCAYcxIjAgBgkqhkiG 9w0BCQEWE2NhX3RlbnNvckB0ZW5zb3IucnUxGDAWBgUqhQNkARINMTAyNzYwMDc4Nzk5NDEaMBgG CCqFAwOBAwEBEgwwMDc2MDUwMTYwMzAxCzAJBgNVBAYTAlJVMTEwLwYDVQQIDCg3NiDQr9GA0L7R gdC70LDQstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMR8wHQYDVQQHDBbQsy4g0K/RgNC+0YHQu9Cw 0LLQu9GMMTQwMgYDVQQJDCvQnNC+0YHQutC+0LLRgdC60LjQuSDQv9GA0L7RgdC/0LXQutGCINC0 LjEyMTAwLgYDVQQLDCfQo9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAxMDAu BgNVBAoMJ9Ce0J7QniAi0JrQntCc0J/QkNCd0JjQryAi0KLQldCd0JfQntCgIjEwMC4GA1UEAwwn 0J7QntCeICLQmtCe0JzQn9CQ0J3QmNCvICLQotCV0J3Ql9Ce0KAiMB4XDTE5MDQwMjA4MDgwM1oX DTIwMDcwMjA4MDgwM1owggG/MS4wLAYDVQQJDCXQv9GALdC60YIu0JvQtdC90LjQvdGB0LrQuNC5 LCAyLCDQui41MTEwLwYDVQQIDCgzNiDQktC+0YDQvtC90LXQttGB0LrQsNGPINC+0LHQu9Cw0YHR gtGMMRowGAYDVQQHDBHQsy7QktC+0YDQvtC90LXQtjELMAkGA1UEBhMCUlUxLDAqBgNVBCoMI9Cd 0LDRgtCw0LvQuNGPINCc0LjRhdCw0LnQu9C+0LLQvdCwMRkwFwYDVQQEDBDQmtC+0LvRj9Cz0LjQ vdCwMSQwIgYDVQQDDBvQkdCj0Jcg0JLQniAi0JLQk9CfIOKEliAxOCIxIDAeBgNVBAwMF9CT0LvQ sNCy0L3Ri9C5INCy0YDQsNGHMQowCAYDVQQLDAEwMSQwIgYDVQQKDBvQkdCj0Jcg0JLQniAi0JLQ k9CfIOKEliAxOCIxIDAeBgkqhkiG9w0BCQEWEWdwMThidWhAeWFuZGV4LnJ1MRowGAYIKoUDA4ED AQESDDAwMzY2MzA0MDI4MjEWMBQGBSqFA2QDEgswMzUyNjE0MjMyMzEYMBYGBSqFA2QBEg0xMDMz NjAwMDM0ODA4MGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQATXyW3oXGA0 KVMscOQ7/zbz69iqQngsJOjzujx7h7oMIP/SS6N+yCT8Zj4VKh9AFtlo+0G5ZR0FdAlNhQd3EhSj gglxMIIJbTAOBgNVHQ8BAf8EBAMCBPAwOAYDVR0lBDEwLwYHKoUDAgIiGQYHKoUDAgIiGgYHKoUD AgIiBgYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdIAQWMBQwCAYGKoUDZHEBMAgGBiqFA2RxAjAh BgUqhQNkbwQYDBbQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQMIICWQYHKoUDAgIxAgSCAkwwggJIMIIC NhYSaHR0cHM6Ly9zYmlzLnJ1L2NwDIICGtCY0L3RhNC+0YDQvNCw0YbQuNC+0L3QvdGL0LUg0YHQ uNGB0YLQtdC80YssINC/0YDQsNCy0L7QvtCx0LvQsNC00LDRgtC10LvQtdC8INC40LvQuCDQvtCx 0LvQsNC00LDRgtC10LvQtdC8INC/0YDQsNCyINC90LAg0LfQsNC60L7QvdC90YvRhSDQvtGB0L3Q vtCy0LDQvdC40Y/RhSDQutC+0YLQvtGA0YvRhSDRj9Cy0LvRj9C10YLRgdGPINCe0J7QniAi0JrQ vtC80L/QsNC90LjRjyAi0KLQtdC90LfQvtGAIiwg0LAg0YLQsNC60LbQtSDQsiDQuNC90YTQvtGA 0LzQsNGG0LjQvtC90L3Ri9GFINGB0LjRgdGC0LXQvNCw0YUsINGD0YfQsNGB0YLQuNC1INCyINC6 0L7RgtC+0YDRi9GFINC/0YDQvtC40YHRhdC+0LTQuNGCINC/0YDQuCDQuNGB0L/QvtC70YzQt9C+ 0LLQsNC90LjQuCDRgdC10YDRgtC40YTQuNC60LDRgtC+0LIg0L/RgNC+0LLQtdGA0LrQuCDQutC7 0Y7Rh9C10Lkg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0LTQv9C40YHQuCwg0LLRi9C/0YPR idC10L3QvdGL0YUg0J7QntCeICLQmtC+0LzQv9Cw0L3QuNGPICLQotC10L3Qt9C+0YADAgXgBAz5 /r33p4qqkWc+ScwwggFgBgNVHSMEggFXMIIBU4AUspR7+mB3lEeDkkt0vgnkxeS5asihggEspIIB KDCCASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAWBgNV BAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDEuMCwGA1UECQwl 0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQ vtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgG CCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg 0KDQvtGB0YHQuNC4ggsAgBqlswAAAAAAMTAdBgNVHQ4EFgQUc0TZ5HwPwZbTOJITUC/9G3BikaAw KwYDVR0QBCQwIoAPMjAxOTA0MDIwODA4MDNagQ8yMDIwMDcwMjA4MDgwM1owggEzBgUqhQNkcASC ASgwggEkDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApDFMi0KPQ tNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g 0KPQpiIg0LLQtdGA0YHQuNC4IDIuMAxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC1 0YLRgdGC0LLQuNGPIOKEliDQodCkLzEyNC0zMzgwINC+0YIgMTEuMDUuMjAxOAxP0KHQtdGA0YLQ uNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0yOTgzINC+ 0YIgMTguMTEuMjAxNjCCAXoGA1UdHwSCAXEwggFtMF6gXKBahlhodHRwOi8vdGF4NC50ZW5zb3Iu cnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMDegNaAzhjFodHRwOi8vdGVuc29yLnJ1L2NhL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMESgQqBAhj5odHRwOi8vY3JsLnRlbnNvci5ydS90YXg0L2NhL2NybC90ZW5z b3JjYS0yMDE4X2NwX2dvc3QyMDEyLmNybDBFoEOgQYY/aHR0cDovL2NybDIudGVuc29yLnJ1L3Rh eDQvY2EvY3JsL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3JsMEWgQ6BBhj9odHRwOi8vY3Js My50ZW5zb3IucnUvdGF4NC9jYS9jcmwvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi5jcmwwggIb BggrBgEFBQcBAQSCAg0wggIJMEkGCCsGAQUFBzABhj1odHRwOi8vdGF4NC50ZW5zb3IucnUvb2Nz cC10ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEyL29jc3Auc3JmMGQGCCsGAQUFBzAChlhodHRwOi8v dGF4NC50ZW5zb3IucnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNv cmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MD0GCCsGAQUFBzAChjFodHRwOi8vdGVuc29yLnJ1L2Nh L3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEYGCCsGAQUFBzAChjpodHRwOi8vY3JsLnRl bnNvci5ydS90YXg0L2NhL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEcGCCsGAQUFBzAC hjtodHRwOi8vY3JsMi50ZW5zb3IucnUvdGF4NC9jYS90ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEy LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NybDMudGVuc29yLnJ1L3RheDQvY2EvdGVuc29yY2Et MjAxOF9jcF9nb3N0MjAxMi5jcnQwPQYIKwYBBQUHMAKGMWh0dHA6Ly90YXg0LnRlbnNvci5ydS90 c3AtdGVuc29yX2dvc3QyMDEyL3RzcC5zcmYwCgYIKoUDBwEBAwIDQQDZ4sFlOYInNZ32t+ZwK0c/ rUemwa3Ln7oDcRvCGs0ZLCSqe90pE3nmNdYQcFuxbp6M7ZCd06WN+flBSs3Rr8es</wsse:BinarySecurityToken></wsse:Security></S:Header><soapenv:Body xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="OGRN_1033600034808"><xenc:EncryptedData xmlns:xenc=" http://www.w3.org/2001/04/xmlenc#" Type=" http://www.w3.org/2001/04/xmlenc#Content" xmlns:ds=" http://www.w3.org/2000/09/xmldsig#" xmlns:sch=" http://gost34.ibs.ru/WrapperService/Schema" xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147"/><ds:KeyInfo><xenc:EncryptedKey xmlns:xenc=" http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001"/><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIINwTCCDW6gAwIBAgIQHyHhCtN+xoDpER9Vm3TizzAKBggqhQMHAQEDAjCCAYcxIjAgBgkqhkiG 9w0BCQEWE2NhX3RlbnNvckB0ZW5zb3IucnUxGDAWBgUqhQNkARINMTAyNzYwMDc4Nzk5NDEaMBgG CCqFAwOBAwEBEgwwMDc2MDUwMTYwMzAxCzAJBgNVBAYTAlJVMTEwLwYDVQQIDCg3NiDQr9GA0L7R gdC70LDQstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMR8wHQYDVQQHDBbQsy4g0K/RgNC+0YHQu9Cw 0LLQu9GMMTQwMgYDVQQJDCvQnNC+0YHQutC+0LLRgdC60LjQuSDQv9GA0L7RgdC/0LXQutGCINC0 LjEyMTAwLgYDVQQLDCfQo9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAxMDAu BgNVBAoMJ9Ce0J7QniAi0JrQntCc0J/QkNCd0JjQryAi0KLQldCd0JfQntCgIjEwMC4GA1UEAwwn 0J7QntCeICLQmtCe0JzQn9CQ0J3QmNCvICLQotCV0J3Ql9Ce0KAiMB4XDTE5MDQwMjA4MDgwM1oX DTIwMDcwMjA4MDgwM1owggG/MS4wLAYDVQQJDCXQv9GALdC60YIu0JvQtdC90LjQvdGB0LrQuNC5 LCAyLCDQui41MTEwLwYDVQQIDCgzNiDQktC+0YDQvtC90LXQttGB0LrQsNGPINC+0LHQu9Cw0YHR gtGMMRowGAYDVQQHDBHQsy7QktC+0YDQvtC90LXQtjELMAkGA1UEBhMCUlUxLDAqBgNVBCoMI9Cd 0LDRgtCw0LvQuNGPINCc0LjRhdCw0LnQu9C+0LLQvdCwMRkwFwYDVQQEDBDQmtC+0LvRj9Cz0LjQ vdCwMSQwIgYDVQQDDBvQkdCj0Jcg0JLQniAi0JLQk9CfIOKEliAxOCIxIDAeBgNVBAwMF9CT0LvQ sNCy0L3Ri9C5INCy0YDQsNGHMQowCAYDVQQLDAEwMSQwIgYDVQQKDBvQkdCj0Jcg0JLQniAi0JLQ k9CfIOKEliAxOCIxIDAeBgkqhkiG9w0BCQEWEWdwMThidWhAeWFuZGV4LnJ1MRowGAYIKoUDA4ED AQESDDAwMzY2MzA0MDI4MjEWMBQGBSqFA2QDEgswMzUyNjE0MjMyMzEYMBYGBSqFA2QBEg0xMDMz NjAwMDM0ODA4MGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQATXyW3oXGA0 KVMscOQ7/zbz69iqQngsJOjzujx7h7oMIP/SS6N+yCT8Zj4VKh9AFtlo+0G5ZR0FdAlNhQd3EhSj gglxMIIJbTAOBgNVHQ8BAf8EBAMCBPAwOAYDVR0lBDEwLwYHKoUDAgIiGQYHKoUDAgIiGgYHKoUD AgIiBgYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdIAQWMBQwCAYGKoUDZHEBMAgGBiqFA2RxAjAh BgUqhQNkbwQYDBbQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQMIICWQYHKoUDAgIxAgSCAkwwggJIMIIC NhYSaHR0cHM6Ly9zYmlzLnJ1L2NwDIICGtCY0L3RhNC+0YDQvNCw0YbQuNC+0L3QvdGL0LUg0YHQ uNGB0YLQtdC80YssINC/0YDQsNCy0L7QvtCx0LvQsNC00LDRgtC10LvQtdC8INC40LvQuCDQvtCx 0LvQsNC00LDRgtC10LvQtdC8INC/0YDQsNCyINC90LAg0LfQsNC60L7QvdC90YvRhSDQvtGB0L3Q vtCy0LDQvdC40Y/RhSDQutC+0YLQvtGA0YvRhSDRj9Cy0LvRj9C10YLRgdGPINCe0J7QniAi0JrQ vtC80L/QsNC90LjRjyAi0KLQtdC90LfQvtGAIiwg0LAg0YLQsNC60LbQtSDQsiDQuNC90YTQvtGA 0LzQsNGG0LjQvtC90L3Ri9GFINGB0LjRgdGC0LXQvNCw0YUsINGD0YfQsNGB0YLQuNC1INCyINC6 0L7RgtC+0YDRi9GFINC/0YDQvtC40YHRhdC+0LTQuNGCINC/0YDQuCDQuNGB0L/QvtC70YzQt9C+ 0LLQsNC90LjQuCDRgdC10YDRgtC40YTQuNC60LDRgtC+0LIg0L/RgNC+0LLQtdGA0LrQuCDQutC7 0Y7Rh9C10Lkg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0LTQv9C40YHQuCwg0LLRi9C/0YPR idC10L3QvdGL0YUg0J7QntCeICLQmtC+0LzQv9Cw0L3QuNGPICLQotC10L3Qt9C+0YADAgXgBAz5 /r33p4qqkWc+ScwwggFgBgNVHSMEggFXMIIBU4AUspR7+mB3lEeDkkt0vgnkxeS5asihggEspIIB KDCCASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAWBgNV BAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDEuMCwGA1UECQwl 0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQ vtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgG CCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg 0KDQvtGB0YHQuNC4ggsAgBqlswAAAAAAMTAdBgNVHQ4EFgQUc0TZ5HwPwZbTOJITUC/9G3BikaAw KwYDVR0QBCQwIoAPMjAxOTA0MDIwODA4MDNagQ8yMDIwMDcwMjA4MDgwM1owggEzBgUqhQNkcASC ASgwggEkDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApDFMi0KPQ tNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g 0KPQpiIg0LLQtdGA0YHQuNC4IDIuMAxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC1 0YLRgdGC0LLQuNGPIOKEliDQodCkLzEyNC0zMzgwINC+0YIgMTEuMDUuMjAxOAxP0KHQtdGA0YLQ uNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0yOTgzINC+ 0YIgMTguMTEuMjAxNjCCAXoGA1UdHwSCAXEwggFtMF6gXKBahlhodHRwOi8vdGF4NC50ZW5zb3Iu cnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMDegNaAzhjFodHRwOi8vdGVuc29yLnJ1L2NhL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMESgQqBAhj5odHRwOi8vY3JsLnRlbnNvci5ydS90YXg0L2NhL2NybC90ZW5z b3JjYS0yMDE4X2NwX2dvc3QyMDEyLmNybDBFoEOgQYY/aHR0cDovL2NybDIudGVuc29yLnJ1L3Rh eDQvY2EvY3JsL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3JsMEWgQ6BBhj9odHRwOi8vY3Js My50ZW5zb3IucnUvdGF4NC9jYS9jcmwvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi5jcmwwggIb BggrBgEFBQcBAQSCAg0wggIJMEkGCCsGAQUFBzABhj1odHRwOi8vdGF4NC50ZW5zb3IucnUvb2Nz cC10ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEyL29jc3Auc3JmMGQGCCsGAQUFBzAChlhodHRwOi8v dGF4NC50ZW5zb3IucnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNv cmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MD0GCCsGAQUFBzAChjFodHRwOi8vdGVuc29yLnJ1L2Nh L3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEYGCCsGAQUFBzAChjpodHRwOi8vY3JsLnRl bnNvci5ydS90YXg0L2NhL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEcGCCsGAQUFBzAC hjtodHRwOi8vY3JsMi50ZW5zb3IucnUvdGF4NC9jYS90ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEy LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NybDMudGVuc29yLnJ1L3RheDQvY2EvdGVuc29yY2Et MjAxOF9jcF9nb3N0MjAxMi5jcnQwPQYIKwYBBQUHMAKGMWh0dHA6Ly90YXg0LnRlbnNvci5ydS90 c3AtdGVuc29yX2dvc3QyMDEyL3RzcC5zcmYwCgYIKoUDBwEBAwIDQQDZ4sFlOYInNZ32t+ZwK0c/ rUemwa3Ln7oDcRvCGs0ZLCSqe90pE3nmNdYQcFuxbp6M7ZCd06WN+flBSs3Rr8es</ds:X509Certificate></ds:X509Data></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>MIGpMCgEIDF+imMU8DyJpJdiLzrxkZgsV+yW8j/lenTnxDAr8U6ZBATVE6tToH0GCSqFAwcBAgUB AaBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABEAgfoEtC9hpVqFGsSf/Evdg fWrTp6Zo/NI9ekaHdGJTNtc/YDCgk8s7DtHg+3lwNMt2wlRed3Jen8c3/UaT15ARBAid2xAZ3Qg5 rQ==</xenc:CipherValue></xenc:CipherData></xenc:EncryptedKey></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>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 DCgZn/lU9c3mbjel77+K9cbRoe7t2Jk=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData> </soapenv:Body></soapenv:Envelope> Запрос Delphi 7 - не рабочий <soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"><S:Header xmlns:S=" http://schemas.xmlsoap.org/soap/envelope/"><wsse:Security xmlns:ds=" http://www.w3.org/2000/09/xmldsig#" xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" S:actor=" http://eln.fss.ru/actor/mo/1033600034808"><ds:Signature><SignedInfo xmlns=" http://www.w3.org/2000/09/xmldsig#"><CanonicalizationMethod Algorithm=" http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/><Reference URI="#OGRN_1033600034808"><Transforms><Transform Algorithm=" http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/><DigestValue>1/8XVQr9yZ42qaFU/REPR4VyrVxDU5Xzw6Sz1+0kTKg=</DigestValue></Reference></SignedInfo><SignatureValue xmlns=" http://www.w3.org/2000/09/xmldsig#">iaY6tuwkpKy5UvcZ qZ8HW/6LmZbp2go/GiklF8U2 IIZNqzkkIMhyEDg6XmEuW6kPmnpVYEA6sL xPhuZ8AX2Q==</SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="# http://eln.fss.ru/actor/mo/1033600034808"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature><wsse:BinarySecurityToken EncodingType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id=" http://eln.fss.ru/actor/mo/1033600034808">MIINwTCCDW6gAwIBAgIQHyHhCtN xoDpER9Vm3TizzAKBggqhQMHAQEDAjCCAYcxIjAgBgkqhkiG 9w0BCQEWE2NhX3RlbnNvckB0ZW5zb3IucnUxGDAWBgUqhQNkARINMTAyNzYwMDc4Nzk5NDEaMBgG CCqFAwOBAwEBEgwwMDc2MDUwMTYwMzAxCzAJBgNVBAYTAlJVMTEwLwYDVQQIDCg3NiDQr9GA0L7R gdC70LDQstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMR8wHQYDVQQHDBbQsy4g0K/RgNC+0YHQu9Cw 0LLQu9GMMTQwMgYDVQQJDCvQnNC+0YHQutC+0LLRgdC60LjQuSDQv9GA0L7RgdC/0LXQutGCINC0 LjEyMTAwLgYDVQQLDCfQo9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAxMDAu BgNVBAoMJ9Ce0J7QniAi0JrQntCc0J/QkNCd0JjQryAi0KLQldCd0JfQntCgIjEwMC4GA1UEAwwn 0J7QntCeICLQmtCe0JzQn9CQ0J3QmNCvICLQotCV0J3Ql9Ce0KAiMB4XDTE5MDQwMjA4MDgwM1oX DTIwMDcwMjA4MDgwM1owggG/MS4wLAYDVQQJDCXQv9GALdC60YIu0JvQtdC90LjQvdGB0LrQuNC5 LCAyLCDQui41MTEwLwYDVQQIDCgzNiDQktC+0YDQvtC90LXQttGB0LrQsNGPINC+0LHQu9Cw0YHR gtGMMRowGAYDVQQHDBHQsy7QktC+0YDQvtC90LXQtjELMAkGA1UEBhMCUlUxLDAqBgNVBCoMI9Cd 0LDRgtCw0LvQuNGPINCc0LjRhdCw0LnQu9C+0LLQvdCwMRkwFwYDVQQEDBDQmtC+0LvRj9Cz0LjQ vdCwMSQwIgYDVQQDDBvQkdCj0Jcg0JLQniAi0JLQk9CfIOKEliAxOCIxIDAeBgNVBAwMF9CT0LvQ sNCy0L3Ri9C5INCy0YDQsNGHMQowCAYDVQQLDAEwMSQwIgYDVQQKDBvQkdCj0Jcg0JLQniAi0JLQ k9CfIOKEliAxOCIxIDAeBgkqhkiG9w0BCQEWEWdwMThidWhAeWFuZGV4LnJ1MRowGAYIKoUDA4ED AQESDDAwMzY2MzA0MDI4MjEWMBQGBSqFA2QDEgswMzUyNjE0MjMyMzEYMBYGBSqFA2QBEg0xMDMz NjAwMDM0ODA4MGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQATXyW3oXGA0 KVMscOQ7/zbz69iqQngsJOjzujx7h7oMIP/SS6N+yCT8Zj4VKh9AFtlo+0G5ZR0FdAlNhQd3EhSj gglxMIIJbTAOBgNVHQ8BAf8EBAMCBPAwOAYDVR0lBDEwLwYHKoUDAgIiGQYHKoUDAgIiGgYHKoUD AgIiBgYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdIAQWMBQwCAYGKoUDZHEBMAgGBiqFA2RxAjAh BgUqhQNkbwQYDBbQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQMIICWQYHKoUDAgIxAgSCAkwwggJIMIIC NhYSaHR0cHM6Ly9zYmlzLnJ1L2NwDIICGtCY0L3RhNC+0YDQvNCw0YbQuNC+0L3QvdGL0LUg0YHQ uNGB0YLQtdC80YssINC/0YDQsNCy0L7QvtCx0LvQsNC00LDRgtC10LvQtdC8INC40LvQuCDQvtCx 0LvQsNC00LDRgtC10LvQtdC8INC/0YDQsNCyINC90LAg0LfQsNC60L7QvdC90YvRhSDQvtGB0L3Q vtCy0LDQvdC40Y/RhSDQutC+0YLQvtGA0YvRhSDRj9Cy0LvRj9C10YLRgdGPINCe0J7QniAi0JrQ vtC80L/QsNC90LjRjyAi0KLQtdC90LfQvtGAIiwg0LAg0YLQsNC60LbQtSDQsiDQuNC90YTQvtGA 0LzQsNGG0LjQvtC90L3Ri9GFINGB0LjRgdGC0LXQvNCw0YUsINGD0YfQsNGB0YLQuNC1INCyINC6 0L7RgtC+0YDRi9GFINC/0YDQvtC40YHRhdC+0LTQuNGCINC/0YDQuCDQuNGB0L/QvtC70YzQt9C+ 0LLQsNC90LjQuCDRgdC10YDRgtC40YTQuNC60LDRgtC+0LIg0L/RgNC+0LLQtdGA0LrQuCDQutC7 0Y7Rh9C10Lkg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0LTQv9C40YHQuCwg0LLRi9C/0YPR idC10L3QvdGL0YUg0J7QntCeICLQmtC+0LzQv9Cw0L3QuNGPICLQotC10L3Qt9C+0YADAgXgBAz5 /r33p4qqkWc+ScwwggFgBgNVHSMEggFXMIIBU4AUspR7+mB3lEeDkkt0vgnkxeS5asihggEspIIB KDCCASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAWBgNV BAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDEuMCwGA1UECQwl 0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQ vtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgG CCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg 0KDQvtGB0YHQuNC4ggsAgBqlswAAAAAAMTAdBgNVHQ4EFgQUc0TZ5HwPwZbTOJITUC/9G3BikaAw KwYDVR0QBCQwIoAPMjAxOTA0MDIwODA4MDNagQ8yMDIwMDcwMjA4MDgwM1owggEzBgUqhQNkcASC ASgwggEkDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApDFMi0KPQ tNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g 0KPQpiIg0LLQtdGA0YHQuNC4IDIuMAxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC1 0YLRgdGC0LLQuNGPIOKEliDQodCkLzEyNC0zMzgwINC+0YIgMTEuMDUuMjAxOAxP0KHQtdGA0YLQ uNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0yOTgzINC+ 0YIgMTguMTEuMjAxNjCCAXoGA1UdHwSCAXEwggFtMF6gXKBahlhodHRwOi8vdGF4NC50ZW5zb3Iu cnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMDegNaAzhjFodHRwOi8vdGVuc29yLnJ1L2NhL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMESgQqBAhj5odHRwOi8vY3JsLnRlbnNvci5ydS90YXg0L2NhL2NybC90ZW5z b3JjYS0yMDE4X2NwX2dvc3QyMDEyLmNybDBFoEOgQYY/aHR0cDovL2NybDIudGVuc29yLnJ1L3Rh eDQvY2EvY3JsL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3JsMEWgQ6BBhj9odHRwOi8vY3Js My50ZW5zb3IucnUvdGF4NC9jYS9jcmwvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi5jcmwwggIb BggrBgEFBQcBAQSCAg0wggIJMEkGCCsGAQUFBzABhj1odHRwOi8vdGF4NC50ZW5zb3IucnUvb2Nz cC10ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEyL29jc3Auc3JmMGQGCCsGAQUFBzAChlhodHRwOi8v dGF4NC50ZW5zb3IucnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNv cmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MD0GCCsGAQUFBzAChjFodHRwOi8vdGVuc29yLnJ1L2Nh L3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEYGCCsGAQUFBzAChjpodHRwOi8vY3JsLnRl bnNvci5ydS90YXg0L2NhL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEcGCCsGAQUFBzAC hjtodHRwOi8vY3JsMi50ZW5zb3IucnUvdGF4NC9jYS90ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEy LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NybDMudGVuc29yLnJ1L3RheDQvY2EvdGVuc29yY2Et MjAxOF9jcF9nb3N0MjAxMi5jcnQwPQYIKwYBBQUHMAKGMWh0dHA6Ly90YXg0LnRlbnNvci5ydS90 c3AtdGVuc29yX2dvc3QyMDEyL3RzcC5zcmYwCgYIKoUDBwEBAwIDQQDZ4sFlOYInNZ32t+ZwK0c/ rUemwa3Ln7oDcRvCGs0ZLCSqe90pE3nmNdYQcFuxbp6M7ZCd06WN+flBSs3Rr8es</wsse:BinarySecurityToken></wsse:Security></S:Header><soapenv:Body xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="OGRN_1033600034808"><xenc:EncryptedData xmlns:xenc=" http://www.w3.org/2001/04/xmlenc#" Type=" http://www.w3.org/2001/04/xmlenc#Content" xmlns:ds=" http://www.w3.org/2000/09/xmldsig#" xmlns:sch=" http://gost34.ibs.ru/WrapperService/Schema" xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147"/><ds:KeyInfo><xenc:EncryptedKey xmlns:xenc=" http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001"/><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIINwTCCDW6gAwIBAgIQHyHhCtN+xoDpER9Vm3TizzAKBggqhQMHAQEDAjCCAYcxIjAgBgkqhkiG 9w0BCQEWE2NhX3RlbnNvckB0ZW5zb3IucnUxGDAWBgUqhQNkARINMTAyNzYwMDc4Nzk5NDEaMBgG CCqFAwOBAwEBEgwwMDc2MDUwMTYwMzAxCzAJBgNVBAYTAlJVMTEwLwYDVQQIDCg3NiDQr9GA0L7R gdC70LDQstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMR8wHQYDVQQHDBbQsy4g0K/RgNC+0YHQu9Cw 0LLQu9GMMTQwMgYDVQQJDCvQnNC+0YHQutC+0LLRgdC60LjQuSDQv9GA0L7RgdC/0LXQutGCINC0 LjEyMTAwLgYDVQQLDCfQo9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAxMDAu BgNVBAoMJ9Ce0J7QniAi0JrQntCc0J/QkNCd0JjQryAi0KLQldCd0JfQntCgIjEwMC4GA1UEAwwn 0J7QntCeICLQmtCe0JzQn9CQ0J3QmNCvICLQotCV0J3Ql9Ce0KAiMB4XDTE5MDQwMjA4MDgwM1oX DTIwMDcwMjA4MDgwM1owggG/MS4wLAYDVQQJDCXQv9GALdC60YIu0JvQtdC90LjQvdGB0LrQuNC5 LCAyLCDQui41MTEwLwYDVQQIDCgzNiDQktC+0YDQvtC90LXQttGB0LrQsNGPINC+0LHQu9Cw0YHR gtGMMRowGAYDVQQHDBHQsy7QktC+0YDQvtC90LXQtjELMAkGA1UEBhMCUlUxLDAqBgNVBCoMI9Cd 0LDRgtCw0LvQuNGPINCc0LjRhdCw0LnQu9C+0LLQvdCwMRkwFwYDVQQEDBDQmtC+0LvRj9Cz0LjQ vdCwMSQwIgYDVQQDDBvQkdCj0Jcg0JLQniAi0JLQk9CfIOKEliAxOCIxIDAeBgNVBAwMF9CT0LvQ sNCy0L3Ri9C5INCy0YDQsNGHMQowCAYDVQQLDAEwMSQwIgYDVQQKDBvQkdCj0Jcg0JLQniAi0JLQ k9CfIOKEliAxOCIxIDAeBgkqhkiG9w0BCQEWEWdwMThidWhAeWFuZGV4LnJ1MRowGAYIKoUDA4ED AQESDDAwMzY2MzA0MDI4MjEWMBQGBSqFA2QDEgswMzUyNjE0MjMyMzEYMBYGBSqFA2QBEg0xMDMz NjAwMDM0ODA4MGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQATXyW3oXGA0 KVMscOQ7/zbz69iqQngsJOjzujx7h7oMIP/SS6N+yCT8Zj4VKh9AFtlo+0G5ZR0FdAlNhQd3EhSj gglxMIIJbTAOBgNVHQ8BAf8EBAMCBPAwOAYDVR0lBDEwLwYHKoUDAgIiGQYHKoUDAgIiGgYHKoUD AgIiBgYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdIAQWMBQwCAYGKoUDZHEBMAgGBiqFA2RxAjAh BgUqhQNkbwQYDBbQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQMIICWQYHKoUDAgIxAgSCAkwwggJIMIIC NhYSaHR0cHM6Ly9zYmlzLnJ1L2NwDIICGtCY0L3RhNC+0YDQvNCw0YbQuNC+0L3QvdGL0LUg0YHQ uNGB0YLQtdC80YssINC/0YDQsNCy0L7QvtCx0LvQsNC00LDRgtC10LvQtdC8INC40LvQuCDQvtCx 0LvQsNC00LDRgtC10LvQtdC8INC/0YDQsNCyINC90LAg0LfQsNC60L7QvdC90YvRhSDQvtGB0L3Q vtCy0LDQvdC40Y/RhSDQutC+0YLQvtGA0YvRhSDRj9Cy0LvRj9C10YLRgdGPINCe0J7QniAi0JrQ vtC80L/QsNC90LjRjyAi0KLQtdC90LfQvtGAIiwg0LAg0YLQsNC60LbQtSDQsiDQuNC90YTQvtGA 0LzQsNGG0LjQvtC90L3Ri9GFINGB0LjRgdGC0LXQvNCw0YUsINGD0YfQsNGB0YLQuNC1INCyINC6 0L7RgtC+0YDRi9GFINC/0YDQvtC40YHRhdC+0LTQuNGCINC/0YDQuCDQuNGB0L/QvtC70YzQt9C+ 0LLQsNC90LjQuCDRgdC10YDRgtC40YTQuNC60LDRgtC+0LIg0L/RgNC+0LLQtdGA0LrQuCDQutC7 0Y7Rh9C10Lkg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0LTQv9C40YHQuCwg0LLRi9C/0YPR idC10L3QvdGL0YUg0J7QntCeICLQmtC+0LzQv9Cw0L3QuNGPICLQotC10L3Qt9C+0YADAgXgBAz5 /r33p4qqkWc+ScwwggFgBgNVHSMEggFXMIIBU4AUspR7+mB3lEeDkkt0vgnkxeS5asihggEspIIB KDCCASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAWBgNV BAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDEuMCwGA1UECQwl 0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQ vtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgG CCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg 0KDQvtGB0YHQuNC4ggsAgBqlswAAAAAAMTAdBgNVHQ4EFgQUc0TZ5HwPwZbTOJITUC/9G3BikaAw KwYDVR0QBCQwIoAPMjAxOTA0MDIwODA4MDNagQ8yMDIwMDcwMjA4MDgwM1owggEzBgUqhQNkcASC ASgwggEkDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApDFMi0KPQ tNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g 0KPQpiIg0LLQtdGA0YHQuNC4IDIuMAxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC1 0YLRgdGC0LLQuNGPIOKEliDQodCkLzEyNC0zMzgwINC+0YIgMTEuMDUuMjAxOAxP0KHQtdGA0YLQ uNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0yOTgzINC+ 0YIgMTguMTEuMjAxNjCCAXoGA1UdHwSCAXEwggFtMF6gXKBahlhodHRwOi8vdGF4NC50ZW5zb3Iu cnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMDegNaAzhjFodHRwOi8vdGVuc29yLnJ1L2NhL3RlbnNvcmNhLTIwMThfY3Bf Z29zdDIwMTIuY3JsMESgQqBAhj5odHRwOi8vY3JsLnRlbnNvci5ydS90YXg0L2NhL2NybC90ZW5z b3JjYS0yMDE4X2NwX2dvc3QyMDEyLmNybDBFoEOgQYY/aHR0cDovL2NybDIudGVuc29yLnJ1L3Rh eDQvY2EvY3JsL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3JsMEWgQ6BBhj9odHRwOi8vY3Js My50ZW5zb3IucnUvdGF4NC9jYS9jcmwvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi5jcmwwggIb BggrBgEFBQcBAQSCAg0wggIJMEkGCCsGAQUFBzABhj1odHRwOi8vdGF4NC50ZW5zb3IucnUvb2Nz cC10ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEyL29jc3Auc3JmMGQGCCsGAQUFBzAChlhodHRwOi8v dGF4NC50ZW5zb3IucnUvdGVuc29yY2EtMjAxOF9jcF9nb3N0MjAxMi9jZXJ0ZW5yb2xsL3RlbnNv cmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MD0GCCsGAQUFBzAChjFodHRwOi8vdGVuc29yLnJ1L2Nh L3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEYGCCsGAQUFBzAChjpodHRwOi8vY3JsLnRl bnNvci5ydS90YXg0L2NhL3RlbnNvcmNhLTIwMThfY3BfZ29zdDIwMTIuY3J0MEcGCCsGAQUFBzAC hjtodHRwOi8vY3JsMi50ZW5zb3IucnUvdGF4NC9jYS90ZW5zb3JjYS0yMDE4X2NwX2dvc3QyMDEy LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NybDMudGVuc29yLnJ1L3RheDQvY2EvdGVuc29yY2Et MjAxOF9jcF9nb3N0MjAxMi5jcnQwPQYIKwYBBQUHMAKGMWh0dHA6Ly90YXg0LnRlbnNvci5ydS90 c3AtdGVuc29yX2dvc3QyMDEyL3RzcC5zcmYwCgYIKoUDBwEBAwIDQQDZ4sFlOYInNZ32t+ZwK0c/ rUemwa3Ln7oDcRvCGs0ZLCSqe90pE3nmNdYQcFuxbp6M7ZCd06WN+flBSs3Rr8es</ds:X509Certificate></ds:X509Data></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>MIGpMCgEIB91VVywtgDK63aMac8VAO96opZ76Zs9Alzx63cG9GscBATaAFAVoH0GCSqFAwcBAgUB AaBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABEDR0n9TFqf1uObFIoDs3Hdt of0gSeitT4zt+yXTIUxv/kzmgBIQovPwT3ohXfkiS6McLNikb83cApn4vM+W6HzsBAhyknjve4Z0 Mg==</xenc:CipherValue></xenc:CipherData></xenc:EncryptedKey></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>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 jowpAzu/RSUv5TXbnvhxXIQul+JAC78=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData> </soapenv:Body></soapenv:Envelope> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 01:29 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
delem, код давай... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 02:14 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
delem, если вроде всё правильно, то проверь кодировку, которая в момент шифрования\подписывания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 05:36 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
delem, Можете приложить ответ от ФСС, который Вы получаете при отправке запроса из 10-ки? А то как-то сложно поверить, что один и тот же запрос по разному ведёт себя в разных системах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 10:05 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Shuraken, конечно, вот ответ ФСС <S:Envelope xmlns:S=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds=" http://www.w3.org/2000/09/xmldsig#" xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header><wsse:Security S:actor=" http://eln.fss.ru/actor/fss/ca/1027739443236"><wsse:BinarySecurityToken EncodingType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id=" http://eln.fss.ru/actor/fss/ca/1027739443236">MIIJcTCCCRygAwIBAgIQAdV4RMhCEaAAAAFHA gAAjAMBggqhQMHAQEDAgUAMIIB2DEYMBYGBSqF A2QBEg0xMDI3NzM5NDQzMjM2MT0wOwYDVQQJDDTQntGA0LvQuNC60L7QsiDQv9C10YDQtdGD0LvQ vtC6LCDQtC4gMywg0LrQvtGA0L8uINCQMRowGAYIKoUDA4EDAQESDDAwNzczNjA1NjY0NzELMAkG A1UEBhMCUlUxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxGDAWBgNVBAgMDzc3INCc0L7RgdC6 0LLQsDEdMBsGCSqGSIb3DQEJARYOaW5mby11Y0Bmc3MucnUxZzBlBgNVBAoMXtCk0L7QvdC0INGB 0L7RhtC40LDQu9GM0L3QvtCz0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC40LnR gdC60L7QuSDQpNC10LTQtdGA0LDRhtC40LgxLjAsBgNVBAsMJdCm0LXQvdGC0YDQsNC70YzQvdGL 0Lkg0LDQv9C/0LDRgNCw0YIxZzBlBgNVBAMMXtCk0L7QvdC0INGB0L7RhtC40LDQu9GM0L3QvtCz 0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC40LnRgdC60L7QuSDQpNC10LTQtdGA 0LDRhtC40LgwHhcNMTkxMDAxMTA0MzAwWhcNMjEwMTAxMTA0MzAwWjCCAbkxGjAYBggqhQMDgQMB ARIMMDA3NzM2MDU2NjQ3MRgwFgYFKoUDZAESDTEwMjc3Mzk0NDMyMzYxLjAsBgNVBAsMJdCm0LXQ vdGC0YDQsNC70YzQvdGL0Lkg0LDQv9C/0LDRgNCw0YIxZzBlBgNVBAoMXtCk0L7QvdC0INGB0L7R htC40LDQu9GM0L3QvtCz0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC40LnRgdC6 0L7QuSDQpNC10LTQtdGA0LDRhtC40LgxPTA7BgNVBAkMNNCe0YDQu9C40LrQvtCyINC/0LXRgNC1 0YPQu9C+0LosINC0LiAzLCDQutC+0YDQvy4g0JAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAx GDAWBgNVBAgMDzc3INCc0L7RgdC60LLQsDELMAkGA1UEBhMCUlUxZzBlBgNVBAMMXtCk0L7QvdC0 INGB0L7RhtC40LDQu9GM0L3QvtCz0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC4 0LnRgdC60L7QuSDQpNC10LTQtdGA0LDRhtC40LgwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggq hQMHAQECAgNDAARAWE547ZGPxMp9MQeDCwvQyicAobxGamrrqzOFpabdEeDE3YGrQPjAIcTLp76E AAbvZV+u4XjjOXfrpMiwh5hiI4EJADAzRTgwMDAyo4IExzCCBMMwDgYDVR0PAQH/BAQDAgPYMB0G A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAnBgNVHSAEIDAeMAgGBiqFA2RxATAIBgYqhQNk cQIwCAYGKoUDZHEDMDIGBSqFA2RvBCkMJ9Ca0YDQuNC/0YLQvtCf0YDQviBDU1Ag0LLQtdGA0YHQ uNGPIDQuMDCCAaAGBSqFA2RwBIIBlTCCAZEMb9Ch0YDQtdC00YHRgtCy0L4g0LrRgNC40L/RgtC+ 0LPRgNCw0YTQuNGH0LXRgdC60L7QuSDQt9Cw0YnQuNGC0Ysg0LjQvdGE0L7RgNC80LDRhtC40Lgg KNCh0JrQl9CYKSAiVmlQTmV0IENTUCA0Igxa0J/RgNC+0LPRgNCw0LzQvNC90YvQuSDQutC+0LzQ v9C70LXQutGBICJWaVBOZXQg0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGA IDQiDFzQl9Cw0LrQu9GO0YfQtdC90LjQtSDQviDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg4oSW IDE0OS8zLzIvMi0yMDUyINC+0YIgMjkuMDEuMjAxNCDQs9C+0LTQsAxk0KHQtdGA0YLQuNGE0LjQ utCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0yOTMyINC+0YIgMTAg 0LDQstCz0YPRgdGC0LAgMjAxNiDQs9C+0LTQsDAMBgNVHRMBAf8EAjAAMH8GCCsGAQUFBwEBBHMw cTBvBggrBgEFBQcwAoZjaHR0cDovL2UtdHJ1c3QuZ29zdXNsdWdpLnJ1L1NoYXJlZC9Eb3dubG9h ZENlcnQ/dGh1bWJwcmludD1CNjIzMDRCMTU0Qjk2NTk5MUYwMkQ0OThBM0UyN0M4M0YxMkE1RkMz MDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9mc3MucnUvdWMvR1VDX0ZTU19SRl8yMDE5LmNybDCC AWAGA1UdIwSCAVcwggFTgBSVVLlVMbdsssTrKkJyGP7xZnjflqGCASykggEoMIIBJDEeMBwGCSqG SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB 0LrQstCwMRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQstCwMS4wLAYDVQQJDCXRg9C70LjRhtCwINCi 0LLQtdGA0YHQutCw0Y8sINC00L7QvCA3MSwwKgYDVQQKDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GM INCg0L7RgdGB0LjQuDEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMRowGAYIKoUDA4EDAQESDDAw NzcxMDQ3NDM3NTEsMCoGA1UEAwwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LiC CwC1RWhKAAAAAAGfMCsGA1UdEAQkMCKADzIwMTkxMDAxMTA0MzAwWoEPMjAyMDEwMDExMDQzMDBa MBsGA1UdEQQUMBKBEGcucHJ5YW1vdkBmc3MucnUwHQYDVR0OBBYEFAryzW2jdIM8hWYyJf12iPSn N5iRMAwGCCqFAwcBAQMCBQADQQChumRyc4IqrADZN9NGvJBAYeEspDEMx06Gth6HvJMDAnaeps7I O5h39pPIcDKc5agj316WPHpHmkzG78i+U/RU</wsse:BinarySecurityToken><Signature xmlns=" http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm=" http://www.w3.org/2001/10/xml-exc-c14n#WithComments"></CanonicalizationMethod><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"></SignatureMethod><Reference URI="#OGRN_1027739443236"><Transforms><Transform Algorithm=" http://www.w3.org/2001/10/xml-exc-c14n#WithComments"></Transform></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"></DigestMethod><DigestValue>FfcgOqY5IdTZ+M4kBOZWGDMjrjg8lSHhK5nPIg+406w=</DigestValue></Reference></SignedInfo><SignatureValue>7nU3t9ztjKDNHuFa1n/QorYgWIh8ejs2032S759FgxN//PUQig2tnlNAC6AAR1I6FXO/sXNXj3Hn EtQHngYBXQ==</SignatureValue><KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="# http://eln.fss.ru/actor/fss/ca/1027739443236" ValueType=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"></wsse:Reference></wsse:SecurityTokenReference></KeyInfo></Signature></wsse:Security></SOAP-ENV:Header><S:Body wsu:Id="OGRN_1027739443236"><ns1:getNewLNNumRangeResponse xmlns:ns1=" http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" xmlns:ns2=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><ns1:fileOperationsLnUserGetNewLNNumRangeOut><ns1:REQUEST_ID>LNNUMMO_1033600034808_2019_12_06_00002</ns1:REQUEST_ID><ns1:STATUS>1</ns1:STATUS><ns1:MESS>OK</ns1:MESS><ns1:DATA><ns1:LNNum>900000401266</ns1:LNNum></ns1:DATA></ns1:fileOperationsLnUserGetNewLNNumRangeOut></ns1:getNewLNNumRangeResponse></S:Body></S:Envelope> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 10:12 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Добрый день. А кто-нибудь использует VipNet и ГОСТ-2012 для шифрования? ФСС сообщил, что версия VipNet 4.4 поддерживает шифрование по ГОСТ-2012. Я пробую (программа реализована на основе исходников из этой конференции), шифрование проходит, но не удается расшифровать ответ ФСС (ошибок нет, но получается что-то непонятное). При использование КриптоПро с этой программой все проходит нормально. Может кто-то разобрался с этим и подкинет мысль .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 12:24 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Anatole Добрый день. А кто-нибудь использует VipNet и ГОСТ-2012 для шифрования? ФСС сообщил, что версия VipNet 4.4 поддерживает шифрование по ГОСТ-2012. Я пробую (программа реализована на основе исходников из этой конференции), шифрование проходит, но не удается расшифровать ответ ФСС (ошибок нет, но получается что-то непонятное). При использование КриптоПро с этой программой все проходит нормально. Может кто-то разобрался с этим и подкинет мысль .... автор ГОСТ-2012 для шифрования Его невозможно использовать для шифрования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 12:30 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Вы о точности формулировке или о VipNet CSP? По сообщению ФСС "Если используется сертификат ФСС по ГОСТ 2012 - рабочей версией является 4.4 (0.58302)" и, действительно, программа fss_mo работает с этим сертификатом. Я тоже пробую использовать этот сертификат, но возникла проблема с расшифровкой ответа. Как я уже писал, с КриптоПро 4.0 на той же программе проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 21:00 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Anatole, да, 2012 не про шифрование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 21:03 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
OSnopkov, Вам удалось с VipNet CSP использовать сертификат ФСС по ГОСТ-2012? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2019, 16:38 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
thpg Для 2012 поменял CALG_GR3411 на CALG_GR3411_2012_256: // CheckCryptoCall(CryptCreateHash(ACryptoProvider, CALG_GR3411, 0, 0, @Result)); CheckCryptoCall(CryptCreateHash(ACryptoProvider, CALG_GR3411_2012_256, 0, 0, @Result)); В результате этого прошел квест до "пишет: набор ключей не определен, хотя в криптопро все есть" когда уже начинает работать с сертом ФСС. Серт скачен свежий, и вроде нужный (2012) отсюда https://cabinets.fss.ru/eln.html на 2001 все работало, на 2012 пишет "набор ключей не определен" что не хватает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2020, 10:53 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
user100000, не тот криптопровайдер, например, выбран. Или серты не оба 2012. Или много чего еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2020, 11:40 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
thpg user100000, не тот криптопровайдер, например, выбран. Или серты не оба 2012. Или много чего еще. оба 2012 так достаточно CheckCryptoCall(CryptCreateHash(ACryptoProvider, CALG_GR3411, 0, 0, @Result)); поменять на CheckCryptoCall(CryptCreateHash(ACryptoProvider, CALG_GR3411_2012_256, 0, 0, @Result)); ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2020, 12:51 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
А про реестры "прямых выплат" кто-нибудь в теме? Это у ФСС совсем другой сервис, хоть формат почти такой же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2020, 17:27 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые форумчане! Помогите, пожалуйста, балбесу с ФСС. Проблема та же, что и выше в посте "набор ключей не определен". Не могу адаптировать рабочий пример (выложенный выше) с 2001 сертификатом под 2012. Пример качал давно. он был рабочим, но из других задач лежал в долгом ящике. И вот когда решил им заняться, то мало того что ФСС переехал на версию 2.0 (это пол беды, заменить на новые функции из wsdl) так еще ... да там все другое! Для меня шифрование темный лес, но все что есть в интернете на тему интеграции с ФСС на 2001 алгоритме (2-3 летней давности). Пробывал прописать константы на алгоритм 2012_256, но ошибка или с набором ключей или неверный алгоритм. Может кто-нить помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2021, 18:12 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ALexcrool Здравствуйте уважаемые форумчане! Помогите, пожалуйста, балбесу с ФСС. Проблема та же, что и выше в посте "набор ключей не определен". Не могу адаптировать рабочий пример (выложенный выше) с 2001 сертификатом под 2012. Пример качал давно. он был рабочим, но из других задач лежал в долгом ящике. И вот когда решил им заняться, то мало того что ФСС переехал на версию 2.0 (это пол беды, заменить на новые функции из wsdl) так еще ... да там все другое! Для меня шифрование темный лес, но все что есть в интернете на тему интеграции с ФСС на 2001 алгоритме (2-3 летней давности). Пробывал прописать константы на алгоритм 2012_256, но ошибка или с набором ключей или неверный алгоритм. Может кто-нить помочь? Ключ 2012, контейнер правильно указан? Сервис\Протестировать\По сертификату - тестируется без ошибок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2021, 00:26 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
sql2012, Указываю контейнер руководителя МО с привязкой ОГРН. Тестирование проходит без ошибок. Путь сертификатов не нарушен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2021, 04:19 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ALexcrool sql2012, Указываю контейнер руководителя МО с привязкой ОГРН. Тестирование проходит без ошибок. Путь сертификатов не нарушен. а в коде правильно передаётся имя контейнера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2021, 13:35 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Все разобрался! В примере выложенным выше есть файл xml в который вставляются необходимы блоки. Вот этот файл был кривой. не соответствовал схемам ФСС 2.0. Я их исправил и ФСС стал отвечать, только тестовый, который работает только с подписанием. Теперь нужно править алгоритм для шифрования. Та процедура которая имеется в примере, что-то шифрует, но от ФСС приходит ответ, что он не смог расшифровать мое сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 12:29 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Никак не могу наладить шифрование по спецификации 2.0. Может кто-нибудь, кто сталкивался с ЭЛН "направить" что я не так делаю. Уже все глаза пересмотрел, все попробовал. Что-то делаю не то, но я просто не вижу что! Свой пример приложил... Есть несколько уточняющих вопросов: 1. Правильно я понимаю, что шифровать нужно весь подписанный документ? Который проходит через сервис без шифрования. 2. по спецификации 2.0: автор5.2. Структура зашифрованного сообщения: EncryptionMethod – в качестве параметра содержит определение алгоритма шифрования; KeyInfo – содержит информацию об секретном ключе, сгенерированном для данного информационного взаимодействия (CipherValue) и публичный сертификат сертификат ФСС, на котором были зашифрованы данные при направлении запросов в Фонд, или публичный сертификат пользователя, на котором были зашифрованы данные при формировании ответа в системе ФСС на запрос пользователю (X509Certificate); CipherData – зашифрованное сообщение в X509Certificate нужно передавать сертификат ФСС? везде в примерах передают сертификат пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2021, 05:08 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Эх Походу все уже сделали шифрование для фсс и в эту тему никто не заглядывает ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2021, 07:17 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
Господа, кто делает ПО для больниц! Можете дать для теста более-менее свежих номерков ЭЛН, существующих на тестовом контуре? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2021, 11:59 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
ALexcrool, Я остановился в v2.0 на подписании, получаю: ЭЦП неверна. INVALID_SIGNATURE ЭП недействительна Удалось Вам это побороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2021, 18:49 |
|
||
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#18+
OSnopkov, всё тут https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=124637#post124637 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2021, 18:55 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2037338]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
47ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
325ms |
get tp. blocked users: |
1ms |
| others: | 308ms |
| total: | 734ms |

| 0 / 0 |
