forum.bitel.ru http://forum.bitel.ru/ |
|
bisys как правильно прописать параметр секрета? http://forum.bitel.ru/viewtopic.php?f=18&t=10723 |
Страница 1 из 2 |
Автор: | skyb [ 21 июл 2015, 12:22 ] |
Заголовок сообщения: | bisys как правильно прописать параметр секрета? |
mps.10.secret= как сюда должно скаладываться? дело в том что я захешировал в md5 - на той стороне говорят что не прошло |
Автор: | skyb [ 21 июл 2015, 12:31 ] | ||
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? | ||
вот протокол
|
Автор: | Phricker [ 21 июл 2015, 12:34 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Цитата: Дмитрий М <блабла@bisys.ru> Прикрепленные файлы28.11.13 кому: мне Все работает. Вы должны передать нам боевой пароль для дальнейшей работы. Передать надо в шифрованном виде. Высылаю программу ptrsa для шифрования пароля. Программа для ОС Windows XP и младше. На Windows 7 может сработать не с первого раза. Инструкция: В Options в Public key выберите кнопкой наш ключ bisys-ptrsa-public.pem придумайте пароль символов 40 - 50, типа sOCIacR+5EQ-2E0/BiM&Atoe... (без русских букв) Без MD5. Просто пароль. |
Автор: | skyb [ 21 июл 2015, 13:19 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Цитата: Теперь в ответе приходит неверная подпись. В ответе в параметре <sign> должен был быть указан хэш строки, составленной из содержимого тега params и подписи полученного ранее запроса + пароль, то есть следующей строки: <err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>11824</account><balance>210.99</balance>75e33785177fc3de145f2ca3386c1d9btest1234 Когда подпись полученного ответа не сходится, мы считаем ответ ошибочным. это я настроил без хеша, то что они ответили - выше |
Автор: | skyb [ 21 июл 2015, 17:26 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Phricker писал(а): Цитата: Дмитрий М <блабла@bisys.ru> Прикрепленные файлы28.11.13 кому: мне Все работает. Вы должны передать нам боевой пароль для дальнейшей работы. Передать надо в шифрованном виде. Высылаю программу ptrsa для шифрования пароля. Программа для ОС Windows XP и младше. На Windows 7 может сработать не с первого раза. Инструкция: В Options в Public key выберите кнопкой наш ключ bisys-ptrsa-public.pem придумайте пароль символов 40 - 50, типа sOCIacR+5EQ-2E0/BiM&Atoe... (без русских букв) Без MD5. Просто пароль. а дай конфиг плиз |
Автор: | skyb [ 22 июл 2015, 07:06 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
ап, что не так то, вроде все настроено а не работает? |
Автор: | Phricker [ 22 июл 2015, 12:03 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb писал(а): а дай конфиг плиз Код: #bisys
# mps.8.mode=1 mps.8.title=Сбербанк mps.8.protocol=bisys mps.8.protocol.ext=noBaseAuth mps.8.secret=+,{0?.......veC mps.8.pid=33 mps.8.search.mode=custom mps.8.search.custom=ru.ellcom.bgbilling.modules.mps.CustomFindContract mps.8.numberPattern=\A[a-zA-Z0-9_-]*\z mps.8.comment= |
Автор: | Phricker [ 22 июл 2015, 12:05 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Пароль не MD5. Пароль строка. Я ее вставил в их программу и отправил им зашифрованный. |
Автор: | skyb [ 22 июл 2015, 16:19 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
разработчики, есть мнение что протокол старый, а у них новый, можете проверить? |
Автор: | skn [ 22 июл 2015, 16:31 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb писал(а): разработчики, есть мнение что протокол старый, а у них новый, можете проверить? проверить как? протокол который вы приложили он: Версия 3.5 Редакция 8 12.09.2013 (это самый новый?) |
Автор: | skyb [ 22 июл 2015, 18:00 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skn писал(а): skyb писал(а): разработчики, есть мнение что протокол старый, а у них новый, можете проверить? проверить как? протокол который вы приложили он: Версия 3.5 Редакция 8 12.09.2013 (это самый новый?) они сказали - да, это последняя правка, я выше отписал как они формируют подпись, вы так же? |
Автор: | skn [ 22 июл 2015, 18:26 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
мы формируем подпись так Код: String serializedXml = params.substring( params.indexOf( "<params>" ) + 8, params.indexOf( "</params>" ) );
String strToSign = serializedXml + system.secret; MessageDigest md = MessageDigest.getInstance( "MD5" ); md.update( strToSign.getBytes( "UTF-8" ) ); String sign = new String( Utils.bytesToHexString( md.digest() ) ).toLowerCase(); if ( !sign.equalsIgnoreCase( incomingSign ) ) { throw new MPSException( ERROR_MPS_HASH ); } |
Автор: | skyb [ 23 июл 2015, 11:10 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skn писал(а): мы формируем подпись так Код: String serializedXml = params.substring( params.indexOf( "<params>" ) + 8, params.indexOf( "</params>" ) ); String strToSign = serializedXml + system.secret; MessageDigest md = MessageDigest.getInstance( "MD5" ); md.update( strToSign.getBytes( "UTF-8" ) ); String sign = new String( Utils.bytesToHexString( md.digest() ) ).toLowerCase(); if ( !sign.equalsIgnoreCase( incomingSign ) ) { throw new MPSException( ERROR_MPS_HASH ); } это проверкой правильности подписи при получении запроса со стороны ПС? а нужен код, который формирует подпись для ответа |
Автор: | skn [ 23 июл 2015, 17:07 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Код: ByteArrayOutputStream baos = new ByteArrayOutputStream();
XMLUtils.serialize( paramsElement, baos, "UTF-8" ); String serializedXml = baos.toString(); serializedXml = serializedXml.substring( serializedXml.indexOf( "<params>" ) + 8, serializedXml.indexOf( "</params>" ) ); String strToSign = serializedXml + response.parameters.get( "sign" ).toString() + system.secret; MessageDigest md = MessageDigest.getInstance( "MD5" ); md.update( strToSign.getBytes( "UTF-8" ) ); String sign = new String( Utils.bytesToHexString( md.digest() ) ).toLowerCase(); XMLUtils.createElement( responseElement, "sign" ).setTextContent( sign ); |
Автор: | skyb [ 23 июл 2015, 19:21 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Просят какая получается строка strToSign до strToSign.getBytes, как ее посмотреть? дебаг покажет? |
Автор: | skn [ 23 июл 2015, 21:51 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb писал(а): Просят какая получается строка strToSign до strToSign.getBytes, как ее посмотреть? дебаг покажет? да |
Автор: | skyb [ 29 июл 2015, 12:47 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Вот что написали мне они Цитата: В логе я вижу только наши запросы. Ответов, которые Вы отправляете нет.
Вообще, раз к нам от вас приходит неверная подпись, ошибка должна быть в месте формирования подписи, то есть вот здесь: String strToSign = serializedXml + response.parameters.get( "sign" ).toString() + system.secret; MessageDigest md = MessageDigest.getInstance( "MD5" ); md.update( strToSign.getBytes( "UTF-8" ) ); String sign = new String( Utils.bytesToHexString( md.digest() ) ).toLowerCase(); XMLUtils.createElement( responseElement, "sign" ).setTextContent( sign ); Скорей всего хэшируется не та строка. В строке должна быть строчка между <params></params>, подпись из запроса и test1234. Вызывает сомнения: response.parameters.get( "sign" ).toString() , т.к. насколько я понимаю, response - это ответ. Надо брать sign из запроса. Поэтому хотелось бы увидеть, что содержит strToSign до md.update( strToSign.getBytes( "UTF-8" ) ); strToSign по идее на запрос: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>PPPoE - 11824</account><pay_amount>10000</pay_amount></params><sign>75e33785ca3386c1d9b</sign></request> должна выглядеть так: <err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>PPPoE - 11824</account><balance>504.20</balance>75e33785177fcca3386c1d9btest1234 |
Автор: | skyb [ 29 июл 2015, 12:49 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
а вот лог, где должна быть строчка но ее нет Код: 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysPaymentManager - Получение параметров запроса
07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysPaymentManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>PPPoE - 11824</account><pay_amount>10000</pay_amount></params><sign>75e3378516c1d9b</sign></request> 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysPaymentManager - Операция проверки платежа - проверка существования договора 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-6] BiSysPaymentManager - Получение параметров запроса 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-6] BiSysPaymentManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>PPPoE - 11824</account><client_name>Иванов</client_name></params><sign>c1cd4bf47c006bc3a8d198f</sign></request> 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-6] BiSysPaymentManager - Операция проверки платежа - проверка существования договора 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-2] BiSysPaymentManager - Получение параметров запроса 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-2] BiSysPaymentManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?><request><params> <act>1</act><account>PPPoE - 11824</account><pay_amount>10000</pay_amount> </params><sign>a23dde5658f1eb2c359917</sign></request> 07-29/09:28:35 DEBUG [http-bio-0.0.0.0-8443-exec-2] BiSysPaymentManager - Операция проверки платежа - проверка существования договора 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-5] BiSysPaymentManager - Получение параметров запроса 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-5] BiSysPaymentManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>PPPoE - 11824</account></params></request> 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-1] BiSysPaymentManager - Получение параметров запроса 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-1] BiSysPaymentManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>PPPoE - 11824</account></params><sign>098f6bcd4621e832627b4f6</sign></request> 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-10] BiSysPaymentManager - Получение параметров запроса 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-10] BiSysPaymentManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>PPPoE - 118241</account></params><sign>0ed74d21cb1ac7186806766</sign></request> |
Автор: | Artur [ 29 июл 2015, 13:05 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Версия 6.1, значит. После фразы: Код: 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-10] BiSysPaymentManager - Полученная xml: .... Должен вывестись этот же набор параметров, но уже распарсенный - его нет. Если его нет, значит должны быть ошибки - их нет. Далее, их предположение о response неверно, т.к. они не имеют перед глазами весь код. В данном случае переменная response имеет тип MPSResponse, являющееся составной частью внутреннего API, а не HttpResponce, как можно было предположить. Из всего делаю вывод, что не хватает информации для полной картины. Для начала укажите используемые версии сервера/модуля, затем нужно обновиться до последнего билда в данной версии биллинга , а затем проводить какие-либо тесты, приводить логи и общаться с bisys. Также могу предположить, что проблема может скрываться из-за их любви к пробелам. Но это, в данном случае, просто лирическое отступление. |
Автор: | skyb [ 29 июл 2015, 13:15 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Artur писал(а): Версия 6.1, значит. После фразы: Код: 07-29/09:28:36 DEBUG [http-bio-0.0.0.0-8443-exec-10] BiSysPaymentManager - Полученная xml: .... Должен вывестись этот же набор параметров, но уже распарсенный - его нет. Если его нет, значит должны быть ошибки - их нет. Далее, их предположение о response неверно, т.к. они не имеют перед глазами весь код. В данном случае переменная response имеет тип MPSResponse, являющееся составной частью внутреннего API, а не HttpResponce, как можно было предположить. Из всего делаю вывод, что не хватает информации для полной картины. Для начала укажите используемые версии сервера/модуля, затем нужно обновиться до последнего билда в данной версии биллинга , а затем проводить какие-либо тесты, приводить логи и общаться с bisys. Также могу предположить, что проблема может скрываться из-за их любви к пробелам. Но это, в данном случае, просто лирическое отступление. да, забыл указать. Код: Сервер: вер. 6.1.963 / 17.09.2014 17:12:01
os: Linux; java: Java HotSpot(TM) Server VM, v.1.7.0_67 mps: вер. 6.1.175 / 08.09.2014 16:51:41 |
Автор: | Artur [ 29 июл 2015, 13:19 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb писал(а): Код: Сервер: вер. 6.1.963 / 17.09.2014 17:12:01 os: Linux; java: Java HotSpot(TM) Server VM, v.1.7.0_67 mps: вер. 6.1.175 / 08.09.2014 16:51:41 Нужно ли приводить цитаты ув. dimon из соседних тем про использование старых версий? |
Автор: | skyb [ 29 июл 2015, 13:41 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Artur писал(а): skyb писал(а): Код: Сервер: вер. 6.1.963 / 17.09.2014 17:12:01 os: Linux; java: Java HotSpot(TM) Server VM, v.1.7.0_67 mps: вер. 6.1.175 / 08.09.2014 16:51:41 Нужно ли приводить цитаты ув. dimon из соседних тем про использование старых версий? |
Автор: | dimOn [ 29 июл 2015, 14:56 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
налёт древности это круто |
Автор: | skyb [ 30 июл 2015, 08:32 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
dimOn писал(а): налёт древности это круто да у меня почти каждое обновление вызывает нервный тик |
Автор: | Artur [ 30 июл 2015, 11:11 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb писал(а): dimOn писал(а): налёт древности это круто да у меня почти каждое обновление вызывает нервный тик Для этого существуют тестовые площадки, на которых можно предварительно обкатать все риски.... |
Автор: | skyb [ 30 июл 2015, 13:27 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Artur писал(а): skyb писал(а): dimOn писал(а): налёт древности это круто да у меня почти каждое обновление вызывает нервный тик Для этого существуют тестовые площадки, на которых можно предварительно обкатать все риски.... таки все? на тестовом конечно обкатывается и не раз, но все-равно какая то дрянь да вылазет, а когда ещё переписано пол системы, чтобы слинковать со сторонней и написать туже логику что и в биллинге делается руками, в общем коллеги видели как я сидел |
Автор: | Artur [ 30 июл 2015, 13:46 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb писал(а): таки все? на тестовом конечно обкатывается и не раз, но все-равно какая то дрянь да вылазет, а когда ещё переписано пол системы, чтобы слинковать со сторонней и написать туже логику что и в биллинге делается руками, в общем коллеги видели как я сидел Процентов 90%, думаю, точно. Тем более полезны частые обновления, потому что не нужно тестировать на устойчивость пол системы, когда обновлений накопилось слишком много. |
Автор: | skyb [ 04 авг 2015, 07:11 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
в общем после обновления тесты пройдены успешно |
Автор: | Artur [ 04 авг 2015, 09:58 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
skyb, я думаю у вас обновление заняло меньше времени, чем потратили мы с вами на выяснение, что у вас старые версии. Думаю, что об ошибках следует писать, находясь на самых последних версиях. |
Автор: | skyb [ 05 авг 2015, 14:40 ] |
Заголовок сообщения: | Re: bisys как правильно прописать параметр секрета? |
Artur писал(а): skyb, я думаю у вас обновление заняло меньше времени, чем потратили мы с вами на выяснение, что у вас старые версии. Думаю, что об ошибках следует писать, находясь на самых последних версиях. тут было обновляться проще всего =), там была ещё проблема с кодировкой, но она решилась саммостоятельно |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |