csob / paymentgateway

English documentation of the ČSOB Payment Gateway that offers an API for credit card payments, Apple Pay, Google Pay, mallpay and ČSOB Payment Button.
https://platbakartou.csob.cz/platebni-brana
GNU General Public License v3.0
121 stars 68 forks source link

Unable to verify signature #411

Closed pepetko007 closed 5 years ago

pepetko007 commented 5 years ago

Dobry den,

zkousim testovaci provoz s M-ID: M1MIPS4898 a mam problem s verifikaci odpovedi. K verifikaci pouzivam klic mips_iplatebnibrana.csob.cz.pub. Zkousel jsem ho prejmenovat, abych mel jistotu, ze kod skutecne bere ten klic a je to tak, po prejmenovani vyhodi exception, ze ho neumi najit. Klic jsem vytvoril zkopirovanim obsahu jeho souboru z GitHubu, pac jsem nenasel primy download. Jelikoz jde ale pouze o textak, nemyslim, ze by mohl byt problem v tomto. Prosel jsem github, zda nekdo mel stejny problem, a vesmes vsechno ostatni bylo zpusobeno pouzitim spatneho klice. Tohle by ale melo byt v poradku.

Prikladam volani ECHO GET a ECHO POST. Muzete mi s tim prosim nejak pomoct? Dekuji, PJ

Prepared echo_POST request:
{
    "merchantId": "M1MIPS4898",
    "dttm": "20181122152923",
    "signature": "ZF1k9lxDgp9JDXlo+6ddE86pcPnv9fx7zAm6DrVqPQnc50lIWxoJYyaTGNt1wEd4JDrLthATtjgoAJ8WsWMlGLXunxqkdydbI7wxG/OkmektULhyQ9U6MhIUKgwksPVZ0pDXOa5v2vRO3d6QPoWTH7jog3YXbivCg2zc8JB9JVOb8DGV9J2h0Kj5JNky6uVZYx9C9/KWPWfOkRJh0j+39VvCUhconLEcAQfozKk5VrovVq3sqgb25oLydbuwI8qxdw5yA47EOtcxLQsmpwUkHv78wKdFXHqf+Lqndsgw3JBCEo2MloHfH2xS57N0RBibnqWUlISQSsDXjkvPn1xoBg=="
}

Echo POST result:
{"dttm":"20181122152923","signature":"aJlZjg9dp8RU6Crd9kZ1POQSnlgJPGtB21PvyoSNChYQr2sy3FVNcYWDp2pdmOHXw2OP7zTOnukEKDgHf54BHTdmwb5CjyaXNCNdVWH/rnkZhLhI1iFpZrCUHmI984uKGR+emd8Bc2IR5zJogg1IZXOsRdbCEG39kyck9FH5TwPcenMEeLCXDVIGwjftbNvyJm2ehthpSJtEZa07HkKHLKpiX6SruiI6soVQTEIrAVOgzRHCSoCBXuP5YahXqyhVz/VND04eUh+Qu4Oc3+Njc9nluWpgaZ7Xo3LMfI2XcipUOiO3ft7e1/hAgwW/XlgrYmJgwiYsTaMdpOInGGyC1Q==","resultCode":0,"resultMessage":"OK"}

Echo POST failed, unable to verify signature
URL: https://iapi.iplatebnibrana.csob.cz/api/v1.7/echo/M1MIPS4898/20181122153008/TTtBqYaONdTFwQCPjcHwUfuDS7rUOkkJRwlwymSJwGRcxL%2FbaBdjXJBWg9gvj66g7mpG%2FuP0QgKq%2Fgcn7vJ%2BxvnODXW5i6X1HdxKDfyzX97vQc1aAoQnKrajVRQBY2RJfjue83U66PpM1%2F%2FhUEgJriFxquzqe3giGwrJBRTh%2BQnU58xzFBjVyyh1q9GIOACZ3A9Dk98%2BZWSrq4sQvrsD0jvaTYJ%2BwkWZdSxfN2swLHJtLb1zksVZiIYxBgAaTu4IdStkoHLrgcLO7IxMLXsvijZhlPVwpz%2Bqvx2nW41McCXr7NdWXmzb25sA%2Bb3eP9l2Y2ZqOpmtFohVhDohqIPvmg%3D%3D

Echo GET result:
{"dttm":"20181122153009","signature":"swdNiQUAvUCvAveiwwQ01iLp9d9dxBTbwdjEFa4R60ujRoAqqFr/z5zhwlwWxbBChZvlqwSUrioCZZP5CVhiNFZ5XzvKbBxsKZm4/L7g4bWQtFmtONJca3ZKmmSb5vD2GiThyOUv3NwrgHakzAs2d04vkkA9hOnR8a+hZnBZvLa7X5o5x9KQGlUow3dSbpIrN/ZJNh5+5KLO2IF67F4U/dud8G1wjfWYLxwKs6QBLr8lLVb0LPvGM83AZQMjd2VHLBH67DnVooJR56RWnaLmTQdcyFqD5mneh1wd/u8Wp1XM7abztdKctKhO+tz3DDW7hSwOHJ56/6+0SCAC4jMleQ==","resultCode":0,"resultMessage":"OK"}

