如何從它基於RSA 364 安裝的crypt(RSA.php)庫中創建PEM文件獲取公鑰仍然得到以下錯誤PHP RSA得到的PEM文件公鑰
致命錯誤:調用未定義的方法Crypt_RSA :: LOADKEY()在C:\ Program Files文件\ Apache軟件基金會\ APACHE2.2 \ htdocs中\ rsa.php
$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';
得到錯誤的致命錯誤:調用未定義的方法PEAR_Error的:: getPublicKey()在C:\ Program Files \ xxxx \ rsa.php
嘗試了同樣的事情openssl_verify。驗證是rturning 0 嘗試使用384 rsa密鑰驗證使用base64_encode收到的標誌。
**$base64DecodedStr = base64_decode("A1a0o8JzF7q12Sr4gJvYjslhg5XVA2fWy28.JyohJ05uyiZGyBpqazqb");
$status = openssl_verify($msg,$base64DecodedStr,$pub_key);**
請幫我解決這個問題。非常感謝。
感謝大衛,我改變了代碼如下$文件= 「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 =新的Crypt_RSA; $ verify_status = $ rsa_obj-> validateSign($ text,$ recieved_signed_sign,$ rsa_pub_key)? '有效':'無效';獲取錯誤爲致命錯誤:調用未定義的方法PEAR_Error :: getPublicKey()在C:\ Program Files \ xxxx \ rsa.php – mazheruddin 2011-01-10 17:44:00