目前正在尝试读取.pem公钥以通过openssl进行验证.
/**
* Check whether the signed message sent back by the server is
* correct or not.
*/
function check($str, $MAC)
{
$fp = fopen(
dirname(__FILE__) . '/rsa_public_key.pem',
'r'
);
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);
return openssl_verify($str, $MAC, $pubkeyid);
}
话虽如此,在执行我的脚本时,我收到此错误:
openssl_verify():提供的密钥参数不能被强制转换为X行某些/路径中的公钥
最初,我写了这个函数来接受.cer认证.这是对所有这些different key formats之间差异的解释.据我所知.pem类似于.cer,但是,我不能为我的生活弄清楚如何允许我的脚本读取我的.pem文件.
我的问题是 – 为了让我的函数读取这个公钥,我需要做什么?
编辑:在一些谷歌搜索,我已经尝试使用file_get_contents()到特定的路径,但我会收到相同的错误.
可能导致此错误的原因是什么?