Echo GET failed, unable to verify signature
Mspisar commented 5 years ago

Dobrý den,

Váš požadavek jsme zaregistrovali a předali k řešení.

s pozdravem

Spisar

zdenasamkova commented 5 years ago

Dobrý den. K vaší verifikaci podpisu musíte používat svůj kód z vašeho privátního klíče, s příponou .key - --- > Klíč s příponou .pub je uložen na platební bráně. Popsáno zde https://github.com/csob/paymentgateway/wiki/eAPI-v1.7#%C5%BDivotn%C3%AD-cyklus-transakce-

Zatím pracuji v anonymním testování a používám vygenerované anonymní klíče, nicméně princíp by měl být stejný.

čt 22. 11. 2018 v 15:30 odesílatel pepetko007 notifications@github.com napsal:

Dobry den,

zkousim testovaci provoz s M-ID: M1MIPS4898 a mam problem s verifikaci odpovedi. K verifikaci pouzivam klic mips_iplatebnibrana.csob.cz.pub. Zkousel jsem ho prejmenovat, abych mel jistotu, ze kod skutecne bere ten klic a je to tak, po prejmenovani vyhodi exception, ze ho neumi najit. Klic jsem vytvoril zkopirovanim obsahu jeho souboru z GitHubu, pac jsem nenasel primy download. Jelikoz jde ale pouze o textak, nemyslim, ze by mohl byt problem v tomto. Prosel jsem github, zda nekdo mel stejny problem, a vesmes vsechno ostatni bylo zpusobeno pouzitim spatneho klice. Tohle by ale melo byt v poradku.

Prikladam volani ECHO GET a ECHO POST. Muzete mi s tim prosim nejak pomoct? Dekuji, PJ

Prepared echo_POST request: { "merchantId": "M1MIPS4898", "dttm": "20181122152923", "signature": "ZF1k9lxDgp9JDXlo+6ddE86pcPnv9fx7zAm6DrVqPQnc50lIWxoJYyaTGNt1wEd4JDrLthATtjgoAJ8WsWMlGLXunxqkdydbI7wxG/OkmektULhyQ9U6MhIUKgwksPVZ0pDXOa5v2vRO3d6QPoWTH7jog3YXbivCg2zc8JB9JVOb8DGV9J2h0Kj5JNky6uVZYx9C9/KWPWfOkRJh0j+39VvCUhconLEcAQfozKk5VrovVq3sqgb25oLydbuwI8qxdw5yA47EOtcxLQsmpwUkHv78wKdFXHqf+Lqndsgw3JBCEo2MloHfH2xS57N0RBibnqWUlISQSsDXjkvPn1xoBg==" }

Echo POST result: {"dttm":"20181122152923","signature":"aJlZjg9dp8RU6Crd9kZ1POQSnlgJPGtB21PvyoSNChYQr2sy3FVNcYWDp2pdmOHXw2OP7zTOnukEKDgHf54BHTdmwb5CjyaXNCNdVWH/rnkZhLhI1iFpZrCUHmI984uKGR+emd8Bc2IR5zJogg1IZXOsRdbCEG39kyck9FH5TwPcenMEeLCXDVIGwjftbNvyJm2ehthpSJtEZa07HkKHLKpiX6SruiI6soVQTEIrAVOgzRHCSoCBXuP5YahXqyhVz/VND04eUh+Qu4Oc3+Njc9nluWpgaZ7Xo3LMfI2XcipUOiO3ft7e1/hAgwW/XlgrYmJgwiYsTaMdpOInGGyC1Q==","resultCode":0,"resultMessage":"OK"}

Echo POST failed, unable to verify signature

URL: https://iapi.iplatebnibrana.csob.cz/api/v1.7/echo/M1MIPS4898/20181122153008/TTtBqYaONdTFwQCPjcHwUfuDS7rUOkkJRwlwymSJwGRcxL%2FbaBdjXJBWg9gvj66g7mpG%2FuP0QgKq%2Fgcn7vJ%2BxvnODXW5i6X1HdxKDfyzX97vQc1aAoQnKrajVRQBY2RJfjue83U66PpM1%2F%2FhUEgJriFxquzqe3giGwrJBRTh%2BQnU58xzFBjVyyh1q9GIOACZ3A9Dk98%2BZWSrq4sQvrsD0jvaTYJ%2BwkWZdSxfN2swLHJtLb1zksVZiIYxBgAaTu4IdStkoHLrgcLO7IxMLXsvijZhlPVwpz%2Bqvx2nW41McCXr7NdWXmzb25sA%2Bb3eP9l2Y2ZqOpmtFohVhDohqIPvmg%3D%3D

