Php 如何使用Crypt_RSA获取公钥

Php 如何使用Crypt_RSA获取公钥,php,public-key,crypt,phpseclib,Php,Public Key,Crypt,Phpseclib,我编写了一个简单的测试,但它发送给我:“未验证”,我想是因为我使用的是整个证书而不是公钥。什么方法给我公钥 $rsa = new Crypt_RSA(); $rsa->setPassword('here I include password'); $rsa->loadKey(file_get_contents('i.pem')); // private key $plaintext = 'abc'; $rsa->setSignatureMode(CRYPT_RSA_SIGNAT

我编写了一个简单的测试,但它发送给我:“未验证”,我想是因为我使用的是整个证书而不是公钥。什么方法给我公钥

$rsa = new Crypt_RSA();
$rsa->setPassword('here I include password');
$rsa->loadKey(file_get_contents('i.pem')); // private key
$plaintext = 'abc';
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
$signature = $rsa->sign($plaintext);
//now the verification
$rsa->loadKey(file_get_contents('instancia_ope.crt')); //here maybe WRONG
echo $rsa->verify($plaintext, $signature) ? 'Verified' : 'Unverified';

啊,很抱歉你的验证,试试这个

$rsa->loadKey($rsa->getPublicKey()); 
echo $rsa->verify($plaintext, $signature) ? 'Verified' : 'Unverified';

啊,很抱歉你的验证,试试这个

$rsa->loadKey($rsa->getPublicKey()); 
echo $rsa->verify($plaintext, $signature) ? 'Verified' : 'Unverified';

行//此处可能错误,表示公钥文件请提及packages:SteAP,您的意思是在主题行中?或者在哪里,什么包裹?@SteAp是一个梨子包裹。如果你不知道它是什么,谷歌它,你可能不应该回答。我知道这个事实。尽管如此,我还是建议始终包括参考资料,因为这将有助于愿意回答问题的人。不再维护PEAR包迁移到phpseclib行//此处可能错误,表示公钥文件请提及包:SteAP,您的意思是在主题行中?或者在哪里,什么包裹?@SteAp是一个梨子包裹。如果你不知道它是什么,谷歌它,你可能不应该回答。我知道这个事实。尽管如此,我还是建议始终包括参考资料,因为这将有助于愿意回答问题的人。在我的代码中不再维护迁移到phpseclib的PEAR包您提到的$encrypted_文本是什么?$signature变量?谢谢你在我的代码中澄清你提到的$encrypted_文本是什么?$signature变量?谢谢你的澄清