PHP rsa gePublicKey from.pem文件
可能重复:PHP rsa gePublicKey from.pem文件,php,rsa,Php,Rsa,可能重复: 尝试使用以下代码验证收到的签名。 $file = "C:\key_file.pem"; $keypair = Crypt_RSA_KeyPair::fromPEMString(file_get_contents($file)); $public_key = $keypair->getPublicKey(); $rsa_pub_key = Crypt_RSA_Key::fromString($public_key->toString()); $rsa_obj =
尝试使用以下代码验证收到的签名。
$file = "C:\key_file.pem";
$keypair = Crypt_RSA_KeyPair::fromPEMString(file_get_contents($file));
$public_key = $keypair->getPublicKey();
$rsa_pub_key = Crypt_RSA_Key::fromString($public_key->toString());
$rsa_obj = new Crypt_RSA;
$verify_status = $rsa_obj->validateSign($text,$recieved_signed_sign, $rsa_pub_key) ? 'valid' : 'invalid';
将错误获取为
致命错误:调用C:\Program Files\xxxx\rsa.php中未定义的方法PEAR\u error::getPublicKey()看起来您只是没有安装PEAR包 为此,您必须安装php pear,然后使用它安装软件包 在debian basted系统上,这通常只是一个操作问题
sudo apt-get install php-pear
sudo pear i Crypt_RSA
在窗户上,我不能告诉你,但我相信你可以很快
我还认为您使用的then函数需要一个全新的版本,因此您可能需要升级pear并使用-f开关更新插件。我的建议是:不要使用pear的Crypt_RSA,而是使用phpseclib的Crypt_RSA PEAR的Crypt#u RSA与PKCS#1不兼容,这意味着用它生成的签名或密码将无法与其他语言进行互操作,它不支持密码私钥,并且多年来没有得到有效维护 有关phpseclib的更多信息: 请不要发布重复的内容。