Сгенерировал ключ программой openssl.exe:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyfFQSZEUlce53iq8CqKq
tRFKkmtn5rrgGk3G/L27nH1tmXxg8egSPJavO+OoS61V7ALBbfffc2srVI/HXBAu
sK1bLLVSQRp3qIvsa/Mqx6vWrujRsCg5Sy5nEaxWEJa6ngRXl3k3LcAG7pOXIr0A
DXlZ3ySdLiNSVX7Ny/0fTv8aqUbSQBweJ16YFTVqer2PEV+xN28Qxd0qhHr32r/I
VSqGtV6md68qhDiJr33in4bvQLtXmp/20N1ACfpU5CyPXMa+QfD2DyyQseHg6TLT
RugZzAW0EgGNUZz/54956U1IjRmpOjSEKusKGheiG4bkfbhlDOPrSlYDgw6CqSKF
UwIDAQAB
-----END PUBLIC KEY-----
Теперь в php коде пытаюсь зашифровать строку, но выводит ошибку, следующего содержания:
openssl_public_encrypt(): key parameter is not a valid public key
Вот код:
$encrypted = '';
$data = "Hello world";
$pk = openssl_get_publickey("../public.pem");
openssl_public_encrypt($data, $encrypted, $pk);
echo chunk_split(base64_encode($encrypted));
Путь к ключу правильный, почему он не валиден? Как исправить?