| Новости | 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);
?>