BG Development


Страници: (3) 1 [2] 3   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Борика имплементация проблем с curl
PureEvil
Публикувано на: 24-02-2017, 11:38
Quote Post



Име: Атанас Митрев
Група: Потребител
Ранг: Почетен член

Мнения: 5216
Регистриран на: 21.02.04



Примера си е наред. Просто сертификата, който се ползва за подписване на данните няма нищо общо с този който е пуснат на borica.bg

Какво значение има сертификат Х, като за всичко се ползва У?


--------------------
<?php die("WTF"); ?>
PMUsers WebsiteICQ
Top
thrawn
Публикувано на: 24-02-2017, 11:48
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Параметрите на cURL служат за проверка на сертификатите които се ползват за изграждане на сигурната ssl връзка. Това е първото ниво на защита, и точно това не му харесва на Bender. Така се компроментира това ниво. То за това, явно се подава сертификатът който в случая липсва.

@Henry, ти гледал ли си какво има изобщо в тоя eTlogcertifikate.pem? Щом машината ти казва, че не може да намери клиентския сертификат, значи не го подаваш коректно.
PMEmail Poster
Top
Henry
Публикувано на: 26-02-2017, 10:49
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 23.02.17



QUOTE (thrawn @ 24-02-2017, 11:48)
Параметрите на cURL служат за проверка на сертификатите които се ползват за изграждане на сигурната ssl връзка. Това е първото ниво на защита, и точно това не му харесва на Bender. Така се компроментира това ниво. То за това, явно се подава сертификатът който в случая липсва.

@Henry, ти гледал ли си какво има изобщо в тоя eTlogcertifikate.pem? Щом машината ти казва, че не може да намери клиентския сертификат, значи не го подаваш коректно.

Нещо което не пише в документацията е от какво се прави pem файла. Борика не казват, от банката казват че "предполагат" че се прави от два ключа. Та проблема е че не е верен сертификата в пем формат. Зареждам всички сертификати с абсолютни пътища и останалите работят, освен този pem.
PMEmail Poster
Top
Henry
Публикувано на: 26-02-2017, 10:51
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 23.02.17



QUOTE (PureEvil @ 24-02-2017, 11:38)
Примера си е наред. Просто сертификата, който се ползва за подписване на данните няма нищо общо с този който е пуснат на borica.bg

Какво значение има сертификат Х, като за всичко се ползва У?

Точно така. Ако някой знае точно от кои ключове се прави този pem контейнер ще е супер. Опитал съм да конкатенирам в сички ключове от Борика в различни последователности да им сменя формата и какво ли още не, но не става.
PMEmail Poster
Top
thrawn
Публикувано на: 26-02-2017, 14:53
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Ти колко сертификата имаш?
Трябва да имаш 3. По един за тестовия и продуктовия сървър (реално не ги ползваш, банката ползва техни копия за проверка на подписите) а третия е за изграждането на ssl сесията (тоя ти трябва). Към всеки от сертификатите имаш частен ключ. В pem файлът трябва да сложиш клиентския си сертифиакт (третия) и неговия ключ.

4-тия сертификат е тоя на борика. С него проверяваш подписите на отговорите.

Това мнение е било редактирано от thrawn на 26-02-2017, 15:42
PMEmail Poster
Top
Henry
  Публикувано на: 27-02-2017, 10:38
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 23.02.17



QUOTE (thrawn @ 26-02-2017, 14:53)
Ти колко сертификата имаш?
Трябва да имаш 3. По един за тестовия и продуктовия сървър (реално не ги ползваш, банката ползва техни копия за проверка на подписите) а третия е за изграждането на ssl сесията (тоя ти трябва). Към всеки от сертификатите имаш частен ключ. В pem файлът трябва да сложиш клиентския си сертифиакт (третия) и неговия ключ.

4-тия сертификат е тоя на борика. С него проверяваш подписите на отговорите.

Ок имам три CERT файла поучени от Борика: eTlog за браузъра и още два един тестов и един продукционен.
Понеже не мога да направя PEM от два CERT ги правя първо в PEM с:

openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem

Имам трите ключа в pem и ги конкатенирам по следния начин: основния eTlog със всеки от другите два съответно за тестовата и продукционната среда:

cat eTlog.pem test.pem > combined_test_signature.pem
cat eTlog.pem production.pem > combined_production_signature.pem

Поставям комбинирания ключ както е в примера и на двете места:

curl_setopt($curl, CURLOPT_SSLCERT, realpath(dirname(__FILE__).'/../keys/combined_test_signature.pem'));
curl_setopt($curl, CURLOPT_SSLCERTPASSWD,’********’);
curl_setopt($curl, CURLOPT_SSLKEY, realpath(dirname(__FILE__).'/../keys/combined_test_signature.pem'));
curl_setopt($curl, CURLOPT_SSLKEYPASSWD,’********’);

И получавам:

string(122) "unable to set private key file: '/home/*******/public_html/modules/virtual_pos/keys/combined_test_signature.pem' type PEM"

Това е полседното от мен…от Борика отново не отговарят…
PMEmail Poster
Top
thrawn
Публикувано на: 27-02-2017, 10:53
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Гледай как се комбинира сертификат и ключ в pem

http://stackoverflow.com/questions/991758/...y-and-crt-files

Така както даваш имената, трябва да ползваш eTlog (това ти е клиентския сертификат) и ключът към него.

Между другото, не е нужно да набиеш ключът и сертификата в общ файл. Просто си подавй двата pem файла на curl. Комбинирането им в общ файл е само за удобство.

Това мнение е било редактирано от thrawn на 27-02-2017, 11:05
PMEmail Poster
Top
Henry
Публикувано на: 27-02-2017, 16:12
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 23.02.17



QUOTE (thrawn @ 27-02-2017, 10:53)
Гледай как се комбинира сертификат и ключ в pem

http://stackoverflow.com/questions/991758/...y-and-crt-files

Така както даваш имената, трябва да ползваш eTlog (това ти е клиентския сертификат) и ключът към него.

Между другото, не е нужно да набиеш ключът и сертификата в общ файл. Просто си подавй двата pem файла на curl. Комбинирането им в общ файл е само за удобство.

По този начин резултата е същия като моя ключ. Конкатенирани са двата в ASCII формат.

Какво имаш предвид да ги подам на curl? Можеш ли да ми дадеш пример?
PMEmail Poster
Top
thrawn
Публикувано на: 27-02-2017, 16:46
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



CODE
curl_setopt($curl, CURLOPT_SSLCERT, realpath('certificate.pem'));
curl_setopt($curl, CURLOPT_SSLCERTPASSWD,’********’);
curl_setopt($curl, CURLOPT_SSLKEY, realpath('privatekey.pem'));
curl_setopt($curl, CURLOPT_SSLKEYPASSWD,’********’);


Гледал ли си какво има в тия файлове?
Отвори ги с текстов редактор и виж дали са в текстов формат или са бинарни. Трябват ти в текстов формат.

След това провери дали ключовете и сертификатите си отговарят (криптираш нещо с частния ключ и пробваш да го декриптираш със сертификата).


Това мнение е било редактирано от thrawn на 27-02-2017, 18:42
PMEmail Poster
Top
Henry
Публикувано на: 28-02-2017, 10:03
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 23.02.17



Хора всичко се оправи когато спрях да поставям два ключа както в примера.
Закометирах втория клчюч и всичко тръгна както трябва.

Не знам просто тия уруди в Борика какво правят по цял ден, но това е нелепо да пускаш документация която е заблуждаваща.

Мерси на всички!
PMEmail Poster
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (3) 1 [2] 3  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0