我使用PHP验证符号字符串,该字符串是从JAVA发布的,代码如下:
$result = (bool)openssl_verify($sign_data, $sign, $public_key);
openssl_free_key($public_key);
while ($msg = openssl_error_string())
echo $msg . "<br />\n";
var_dump($result);die;
然后我得了一个false
,我用Google搜索了一整天,但没有回答。可以给我一些建议。
PS:var $public_key
是RSA的公钥,我查了一下,是resource(1183) of type (OpenSSL key)
。
答案 0 :(得分:0)
首先,你必须保持public_peky.pem是正确的。然后关于var $sign_data
,想一下做urldecode()
一次甚至两次。关于var $sign
,它总是需要做base64_decode()
。