2013-02-20 2 views
1

Я закодировал простой тест, но он отправил мне: «Непроверенный», я думаю, потому что я использую весь сертификат вместо открытого ключа. Какой метод дает мне открытый ключ?как получить открытый ключ с Crypt_RSA

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

линию // здесь может быть НЕПРАВИЛЬНО, указывает на файл открытого ключа – user1873420

+0

Просьба указать пакеты: http://stackoverflow.com/questions/14991887/ how-to-get-public-key-with-crypt – SteAp

+0

SteAP, вы имеете в виду в строке темы? или где, и какой пакет? – user1873420

ответ

1

Ах жаль ваш верификация, попробуйте этот

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

В моем коде, что вы бы назвали $ encrypted_text? переменная $ signature? спасибо за разъяснение – user1873420