Edit report at https://bugs.php.net/bug.php?id=61203&edit=1
ID: 61203 Updated by: paj...@php.net Reported by: w3ricardo-php at yahoo dot com Summary: RSA encryption fails without padding -Status: Open +Status: Assigned Type: Bug Package: OpenSSL related Operating System: Windows 7 Professional 32 bits PHP Version: 5.3.10 -Assigned To: +Assigned To: ab Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2012-02-28 18:15:18] w3ricardo-php at yahoo dot com If you provide the data with the correct size, by appending "\0"s for example, the function works. Now it's obvious, after two days of work. Maybe the documentation should address that. ------------------------------------------------------------------------ [2012-02-28 16:42:22] w3ricardo-php at yahoo dot com Description: ------------ openssl_public_encrypt fails with the argument OPENSSL_NO_PADDING. Without it, it works fine. Test script: --------------- $configargs = array ("private_key_bits" => 4096, "private_key_type" => OPENSSL_KEYTYPE_RSA, "encrypt_key" => false); $key = openssl_pkey_new($configargs); $details = openssl_pkey_get_details($pubkey); $pubkey = $details['key']; $r = openssl_public_encrypt("This is a test", $crypted, $pubkey, OPENSSL_NO_PADDING); if ($r) { echo "encrypt no padding: true\n"; } else { echo "encrypt no padding: false\n"; $r = openssl_public_encrypt("This is a test", $crypted, $pubkey); if ($r) { echo "encrypt with padding: true\n"; } else { echo "encrypt with padding: false\n"; } } Expected result: ---------------- encrypt no padding: true Actual result: -------------- encrypt no padding: false encrypt with padding: true ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61203&edit=1