Aar*_*ino 4 php security openssl digital-signature
我正在使用第三方信用卡处理服务(Paybox),在成功交易后,重定向回网站,并在URL中签名作为安全措施,以防止人们操纵数据.它应该证明请求源自此服务.所以我的成功URL看起来像这样:
/success.php?signature=[HUGE HASH]
我不知道从哪里开始验证这个签名.这项服务确实提供了一个公钥,我认为我需要创建一个私钥,但除此之外我不知道.
我对linux非常好,我知道我必须运行一些openssl命令.我正在用PHP编写验证脚本,它也有本机openssl()函数.
如果有人能用一些伪代码甚至功能代码向我推进正确的方向,我将非常感激.谢谢.
小智 5
这是我的代码,它对我有用.希望我能帮助你.
$sign = "28E5FA795590066E8402B529DB027B8D082A226BE6E53F80D41F763207A11EF9..."; // inline signature. I'm using SHA512
$cert = "your certification"; // ------BEGIN..... END..----
$data = "text"; // 64 charactor for SHA512. It's raw data, not hashed data
$pubkeyid = openssl_pkey_get_public($cert);
$ok = openssl_verify($data, hex2bin($sign), $pubkeyid,OPENSSL_ALGO_SHA512);
if($ok==1) return "Verify"; else return "Unverify";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9939 次 |
| 最近记录: |