如何调试,当使用openssl_verify()时返回false


How can I debug,when use openssl_verify() return false?

我使用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,我在谷歌上搜索了一整天,但没有答案。你能给我一些建议吗。

PS:var $public_key是RSA的公钥,我查了一下,是resource(1183) of type (OpenSSL key)

首先,您必须保持public_peky.pem是正确的。然后关于var $sign_data,考虑是否执行一次甚至两次urldecode()。关于var $sign,它总是需要做base64_decode()