csob / platebnibrana

Česká dokumentace ČSOB platební brány a jejího eAPI pro platby platebními kartami, Apple Pay, Google Pay, mallpay a platebními tlačítky ČSOB.
https://platbakartou.csob.cz/platebni-brana
GNU General Public License v3.0
7 stars 1 forks source link

.NET Example selže při vefirikaci response #69

Closed oskrabanek closed 1 month ago

oskrabanek commented 2 months ago

Dobrý den,

používám příklad pro .NET s API 1.9 bez jakýchkoliv změn (kromě aktualizovaných konstant pro merchantId a klíče). Vygeneroval jsem si dva různé merchantId a jejich klíče za použití sandbox keygen, ale při volání Echo metody dostávám výjimku "Invalid signature" z důvodů selhání ověření odpovědi ze serveru.

if (!_cryptoService.Verify(result.ToSign(), result.Signature ?? throw new InvalidOperationException()))
    throw new Exception("Invalid signature");

Tohle je výstup z konsole:

Executing ECHO_GET (Performs ECHO_GET operation.):

2024-08-27 07:12:01.2920|DEBUG|CsobGatewayClientExample.Communication.MipsConnector|url: "https://iapi.iplatebnibrana.csob.cz/api/v1.9/echo/A51662skqI/20240827071201/HqMsArk1zbgJuokYe6qeYiKI36gy69E2a%2frUWPpcrfFT%2fCdSb7zHyAiDynZCxI0S%2fIS5dFjnjPTY5AP6RvBFGvKDGM3jfGa2gD0VdRtJ4rEK%2bqzYytWzzd%2bSCSs0RcrRtjw9A4gtzIvVgth4e%2b%2f9waCug8AyWb%2fiv8mslk2AefHoTzTz2ZRA%2fkdfuoUJJGvDgxQP0gWQBDsZdWXL3Ti6oTdcmmOWvnhkMa1FzOUhpUPi1GZ5Iic31d7NuQoDdeAEixnWmLKEcCtsy2Mjtnj5gxUVt6L2HbxR1717F%2fVPFu2iFv9RQXxpCsbZx8SqP0DkkREYCnNvW9QyYIgP0ZZHsA%3d%3d"
2024-08-27 07:12:01.5456|DEBUG|CsobGatewayClientExample.Communication.MipsConnector|Response: "{"dttm":"20240827071202","signature":"tkKG9Vx44kJvmWwkcT1wUo+Ube+oK1j3V0zXX1DjHC4HJsKT2XPAzn4CCMSt++E85Gq+g+4Fm86Q06xeHH6bP9kFir5CbyfxDHrZIYNvyQddnQaFQPiaMy37YdgzGCVkKUoMP5jbHeS9c1IkxzHn9QeJ3DX9AejYEd0a+HlkW6IkTDQGUk8DkENpxmAsp2VsXhdmN1wTLvhdEu6AH0nOc6ywQALR3v6rwRStk3YJjDRgWKs1umJudFybk9U03DlmKO2wvpOLo84UiXdJAfXReumo9sWnTkZA7BBEsu6oCM+oIqWrMz+exWrZQGcfiVlUSG12E1KQP5IandO8Zz7B+g==","resultCode":0,"resultMessage":"OK"}"

A veřejný klíč má tuto hodnotu:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtCvVB20tRouZ/HkZu3ft
DXbXSSlLzgZhNbnbuSaXUtK5whNhFWAIkVrrrjNu/KlcWAq+mm4IeZ9gUC36d0/e
GzrGJgiw3XuZOM9kYMw+vanq9s86ZNLe9sXC935b+kOQrUnwRgQ/mUfAsrvV/voT
b0LbFTcBsB/rW+1vULck9fLBs4K+m0AL7t+om/1thenqczMUCNSKo5KhbmUfA9kq
TRu84z6gOiMAjgJDHn+BS7W0DJ7Hn8N6+zrVs6W2YGQ8pygd4/klLO+czygzqy3w
ArapmPGZt4TDIw3Xf96mN3ppuL0kT8jiwUqoMmvHJXX0faTRl4HvwAS3QMLWj3ql
ZwIDAQAB
-----END PUBLIC KEY-----

Můžete prosím pomoct zjistit, kde je problém?

jgrmelova commented 2 months ago

Dobrý den,

využíváte pro dešifrování odpovědi veřejný certifikát banky pro integrační prostředí: mips_iplatebnibrana.csob.cz.cer?

Veřejné certifikáty banky pro integrační i produkční prostředí naleznete zde: https://github.com/csob/platebnibrana/tree/main/keys

Pro integrační prostředí jsou určeny certifikáty obsahující "i".


Jana Grmelová IT administrátor

oskrabanek commented 1 month ago

Omlouvám se, moje chyba. Nedošlo mi, že k ověření odpovědi je třeba použít ČSOB veřejný klíč. Děkuji