A certificate is required to complete client authentication

Прием платежей абонентов через систему WebMoney.

A certificate is required to complete client authentication

Сообщение SEA-Jay » 27 апр 2017, 05:20

Версия wm: вер. 6.2.189 / 04.10.2016 19:16:46

конфиг

#адрес запроса
webmoney.gate.url=https://merchant.webmoney.ru/lmi/payment.asp
webmoney.payment.desc=Oplata po dogovoru {CONTRACT_TITLE}
webmoney.payment.type.id=14
webmoney.secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
webmoney.digest.type=SHA-256
webmoney.mode=1
webmoney.result.url=https://XXXXXXXXXXXX:8443/bgbilling/wmexecuter
webmoney.success.url=https://XXXXXXXXXXXX:8443/bgbilling/webexecuter?action=DoTransaction&module=wm&mid=20&operation=success
webmoney.fail.url=https://XXXXXXXXXXXX:8443/bgbilling/webexecuteraction=DoTransaction&module=wm&mid=20&operation=fail
webmoney.payee.purse=RXXXXXXXXXXXX
webmoney.sum.min=10
webmoney.sum.max=3000
webmoney.payment.comment=Оплата через Webmoney-Merchant(WM# ${payer_wm}, ${payer_purse}) от ${trans_time}


Если в настройках мерчанта указать http://XXXXXXXXXXXX:8080/bgbilling/wmexecuter
платежи ходят, все работает

если указать https://XXXXXXXXXXXX:8443/bgbilling/wmexecuter

получаем ошибку

При попытке оплаты произошла ошибка!

Возможные причины:
A certificate is required to complete client authentication (code:-2147012852, step:5)

сертификаты валидные и рабочие

Ответ суппорта вебмани

Support Group (26.04.2017 13:17:05)
Вам необходимо проверить настройки Вашего сервера. Из ошибки следует, что Ваш сервер запрашивает у нас какой-то сертификат, для завершения аутентификации. Отключите это требование, т.к. сервер не может предоставить Вам сертификат для аутентификации


ну и вечный вопрос, кто виноват и что делать?
SEA-Jay
 
Сообщения: 122
Зарегистрирован: 26 ноя 2007, 13:35

Re: A certificate is required to complete client authenticat

Сообщение skn » 27 апр 2017, 12:27

а что вы имеете ввиду под "сертификаты валидные и рабочие"?

рекомендуем использовать nginx. как frontend для биллинга
skn
Разработчик
 
Сообщения: 4382
Зарегистрирован: 07 апр 2007, 23:51
Откуда: Уфа, Россия

Re: A certificate is required to complete client authenticat

Сообщение SEA-Jay » 27 апр 2017, 16:06

Веб-сайт
Альтернативные адреса (SAN)
Период действия от 28.03.2017 до 26.06.2017
Серийный номер 304602955059386486311545172289579640386825
Алгоритм подписи RSA-SHA256
Центр сертификации Let's Encrypt Authority X3
Имя Let's Encrypt Authority X3
Компания Let's Encrypt
Локализация US
Период действия от 18.03.2016 до 18.03.2021
Серийный номер 13298795840390663119752826058995181320
Алгоритм подписи RSA-SHA256
Центр сертификации DST Root CA X3

без ngnix проблема решается?
Последний раз редактировалось SEA-Jay 02 май 2017, 11:39, всего редактировалось 1 раз.
SEA-Jay
 
Сообщения: 122
Зарегистрирован: 26 ноя 2007, 13:35

Re: A certificate is required to complete client authenticat

Сообщение Amir » 27 апр 2017, 16:43

Биллинг при подключении по HTTPS пытается получить клиентский сертификат, но если не удалось - не прекращает работу.
Это можно проверить, попытавшись открыть URL в браузере без установленного клиентского сертификата.
Данная настройка глобальная для сокета:
$this->bbcode_second_pass_quote('', 'c')onnector.setProperty( "clientAuth", "want" );
Set to true if you want the SSL stack to require a valid certificate chain from the client before accepting a connection.
Set to want if you want the SSL stack to request a client Certificate, but not fail if one isn't presented.
A false value (which is the default) will not require a certificate chain unless the client requests a resource protected by a security constraint that uses CLIENT-CERT authentication.

Если они возвращают ошибку сразу при попытке запросить у них сертификат - то видимо только через nginx.
Аватара пользователя
Amir
Разработчик
 
Сообщения: 5940
Зарегистрирован: 19 дек 2006, 21:04

Re: A certificate is required to complete client authenticat

Сообщение SEA-Jay » 02 май 2017, 12:00

Пока парился с SSL все сломал

webmoney.gate.url=https://merchant.webmoney.ru/lmi/payment.asp
webmoney.payment.desc=Oplata po dogovoru {CONTRACT_TITLE}
webmoney.payment.type.id=14
webmoney.secret=xxxxxxxxxxx
webmoney.digest.type=SHA-256
webmoney.mode=1
webmoney.success.method=1
webmoney.result.url=http://xxx:8080/bgbilling/wmexecuter
#webmoney.success.url=http://xxx.ru:8080/bgbilling/webexecuter?action=DoTransaction&module=wm&mid=20&operation=success
#webmoney.fail.url=http://xxx.ru:8080/bgbilling/webexecuter?action=DoTransaction&module=wm&mid=20&operation=fail
webmoney.payee.purse=Rхххххххххх
webmoney.sum.min=10
webmoney.sum.max=3000
webmoney.payment.comment=Оплата через Webmoney-Merchant(WM# ${payer_wm}, ${payer_purse}) от ${trans_time}


настройки мерчанта

Изображение

в итоге при попытке платежа получаем

Ошибка

Веб-сайт продавца недоступен. HTTP_STATUS=500 (2) step=6.1

однако в лог приходит

91.227.52.97 - [02/May/2017:14:52:13 +0900] 0.005 500 1684 "POST /bgbilling/wmexecuter HTTP/1.1" LMI_PREREQUEST=1&LMI_MODE=0&LMI_PAYMENT_AMOUNT=11.00&LMI_PAYEE_PURSE=R907856xxxxx&LMI_PAYMENT_NO=100&LMI_PAYER_WM=xxxxxxx25230
&LMI_PAYER_PURSE=R991916xxxxx&LMI_PAYER_COUNTRYID=RU&LMI_PAYER_PCOUNTRYID=RU&LMI_PAYER_IP=176.xx.xx.xx
&LMI_PAYMENT_DESC=Oplata po dogovoru 5758/??-?/79&LMI_LANG=ru-RU&module=wm&cid=5758&action=DoTransaction&mid=20&


что где сломал?
SEA-Jay
 
Сообщения: 122
Зарегистрирован: 26 ноя 2007, 13:35

Re: A certificate is required to complete client authenticat

Сообщение skn » 02 май 2017, 12:34

error.log смотрели?
попробуйте debug включить, возможно в логах что то еще интересное покажет.
skn
Разработчик
 
Сообщения: 4382
Зарегистрирован: 07 апр 2007, 23:51
Откуда: Уфа, Россия

Re: A certificate is required to complete client authenticat

Сообщение SEA-Jay » 02 май 2017, 13:39

server out


May 02, 2017 4:37:19 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [WebMoneyExecutor] in context with path [/bgbilling] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoSuchFieldError: moduleId
at ru.bitel.bgbilling.modules.wm.server.bean.TransactionManager.checkAndUpdateWMPayment(TransactionManager.java:357)
at ru.bitel.bgbilling.modules.wm.server.ModuleExecutor.doPost(ModuleExecutor.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
SEA-Jay
 
Сообщения: 122
Зарегистрирован: 26 ноя 2007, 13:35

Re: A certificate is required to complete client authenticat

Сообщение SEA-Jay » 02 май 2017, 13:47

server log

05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-6] JRBaseFiller - Fill 665626068: ended
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-6] CommonExecutor - executing bitel.billing.server.reports.action.ActionReport; time => 429 ms.
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-6] PermissionChecker - Action MessagesForUsersService:getMessageListFromLastMessageId not found in dictionary for module 0
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-6] AbstractJaxWsHandler - executing ru.bitel.bgbilling.kernel.admin.messages4users.server.MessagesForUsersServiceImpl.getMessageListFromLastMessageI
d; time => 3 ms.
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] BGAuthFilter - clid=5758
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_PAYEE_PURSE: R9078xxxxxxxx
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_FAIL_URL:
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_PAYMENT_NO: 102
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_PAYMENT_DESC_BASE64: T3BvZ292b3J1IDU3NTgv0JjQvS3QpC83OQ==
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_PAYMENT_DESC: Oplata+po+dogovoru+5758%2F%D0%98%D0%BD-%D0%A4%2F79
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_SUCCESS_METHOD: 1
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_PAYMENT_AMOUNT: 14.00
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_RESULT_URL: http://xxxxx.ru:8080/bgbilling/wmexecuter
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_SUCCESS_URL:
05-02/16:36:49 DEBUG [http-bio-0.0.0.0-8080-exec-9] ActionDoTransaction - LMI_FAIL_METHOD: 1
05-02/16:36:51 DEBUG [http-bio-0.0.0.0-8080-exec-3] CommonExecutor - executing bitel.billing.server.contract.action.ActionOpenContract; time => 102 ms.
05-02/16:36:52 DEBUG [http-bio-0.0.0.0-8080-exec-5] CommonExecutor - executing bitel.billing.server.admin.action.ActionListValues; time => 1 ms.
05-02/16:36:56 DEBUG [http-bio-0.0.0.0-8080-exec-5] CommonExecutor - executing bitel.billing.server.admin.action.ActionCommand; time => 2 ms.
05-02/16:37:00 DEBUG [http-bio-0.0.0.0-8080-exec-5] AbstractJaxWsHandler - executing ru.bitel.bgbilling.kernel.contract.api.server.service.ContractServiceImpl.contractList; time => 10 ms.
05-02/16:37:02 DEBUG [http-bio-0.0.0.0-8080-exec-5] CommonExecutor - executing bitel.billing.server.contract.action.ActionContractParameters; time => 28 ms.
05-02/16:37:02 DEBUG [http-bio-0.0.0.0-8080-exec-5] Calculator - Services: 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,56,57,58,59,60,61
,62,63,64,65,66,67,68,69,70,71,72,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,93,95,97,99,100,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
,133,134,135,136,138,139,140,141,144,145,146,147,159,161,167,168,169,170,187
05-02/16:37:02 INFO [http-bio-0.0.0.0-8080-exec-5] Calculator - Memory total: 259 653 632; max: 518 979 584; free: 174 222 880
Memory pools:
SEA-Jay
 
Сообщения: 122
Зарегистрирован: 26 ноя 2007, 13:35

Re: A certificate is required to complete client authenticat

Сообщение skn » 02 май 2017, 16:40

какие версии ядра и модуля?
skn
Разработчик
 
Сообщения: 4382
Зарегистрирован: 07 апр 2007, 23:51
Откуда: Уфа, Россия

Re: A certificate is required to complete client authenticat

Сообщение SEA-Jay » 02 май 2017, 19:52

Обновил ядро до крайней. Заработало по http. через htts также ругается на сертификат.
но это уже мелочи.
Спасибо
SEA-Jay
 
Сообщения: 122
Зарегистрирован: 26 ноя 2007, 13:35


Вернуться в Модуль WebMoney

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron