|
OPERATION id=071127006641252 checkid=641252 product=5725 value=100.00RUR account=9165556677 timeout=15 cnfmode=1 |
OPERATION[\r\n] id=071127006641252[\r\n] checkid=641252[\r\n] product=5725[\r\n] value=100.00RUR[\r\n] account=9165556677[\r\n] timeout=15[\r\n] cnfmode=1[\r\n] |
Для правильного формирования подписи обязательно необходимо учитывать формат переноса строк и длину текста. Также обратите внимание на завершающий перевод строки в конце подписываемого документа. В данном примере в качестве переноса строки используется сочетание символов \r\n. Длина данного текста - 121. В конце текста - один перевод строки.
-----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQC+gD1T4ytZIvq3OWU3TBc3FNqEN1pCk3bVdRIH7PoE7fSvyjBR dtFdsToPQEIkURuFdqDzdWnkEmA+boFYJ9TUMokbx7RYt5jCGE7/S9/G/6DFCVLF C5I6P2uengppDNBjyWaAiYMkvJLVIo7E+S8Y2GAVrluy/YKvXLVzijBSPwIDAQAB AoGAUEjzj7sZtcNMLpP92EQ1NH2Rak95tr03Q9bG9pgk9pbinIN1wZ91tSrP8UV/ mpakJqdMRc6iBgDIlwczc9e1lc0cSMaYp+IN4J4Td/ZBxG/hdguE8hcL+3GP4h6I aX39yXsLxIlgv/BRvTktVAPNsFFUEvZ6JMbMBlMMLrjeuwECQQD4OgWMXQ+NR5eA b19pOSin+qVb+XALqUJu9lhRvRssv5cUwGKMRGvgRpaEOnJCQ0OP2zOwkfojIuvT 6DcShruhAkEAxHdxjo9kzD4V1Pi+AtDI0IgTUn0OmFdtXQ0ZFO0YbbJ8nekdYqtN JiKFemFmPgrTjMUOYhCBHwdeG18SOs9B3wJBANG7xKBaqR9IVFwyvj0cDJwSDdHu qptPwlAbWXiG/gULRM5F136I+VUgj2DeOVh/mQBdyAjy7pTtlrEPziibKsECQQCL NvQhh5xuWaQQuH2z8wwJMBM5BWKdMn5NTGW0fVktCifhoXjwHOBbIGUi1fekCPnk qxHJDVbhjM/zZ0e8onZTAkEA3quKkqMHnjbDB8f0dhpsl21KfoRrEElvd3PvYW1w KXYxSIA0fBzNLG2DbCPaaiqQYukBOVRRFZbWW5zdg0gbLQ== -----END RSA PRIVATE KEY-----
По алгоритму MD5, в формате base64:
WeOxhkSMlZDXqc1D4a/OQz2875FPPkXRShvxgc/DFEYktX3N1RgI6WqgNSXzqoDlt8MUpu7yFE0bkjC EpWoQXEkaQSUMoalwPS27gHxNooVKB1otpLjEQbqYMywwYf5Yz3NhxQCHgiIfNbdvqbqDKEn0SZV6Bb NXBSunFPPjRew=
По алгоритму MD5, в формате hex:
59e3b186448c9590d7a9cd43e1afce433dbcef914f3e45d14a1bf181cfc3144624b57dcdd51808e 96aa03525f3aa80e5b7c314a6eef2144d1b923084a56a105c491a41250ca1a9703d2dbb807c4da2 854a075a2da4b8c441ba98332c3061fe58cf7361c5008782221f35b76fa9ba832849f449957a05b 357052ba714f3e345ec
На основе пп. 1,2 и 3 Вы можете провести самопроверку используемой Вами процедуры формирования подписи. А именно, Ваша процедура формирования подписи от данных из п.1. c ключем из п.2. должна давать результат из п.3.
Текст из пункта 1 подписывается при помощи закрытого ключа из пункта 2.
Полученная подпись кодируется в base64.
Подпись и длина исходного текста вставляются в соответствующие поля http-заголовка, сам текст (без каких-либо изменений!) присоединяется телом запроса.
Для приведённого примера и ключа http-запрос будет иметь следующий вид:
|
POST https://dealer.e-port.ru/cp/fe HTTP/1.0 Content-type: text/plain; charset=koi8-r Content-length: 121 X-Eport-Auth: point=123; sign=WeOxhkSMlZDXqc1D4a/OQz2875FPPkXRShvxgc/DFEYktX3N1RgI6WqgNSXzqoDlt8MUpu7yFE 0bkjCEpWoQXEkaQSUMoalwPS27gHxNooVKB1otpLjEQbqYMywwYf5Yz3NhxQCHgiIfNbdvqbqDKEn0S ZV6BbNXBSunFPPjRew=; encoding="base64" OPERATION id=071127006641252 checkid=641252 product=5725 value=100.00RUR account=9165556677 timeout=15 cnfmode=1 |