Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Электронный больничный ЭЛН
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39752089&tid=2037338]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 163ms |

| 0 / 0 |
