Aoueu Posted November 23, 2011 Report Share Posted November 23, 2011 (edited) Swedbank nepieņem manus pieprasījumus, ar kļūdu "Pieslēguma kļūda! Lūdzu griezties pie pakalpojuma/produkta pārdevēja. (Paraksts ir kļūdains) Pakalpojums nav pieejams, vai iesūtītais ziņojums ir nepareizs"; Pameģināju, testēšanā, vienkārši paņemt doto piemēru un izmainīt tur tikai tirgotāja identifikātoru un privāto atslēgu, bet tik un tā pakalpojums nestrādā. Pameģinaju verificēt savu pašu ziņojuma parakstu ar izveidoto publisko atslēgu, verifikācija strāda. Pēc tām vispār izveidoju statiskas vērtības uz visiem parametriem: $VK_SERVICE=1002; $VK_VERSION='008'; $VK_SND_ID='TirgotajaID'; //reāli cits $VK_STAMP=1; $VK_AMOUNT=0.01; $VK_CURR='LVL'; $VK_REF='1'; $VK_MSG='Test'; $VK_MAC=''; $VK_RETURN='http://www.lappuse.lv/confirm'; //reāli cits $VK_LANG='LAT'; $VK_ENCODING='UTF-8'; $data=''; $data .= str_pad(mb_strlen($VK_SERVICE), 3, '0', STR_PAD_LEFT).$VK_SERVICE; $data .= str_pad(mb_strlen($VK_VERSION), 3, '0', STR_PAD_LEFT).$VK_VERSION; $data .= str_pad(mb_strlen($VK_SND_ID), 3, '0', STR_PAD_LEFT).$VK_SND_ID; $data .= str_pad(mb_strlen($VK_STAMP), 3, '0', STR_PAD_LEFT).$VK_STAMP; $data .= str_pad(mb_strlen($VK_AMOUNT), 3, '0', STR_PAD_LEFT).$VK_AMOUNT; $data .= str_pad(mb_strlen($VK_CURR), 3, '0', STR_PAD_LEFT).$VK_CURR; $data .= str_pad(mb_strlen($VK_REF), 3, '0', STR_PAD_LEFT).$VK_REF; $data .= str_pad(mb_strlen($VK_MSG), 3, '0', STR_PAD_LEFT).$VK_MSG; $fp = fopen(KEY_LOCATION."/keyfile.pem", "r"); $priv_key = fread($fp, 8192); fclose($fp); $pkeyid = openssl_get_privatekey($priv_key); openssl_sign($data, $signature, $pkeyid,OPENSSL_ALGO_SHA1); $VK_MAC = base64_encode($signature); Nesaprotu, kāpēc vienmēr saņemu kļūdu, kā paraksts ir nepareizs. POST visas vērtības parodās korrekti. Edited November 24, 2011 by Aoueu Quote Link to comment Share on other sites More sharing options...
briedis Posted November 23, 2011 Report Share Posted November 23, 2011 Muļķīgs jautājums, bet, no uzģenerētā atslēgu pāra, publisko atslēgu nodevi swedbankai? :) Quote Link to comment Share on other sites More sharing options...
Aoueu Posted November 23, 2011 Author Report Share Posted November 23, 2011 (edited) Swedbankai atdevam CSR (certificate request) pieprasījumu (kā bija pateikts dokumentācijā). Testēšanas gaitā no tā CSR ar openssl_csr_get_public_key() funkciju izveidoju publisko atslēgu un pameģināju verificēt agrāk izveidoto ziņojumu...viss bija kārtībā. Nezinu, kāpēc no banka puses parakstes parbaude nestrāda. Edited November 23, 2011 by Aoueu Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted November 23, 2011 Report Share Posted November 23, 2011 Ir iespēja, ka pakalpojums vienkārši vēl nav pieslēgts. Vēl ieteiktu viņiem pajautāt un pārliecināties, vai tiešām izveidotā virkne $data satur pareizas vērtības (konkrēti lauku garumi pēc pieredzes mēdz nebūt pareizi, ja dati satur neASCII simbolus). Quote Link to comment Share on other sites More sharing options...
Aoueu Posted November 23, 2011 Author Report Share Posted November 23, 2011 (edited) Šodien uzzināju ka jā, pakalpojums ir pieslēgts. Arī pajautāju par $data virkni, brīdi kad izveidoju virkni lidzīgu virknei tehniska dokumentācija(tikai cīts tirgotājs, un visi citi garumi tadi paši). Rīt uzzināšu atbildi :). Bet tāja konkrēta gadījumā no piemēra garums atšķiras tikai tirgotaja laukumam un uzskatas korrekti. Arī parbaudīju lauku secību datu virknē. Vai šī kļūda var būt saistīta ar to, kā paša serverī SSL nav izmantots? (domāju kā tas tikai parāda bridinājumu atgriežoties no banka lappūses, bet vairs neesmu pārliecināts) Edited November 23, 2011 by Aoueu Quote Link to comment Share on other sites More sharing options...
briedis Posted November 23, 2011 Report Share Posted November 23, 2011 SSL noteikti nav pie vainas, paši lietojam bez tā.. Quote Link to comment Share on other sites More sharing options...
Aoueu Posted November 24, 2011 Author Report Share Posted November 24, 2011 (edited) Swedbankam bija nepareiza sertifikāta versija :) Paldies par atbildes. Edited November 24, 2011 by Aoueu Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.