Valentin
Новичок
Помогите с проверкой запроса ключём шлюза по OpenSSL.
Я правильно понял? У меня есть публичный ключ клиента, который мне присылает запроc. Например: server.crt. В POST запросе клиент мне передаёт данные и подпись $_POST["Signature"]. Чтобы проверить эту подпись, я открываю ключ Server.crt, формирую данные $data (тоже для проверки запроса), и ключ $pubkeyid;
Получается:
base64_decode - для перевода подписи в бинарный формат.
что тут не так...
Подскажите пожалуйста. Заранее спасибо.
Я правильно понял? У меня есть публичный ключ клиента, который мне присылает запроc. Например: server.crt. В POST запросе клиент мне передаёт данные и подпись $_POST["Signature"]. Чтобы проверить эту подпись, я открываю ключ Server.crt, формирую данные $data (тоже для проверки запроса), и ключ $pubkeyid;
Код:
<?php
$fp = fopen("server.crt", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);
// Проверка подписи
$ok = openssl_verify($data, base64_decode($_POST["Signature"]), $pubkeyid);
?>
Код:
$ok == 0 // $error = "Incorrect signature
что тут не так...
Подскажите пожалуйста. Заранее спасибо.
