RSA расшифровывает сгенерированное сообщение Crypto++ в PHP

Я сгенерировал пару открытых/закрытых ключей с помощью Crypto++ и зашифровал пароль на стороне клиента с помощью Crypto++ (RSAES_OAEP_SHA_Encryptor), а затем закодировал его в base64. Теперь я хотел бы декодировать его в PHP-скрипте на стороне сервера (через phpseclib). Закрытый ключ имеет формат "MIIEuwIBADANBgkqhkiG9w0BAQ...." (без разрывов), затем я форматирую его так:

static $BEGIN_MARKER = "-----BEGIN RSA PRIVATE KEY-----";
static $END_MARKER = "-----END RSA PRIVATE KEY-----";
$pem = $BEGIN_MARKER . "\n";
$pem .= chunk_split($key, 64, "\n");
$pem .= $END_MARKER . "\n";

перед загрузкой с помощью:

$rsa->loadKey($pem,CRYPT_RSA_PRIVATE_FORMAT_PKCS1);

который, кажется, работает. Но расшифровка сообщения через:

$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_OAEP);
$plaintext = $rsa->decrypt(base64_decode($input));

выдает просто пустую строку. Никаких ошибок не дают.

У меня есть аналогичный обработчик ASP.Net С#, который может без проблем декодировать сообщение...

Есть идеи ?


person Robert    schedule 12.12.2011    source источник


Ответы (1)


Я использовал дистрибутив 0.2.2 phpseclib, затем попробовал SVN-главу phpseclib, и он отлично работает :)

person Robert    schedule 13.12.2011