RSA расшифровывает сгенерированное Crypto ++ сообщение в PHP - PullRequest
1 голос
/ 13 декабря 2011

Я сгенерировал пару открытых / закрытых ключей с помощью 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 C #, который может без проблем декодировать сообщение ...

Есть идеи?

1 Ответ

1 голос
/ 13 декабря 2011

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

...