【问题标题】:how to get public key with Crypt_RSA如何使用 Crypt_RSA 获取公钥
【发布时间】:2013-02-06 03:57:12
【问题描述】:

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

$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';

【问题讨论】:

  • 行//这里可能是错的,表示公钥文件
  • SteAP,你的意思是在主题行中?或者在哪里,什么包?
  • @SteAp 是一个梨包。如果你不知道它是什么,谷歌它,你可能不应该回答。
  • 我知道这个事实。不过,我建议始终包含参考资料——因为这会帮助想要回答的人。不再维护 PEAR 包 pear.php.net/package/Crypt_RSA 迁移到 phpseclib phpseclib.sourceforge.net

标签: php public-key crypt phpseclib


【解决方案1】:

对不起,您的验证,试试这个

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

【讨论】:

  • 在我的代码中,您提到的 $encrypted_text 是什么? $signature 变量?感谢澄清
猜你喜欢
  • 2012-01-02
  • 2012-05-08
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 2017-04-02
  • 2012-01-02
  • 1970-01-01
相关资源
最近更新 更多