Req #76016 [Opn->Csd]: EC keys not supported
| From: | nexwo at outlook dot com | Date: | Fri, 02 Mar 2018 13:52:42 +0000 |
| Subject: | Req #76016 [Opn->Csd]: EC keys not supported | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-214180@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76016&edit=1
ID: 76016
User updated by: nexwo at outlook dot com
Reported by: nexwo at outlook dot com
Summary: EC keys not supported
-Status: Open
+Status: Closed
Type: Feature/Change Request
Package: OpenSSL related
Operating System: Windows 7
PHP Version: 7.2.2
Block user comment: N
Private report: N
New Comment:
OpenSSL not support ECIES!
Previous Comments:
------------------------------------------------------------------------
[2018-02-27 10:06:48] nexwo at outlook dot com
Description:
------------
---
From manual page: http://www.php.net/function.openssl-public-encrypt
---
Encrypt and decrypt don't work with EC keys.
Test script:
---------------
<?php
//openssl ecparam -name brainpoolP256r1 -genkey -noout -out ecprivkey.pem -param_enc explicit
//openssl ec -in ecprivkey.pem -pubout -out ecpubkey.pem
$privKeyString = "-----BEGIN EC PRIVATE KEY-----
MIIBUQIBAQQgN/imi4nGz/SJU7eB+XnFqja0Kns77jnvs9aZOT9cVHmggeMwgeAC
AQEwLAYHKoZIzj0BAQIhAKn7V9uh7qm8PmYKkJ2DjXJuO/Yj1SYgKCATSB0fblN3
MEQEIH1aCXX8LDBX7vZ1MEF6/+f7gFXBJtxcbOlKS0TzMLXZBCAm3Fxs6UpLRPMw
tdm713y/lYQWKVz34c5rzNwY/4wHtgRBBIvSrrnLflfLLEtIL/yBt6+53ifh470j
wjpEU72azjJiVH74NcPaxP2X+EYaFGEdycJ3RRMt7Y5UXB1Uxy8EaZcCIQCp+1fb
oe6pvD5mCpCdg41xjDl6o7VhpveQHg6Cl0hWpwIBAaFEA0IABJVkuTOWfb0IwE81
QepvTisqiCEdT6YnGsX7NbS4bwNEOrRJ/qdMxX3uwxATvg4ZtltbUENsEbzOVY5W
npwGRzw=
-----END EC PRIVATE KEY-----";
$pubKeyString = "-----BEGIN PUBLIC KEY-----
MIIBMzCB7AYHKoZIzj0CATCB4AIBATAsBgcqhkjOPQEBAiEAqftX26Huqbw+ZgqQ
nYONcm479iPVJiAoIBNIHR9uU3cwRAQgfVoJdfwsMFfu9nUwQXr/5/uAVcEm3Fxs
6UpLRPMwtdkEICbcXGzpSktE8zC12bvXfL+VhBYpXPfhzmvM3Bj/jAe2BEEEi9Ku
uct+V8ssS0gv/IG3r7neJ+HjvSPCOkRTvZrOMmJUfvg1w9rE/Zf4RhoUYR3JwndF
Ey3tjlRcHVTHLwRplwIhAKn7V9uh7qm8PmYKkJ2DjXGMOXqjtWGm95AeDoKXSFan
AgEBA0IABKDy7MQoapZryIVWzzv/ctOoAOabi+rcgpdML3q6Jw3zjHpp5/E7tfBa
4LmXZn3ioAXYBvlGnvneltTu1/muIrg=
-----END PUBLIC KEY-----";
$privKey = openssl_pkey_get_private($privKeyString);
// Extract the public key from $res to $pubKey
$pubKey = openssl_pkey_get_public($pubKeyString);
$data = 'plaintext data goes here';
// Encrypt the data to $encrypted using the public key
openssl_public_decrypt($data, $encrypted, $pubKey);
// Decrypt the data using the private key and store the results in $decrypted
openssl_private_decrypt($encrypted, $decrypted, $privKey);
echo $decrypted;
?>
Expected result:
----------------
plaintext data goes here
Actual result:
--------------
PHP Warning: openssl_public_decrypt(): key type not supported in this PHP build! in C:\test.php on
line 32
PHP Warning: openssl_private_decrypt(): key type not supported in this PHP build! in C:\test.php on
line 35
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76016&edit=1