Reputation: 2389
I have generated a public/private keypair with Crypto++, and I encode a password on the client side with Crypto++ (RSAES_OAEP_SHA_Encryptor), then I base64 encode it. Now I'd like to decode it in the server side PHP script (via phpseclib). Private key is on the format "MIIEuwIBADANBgkqhkiG9w0BAQ...." (no breaks), then I format it like:
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";
before loading it with:
$rsa->loadKey($pem,CRYPT_RSA_PRIVATE_FORMAT_PKCS1);
which seems to work. But decoding the message via:
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_OAEP);
$plaintext = $rsa->decrypt(base64_decode($input));
yields just an empty string. No errors are given.
I have a similar ASP.Net C# handler that can decode the message without problems...
Any ideas ?
Upvotes: 1
Views: 452
Reputation: 2389
I was using 0.2.2 distribution of phpseclib, then I tried the SVN head of phpseclib, and it works perfectly :)
Upvotes: 1