The translation was generated automatically and may contain mistakes
How to check the signature of the answer
The payment system generates a signature response to Request using OpenSSL (RSA ALGORITHM) using a private system key.
When processing the response, you need to verify the authenticity of the signature using the public key that you received when concluding the contract.
To check the response signature:
- 1.decode the signature received in the response field
signature, from BASE64 to binary. - 2.Check the signature with the response data in the field
dataand public key. For example, with OpenSSL:
Call OpenSSL to verify the signature
?2?The command line $ openssl dgst -verify /tmp/rsa.pub -keyform PEM -sha1 -signature /tmp/sign -binary /tmp/data
* `/tmp/rsa.pub` — публичный ключ системы.
* `/tmp/sign` — подпись ответа `signature` в бинарном виде, её нужно декодировать из формата BASE64.
* `/tmp/data` — данные ответа `data` в формате BASE64.
## Пример проверки подписи ответа
**Пример ответа**
```bash
{
"version":"2-03-73","data":"eyJoZWFkZXIiOnsic3RhdHVzIjoiRVJST1IiLCJ0cyI6IjE3MjE2NjM3NTUiLCJlcnJvciI6eyJjb2RlIjoiRVJSX05PVF9GT1VORCIsIm1lc3NhZ2UiOiLQl9Cw0L/RgNC+0YjQtdC90L3QsNGPINGC0YDQsNC90LfQsNC60YbQuNGPINC90LUg0L3QsNC50LTQtdC90LAiLCJlcnJvcl9pZCI6IkUxMDlCMjc4LTQ4NDItMTFFRi05MkU5LUI3NjgyQTAzQTM2RiJ9fX0=","signature":"chlRZXQWloj9ubiKmrxX120+diWRtyS9RxekeVMCJrhdciWe0TD4QAZpfA7R9cCN+GpJLsTDhqBiBpRjXePXOxIJT+fuHICSZiAf6B27KGKsFkgk7aT+YDdaov6IVD1hoHHwY9++vJNi236nbIYRMhYgA6/RiXWCyXcPii8b1SS3eNW/9Nd3CLgFgO5lKZZA0EELnBXAwpRNFxmoLqE1eiSP38aEJhAvZZVn+QAaKx6rsRuc+ht0awQf+62NEb6rXYwtd3YDM0U+ArFPH3v6Y8U25ZEBLd4gat/pu7F741B4VngZCtQrBd6r17xS/64+V+dDaLsOnJaLxWQZ1rObkQ=="
}
Public key example
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv1Q6ogYGK9bNy9MZvx/a
5fYovrdvNLVoFBNMqvBMlcekKx47bpiDR/t00lZqYDEfIwCfA9XSrzmi5Yjio3EV
cjgY0+R0BVXLzdcHuxMMSkqM5JXXaN9WbbblOVS+QyjWIO57slS1fzQ9nEBISvVb
3JSaPKhjY8K2jZ+47GbwIyhT+FpoNF5eC7NApcS95xt4WGsDLNBBFhURtRr+BsgA
nQ4EgwT5ltIpRfHsYn2sSGcKy6slMExQgoXX9McpGPm5TjVsA+n7IXQ4JYLzyklm
gJ3QfQsmT4UtaS/ZT6lRXICvuf7v9eFGmY2u4KVhS4TyBUB7BB/2iCdmda02rxnL
gQIDAQAB
-----END PUBLIC KEY-----
The result of verifying the response signature using the OpenSSL utility
?2?The command line $ openssl dgst -verify /tmp/rsa.pub -keyform PEM -sha1 -signature /tmp/sign -binary /tmp/data Verified OK