Echo GET result: {"dttm":"20181122153009","signature":"swdNiQUAvUCvAveiwwQ01iLp9d9dxBTbwdjEFa4R60ujRoAqqFr/z5zhwlwWxbBChZvlqwSUrioCZZP5CVhiNFZ5XzvKbBxsKZm4/L7g4bWQtFmtONJca3ZKmmSb5vD2GiThyOUv3NwrgHakzAs2d04vkkA9hOnR8a+hZnBZvLa7X5o5x9KQGlUow3dSbpIrN/ZJNh5+5KLO2IF67F4U/dud8G1wjfWYLxwKs6QBLr8lLVb0LPvGM83AZQMjd2VHLBH67DnVooJR56RWnaLmTQdcyFqD5mneh1wd/u8Wp1XM7abztdKctKhO+tz3DDW7hSwOHJ56/6+0SCAC4jMleQ==","resultCode":0,"resultMessage":"OK"}

Echo GET failed, unable to verify signature

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/csob/paymentgateway/issues/411, or mute the thread https://github.com/notifications/unsubscribe-auth/AqtLGwkA4Z7Xv7cBnjVw-QMGMuJvxeJsks5uxrUYgaJpZM4YvdJO .

pepetko007 commented 5 years ago

Dobry vecer, pokud se nepletu, tak svym privatnim klicem (.key) podepisuji sve pozadavky a ty zasilam na branu, kde jsou validovany mym verejnym klicem (.pub) - proto se ten klic na server zasila. Naopak, odpoved by mela byt podepsana privatnim klicem banky a na me strane by mela byt verifikovana verejnym klicem banky (mips_iplatebnibrana.csob.cz.pub).. U me nefunguje verifikace te odpovedi.. (viz vyse prilozene pozadavky i odpovedi).

mrazekl commented 5 years ago

Dobrý den,

pro úspěšné ověření je zapotřebí Váš privátní(private) klíč(uložený v PC) a veřejný(public) odeslaný do banky při generování. Dále je potřeba, aby jste měl uložený veřejný klíč BANKY, stažený z GitHubu. Vidím, že již Vám objednávky úspěšně prochází a tudíž předpokládám, že se Vám problém s podpisem podařilo vyřešit. Můžeme téma uzavřít?

pepetko007 commented 5 years ago

Dobry den,

no muj problem souvisi s overenim odpovedi banky a verejnym klicem.. To overeni je porad false a ted nevim, kde je problem. Dokazete zkontrolovat z odpovedi v mem prvnim postu, zda to u vas nejakym toolem projde jako validni? Souvisi podpis response nejak s requestem a jeho podpisem? Nebo je response podepisovan nezavisle od requestu a mel by byt tedy bez problemu validovany verejnym klicem mips_iplatebnibrana.csob.cz.pub?

Je toto spravny obsah verejneho klice CSOB v testovacim prostredi?

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuo0GzBCQMl1wDJJrJHTQ
ykGlh2Kon7QfQjKVTPv7fPIVE8PhHeJueWBfydqTQKVeIVMB9VAUYlaPjwFhAuJ6
zqoaCG9m+q81L7CehsQThntxacOPwRd4SSyS5o+kPzTIFji0Z3c8s6pYJJoF+YfE
atCWRW2frgrgbHbl+84AOvItt7NReYz1z4P7J+Uv4UbifFHVP7oIEh+5CJSj6puv
jHh1QHrzE+dTaoKDhtOfSkTTelHqod/hUt4QIcHai6I8X/R5nEv3y40MWoi1FxbQ
6IgtVMloneN0XaHR5U88eMeKJJyqR859I4xfun6Z6RyfyaIl5Ph3f2daeMeENPUR
BQIDAQAB
-----END PUBLIC KEY-----
mrazekl commented 5 years ago

Ano, toto je veřejný klíč banky pro testovací prostředí. Na metodu echo dostáváte validní odpověď, ze které je patrné, že je vše v pořádku, viz. dokumentace: https://github.com/csob/paymentgateway/wiki/eAPI-1.6#n%C3%A1vratov%C3%A9-hodnoty-4 Pokud by nebyl podpis validní, vrátila by se vám jiná hodnota a nebylo by možné přesměrování na platební bránu a dokončit objednávky, které již máte úspěšně autorizované. Odpověď "Echo GET failed, unable to verify signature" není odpověď platební brány, je zřejmě záležitostí vašeho clienta.

pepetko007 commented 5 years ago

Ano, ta hlaska je moje vlastni pri validaci odpovedi brany. OK, zkusim jeste jednou checknout kod. Diky, PJ