|
|
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
арт2010 X-Cite, sql2012, V.Borzov ЧЗ авторизовал на тестовом стенде и все права я себе назначил как в инструкции. V.Borzov сталкивались с таким? Как побороть? Я в тестовый стенд пока получал доступ, освоился в песочнице, а там права у юзера полные, поэтому с правами не заморачивался. Возможно, придется, когда надо будет создавать дополнительных пользователей. И еще вопрос по песочнице - как проверить, может нам уже дали доступ, просто попробовать авторизоваться? Ну да. Там еще есть кнопка "проверить статус регистрации" Весь алгоритм такой же как с тестовым стендом, другой IP не надо в hosts прописывать как я понимаю? Возможно мы уже авторизованы в песочнице, потому что когда запрашивал доступ к тестовому стенду, техподдержка ЧЗ сначала ответила что дали доступ к песочнице В песочницу мы входим с уже готовым УКЭП, ничего руками создавать не надо нам. Надо лишь создать адреса своей деятельности самостоятельно (адреса торговых точек), по списку доступных. Поставщики или другие аптечники, кто зарегистрировался там, уже все видны, и с ними можно взаимодействовать, как будто это рабочий контур. Далее Вам целесообразно перейти в форум ЧЗ, думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 16:25 |
|
||
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
V.Borzov, еще раз огромное спасибо, очень выручаете! Подскажите пожалуйста адрес форума ЧЗ - не могу найти И еще по Песочнице ответьте пожалуйста! Где там кнопка "проверить регистрацию", в упор не вижу такую! Директор наш уде давно зарегился в Песочнице и заходит туда по УКЭП со своего компа - то есть уже могу работать с песочницей, так ведт получается, мне отдельно там региться не надо ведь? Просто с его компа получается надо будет его сертификат перенести на мой, чтобы смог работать, так? Он мне дал Идентификатор вида 0eaafe69-cabb-40ee-b502-fcc2e3761490 - который как я понял он получил от ЧЗ Только не могу понять - это sys_id, user_id, client_id или code получается? В Песочнице в отличие от тестового стенда везде нужен token, вообще везде, даже для регистрации Смотрю в инструкции как его получить Запрос: POST api/v1/token HTTP/1.1 Host: api.sb.mdlp.crpt.ru Content-Type: application/json Cache-Control: no-cache { "code": "acf5c2c8-6d2c-41e5-ae75-6f98d3123d36" "password" : "password123" } Получение результата: { "token": "64193f26-8564-49c1-b1f4-4d84880ebaa7", "life_time": 30 } То есть нужен code и password То есть изначально как минимум code нам должен сообщить сам Честный знак при регистрации, так ведь получается? Иначе мы сами то никак не можем его сгенерить? Но вот пытаюсь этот запрос выполнить в Rest Client-е в браузере, в качестве code беру то, что дал диреткор. Но выдает ошибку { "error_description": "Ошибка при выполнении операции: поле code введено некорректно" } Что совсем запутался. Откуда брать то исходную инфу чтобы начать работать в песочнице? Что-то нужно получить от ЧЗ или нет? В тестовом как оказалось не нужно было, а тут похоже что как минимум code или sys_id нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 17:29 |
|
||
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
арт2010 Подскажите пожалуйста адрес форума ЧЗ - не могу найти http://честныйзнак.рф/forum И еще по Песочнице ответьте пожалуйста! Где там кнопка "проверить регистрацию", в упор не вижу такую! http://sb.mdlp.crpt.ru под большой желтой кнопкой "войти через УКЭП". Да и кнопку-то саму нажмите, может уже есть заход. Директор наш уде давно зарегился в Песочнице и заходит туда по УКЭП со своего компа - то есть уже могу работать с песочницей, так ведь получается, мне отдельно там региться не надо ведь? Просто с его компа получается надо будет его сертификат перенести на мой, чтобы смог работать, так? Да, под его учеткой, также крипто-про нужен. Для начала можно поставить, не покупая, там 3 месяца, кажется. Он мне дал Идентификатор вида 0eaafe69-cabb-40ee-b502-fcc2e3761490 - который как я понял он получил от ЧЗ Только не могу понять - это sys_id, user_id, client_id или code получается? В качестве USER_ID будете использовать либо ID сертификата, либо его отпечаток, в качестве CLIENT_ID и CLIENT_SECRET - идентификатор клиента и секретный код учетной системы, которую Вы сами создадите там в личном кабинете в настройках. Ими будете получать токен, которым будете работать. На форуме ЧЗ это всё бурно обсуждается сейчас. Вам срочно туда! В Песочнице в отличие от тестового стенда везде нужен token, вообще везде, даже для регистрации Смотрю в инструкции как его получить Запрос: POST api/v1/token HTTP/1.1 Host: api.sb.mdlp.crpt.ru Content-Type: application/json Cache-Control: no-cache { "code": "acf5c2c8-6d2c-41e5-ae75-6f98d3123d36" "password" : "password123" } Получение результата: { "token": "64193f26-8564-49c1-b1f4-4d84880ebaa7", "life_time": 30 } То есть нужен code и password То есть изначально как минимум code нам должен сообщить сам Честный знак при регистрации, так ведь получается? Иначе мы сами то никак не можем его сгенерить? Но вот пытаюсь этот запрос выполнить в Rest Client-е в браузере, в качестве code беру то, что дал диреткор. Но выдает ошибку { "error_description": "Ошибка при выполнении операции: поле code введено некорректно" } Нет, для резидентов рф пароль не используется. Используется цифровая подпись. Вам надо будет освоить подписание файлов. В двух словах: обращаетесь через auth, методом Post отправив туда свои client_id,client_secret,user_id, получаете в ответ code. далее этот code надо подписать своей цифровой подписью (открепленной) и послать (она зарегистрирована в ЧЗ), и ЧЗ, если всё верно, выдает этот token вида UUID, которым можно пользоваться полчаса, используя его во всех общениях с сервером. И будем дальше использовать уже Https, до этого всё было по http Что совсем запутался. Откуда брать то исходную инфу чтобы начать работать в песочнице? Что-то нужно получить от ЧЗ или нет? В тестовом как оказалось не нужно было, а тут похоже что как минимум code или sys_id нужно? Я попросил клиента (аптеку), чтобы она пообщалась с поставщиками. Один из поставщиков прислал мне штук 30 кодов, и понеслось. Далее либо между своими ООО, если имеются, кидаете туда-сюда данные, либо с кем-то из поставщиков, или кто там у вас, покупатели, либо скарифанитесь на форуме ЧЗ с кем-то и взаимодействуете. https://Честныйзнак.рф/business/projects/medicines/ - там раздел "документы для работы с МДЛП", всё подряд скачивать и читать от корки до корки. Удачи! Судя по всему, Вам еще много предстоит в изучении, так что начинайте делать это как можно быстрее! Времени мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 18:16 |
|
||
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
арт2010 Всем спасибо за помощь, пока в прострации, https упорно не работает. Попробовал TScHttpWebRequest от Devart - также с http работает , с https - нет, вылазит the other side has sent a failure alert [40] (см. скрин), как я понимаю обрубается все еще на уровне handshake. Видимо потому что ГОСТа нет в списке его алгоритмов (см. скрин)? остальными настройками игрался - ставлил все что можно из свойств ignore в true - не помогает. Еще вопрос - вот я все протоколы сделал true (см. скрин) - так можно или надо какой-то один выбрать? Код: Код: 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. Что касается WinHTTP и настроек для ЧЗ 3) Настройки для Тестового стенда API добавить в хранилище доверенных сертификатов тестовый корневой сертификат от КриптоПро. Ссылка для загрузки http://testca.cryptopro.ru/certsrv/certcarc.asp в файл hosts должна быть добавлена запись 185.196.171.27 api.stage.mdlp.crpt.ru Настройки все были сделаны изначально как в инструкции. Если URL в WinHTTP меняешь с https на http к примеру http://api.stage.mdlp.crpt.ru/api/v1/documents/income - работает (хотя и выдает ошибку, н озапрос обрабатывается) иначе ошибка как вчера. Тут все же как я понимаю ошибка в настройках самого компонента, так как от сервера от ничего не успевает просто получить. То что советовали WinHttp_TLB и прочее - пока не пробовал Если сервер поддерживает только ГОСТ алгоритм, то вы не сможете подключиться к данному серверу, так как на данный момент SecureBridge не поддерживает данный алгоритм. В свойстве Protocols перечисляется список поддерживаемых клиентом прикладных протоколов. Сервер сам выбирает протокол который будет использовать, поэтому если в списке не будет протокола поддерживаемого сервером, вы не сможете работать с таким сервером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 18:20 |
|
||
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
V.Borzov, благодарствую, реально очень помогли! Да, надо было давно начинать все это дело, сам виноват. Все время ещё отвлекают текущими проблемами, приходится в перерывах все это выяснять. Ещё если честно, до после днего была надежда, что все это отложат как с онлайн кассами на год или более, но похоже все таки хотят запускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2019, 18:29 |
|
||
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
Наконец удалось отправить тестовый док по https в песочнице. V.Borzov и кто работает с МДЛП подскажите пожалуйста дальше: 1. Как вы реализуете программно подписание дока сертификатом? Работаете напрямую с Crypto Pro или запускаете bat-ник как в примере ЧЗ? авторcsptest -sfsign -sign -in <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>doc.txt -out <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>signed_doc.txt -my "АО Фурацилин" -detached -base64 –add Какими инструментами это можно реализовать в Delphi (2007)? 2. Как делаете вот это авторПеревести тело документа в Base64 Для примера я естественно взял пример из инструкции как выглядит doc.xml в Base64 авторPGRvY3VtZW50cyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB2ZXJzaW9uPSIxLjE5Ij48cmVnaXN0ZXJfZW5kX3BhY2tpbmcgYWN0aW9uX2lkPSIzMTEiPjxzdWJqZWN0X2lkPjAwMDAwMDAwMDAwNTE3PC9zdWJqZWN0X2lkPg== Но каков алгоритм перевода, где можно почитать? В доках ЧЗ не нашел объяснение, а на форуме меня пока не авторизовали (что само по себе капец, что там надо еще авторизоваться!). Хотя может и не капец. Когда внедряли онлайн-кассы на форуме штрих-м меня тоже так и не авторизовали, несмотря на неоднократные запросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2019, 17:09 |
|
||
|
Delphi Rest Client + SSL
|
|||
|---|---|---|---|
|
#18+
арт2010, Подписывание - для начала и csptest.exe подойдет. Дальше можно изучить CAPICOM, там тоже всё просто. Далее, если очень захочется, то можно обратиться напрямую к CryptoApi, найти к нему описание на паскале, например JwaWinCrypt.pas. По Base64: https://ru.wikipedia.org/wiki/Base64 в Delphi можно воспользоваться стандартным модулем EncdDecd (в XE он есть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2019, 18:53 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2038796]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 450ms |

| 0 / 0 |
