【发布时间】: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