Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Roman 09.01.2006 22:15
Для работы с одной процессинговой конторой, необходимо подписывать запрос ключем. Есть пример в пхп, но хотелось бы больше об этом узнать:<?php // ������������������������������������ $PurchaseTime = date("ymdHis") ; $data = "1751852;;$PurchaseTime;ORDER-2;980;1200;;" ; // ������������������ RSA �������������������������� $fp = fopen("/opt/deploy/certs/1751852.pem", "r"); $priv_key = fread($fp, 8192); fclose($fp); $pkeyid = openssl_get_privatekey($priv_key); // �������������������������������� openssl_sign( $data , $signature, $pkeyid); // free the key from memory openssl_free_key($pkeyid); // ���������������������������������������������� BASE64 , �������������� $signature ���������������������������� // ������������ $b64sign = base64_encode($signature) ; // ������������������������������������������������������ $b64sign ������������������������������������������������ “Signature” ?>Проверка ответа
<?php // $data and $signature are assumed to contain the data and the signature // fetch public key from certificate and ready it $fp = fopen("/opt/deploy/certs/server.crt", "r"); $cert = fread($fp, 8192); fclose($fp); $pubkeyid = openssl_get_publickey($cert); // state whether signature is okay or not $ok = openssl_verify($data, $signature, $pubkeyid); if ($ok == 1) { echo "good"; } elseif ($ok == 0) { echo "bad"; } else { echo "ugly, error checking signature"; } // free the key from memory openssl_free_key($pubkeyid); ?>