Forum Webscript.Ru

Программирование => PHP => Тема начата: grisha от 08 Сентября 2006, 14:00:10

Название: WMoney
Отправлено: grisha от 08 Сентября 2006, 14:00:10
привет есть такой вопрос
хочу организовать оплату на веб мани .....
скачал с сайта скрипты там есть так же программка которая подписывает отсылаемые данные и таким образом подтверждает их достоверность
ъописание програмулины...

....Процесс подписи довольно прост. В качестве входного потока модуль (реально это обычный запускаемый файл) получает строку вида PlanStr\\004\\r\\n. Обработав входную строку, в выходной поток модуль выдает подпись...."

вопрос как это реализовать на пхп!?
Название: WMoney
Отправлено: vasa_c от 08 Сентября 2006, 23:54:57
На webmoney.ru вместе с описанием этой самой программулины есть вообще-то пример на php.
http://www.webmoney.ru/pfdevelhttp1.shtml
Название: WMoney
Отправлено: grisha от 11 Сентября 2006, 10:58:55
да я скачал все примеры запустил они генерируют подпись но сервер возвращает что подпись не верная ... из за чего это может быть?
Название: WMoney
Отправлено: vasa_c от 11 Сентября 2006, 18:10:29
Какой интерфейс?
Изначально вопрос был, как реализовать подпись. С этим справился?
Название: WMoney
Отправлено: grisha от 11 Сентября 2006, 18:32:55
да с подписями справился всё проверяет вроде отправляет на те интерфесы для которых у меня нет персонального аттестата выдаёт что интерфейс не доступен....
но курл по прежнему не работает с сертификатом ... т.е. в примере пришлось раскоментировать строку  после которой всё заработало

function _HttpsReq($addr)
{
  $ch = curl_init("https://w3s.webmoney.ru".$addr);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

#  Если корневой WebMoney CA сертификат не инсталлирован в SSL, то укажем путь к нему:
  curl_setopt($ch, CURLOPT_CAINFO, "WebMoneyCA.cer");
  curl_setopt($ch, CURLOPT_CAPATH, "Z:\\home\\webmoney\\www");
#  Внимание! Не используйте curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE)!

#я её раскоментировал т.е. отключил проверку сертификатов :)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
#  Это дает возможность осуществить атаку с подменой DNS.
  $result=curl_exec($ch);


  curl_close($ch);
  return $result;
}

ВООБЩЕМ БЕЗ проверки СЕРТИФИКАТА РАботает вот интересно как бы запустить с сертификатом.... пробовал разные варианты с разными опциями и путь относилтелный и полный и с CURLOPT_CAPATH
и без --- глухо .... говорят на веб мани самоподписаный сертификат и новые курлы более строго к этому относятся вот и не пускают,
вообщем ваше мнение ??? хватит этого или всёже добивать сертификаты?
щас тестирую на денвере  хостер спит гад не хочет инсталировать WMSigner
Название: WMoney
Отправлено: vasa_c от 11 Сентября 2006, 18:53:22
А если
curl_setopt( $ch, CURLOPT_CAINFO, \'/home/webmoney/www/WebMoneyCA.cer\' );
?

Хотя вообще странно...
Как не работает? Соединение не получается?
Название: WMoney
Отправлено: grisha от 12 Сентября 2006, 10:55:21
да соединение не проходит
$result=curl_exec($ch); возвращает фалсе.....
команды

$succeeded = curl_errno($ch);
$txt=curl_error($ch);
возвращают
60
error setting certificate verify locations: CAfile: WebMoneyCA.cer CApath: Z:\\home\\webmoney\\www

собственно...
Название: WMoney
Отправлено: ActiveX от 06 Октября 2006, 16:42:21
grisha, а если на хостинг залить сертификат и указать к нему путь от корня, работает?

Я собрал всю систему оплаты WM на хостинге (мастерхост) были проблемы только с запуском процессов (генерация подписи), но с сертификатами преблем нет, курл все схватывает отлично.
Название: WMoney
Отправлено: grisha от 09 Октября 2006, 10:54:34
да  разобрался там везде надо ставить полный путь и в скрипте и в файле вмсиджнер.ини то файла ключей
а проверку сертификатов я отключил с ней почему то не работает