Я только что написал простую функцию PHP, которая генерирует пару открытого ключа и личного ключа.
Локально работает отлично. Но в Google App Engine он не создает пары ключей. Я проверяю, что все необходимые функции PHP существуют в GAE. Но почему это не генерирует пару ключей. Локально я использовал PHP7.1 и в GAE PHP версии 5.5.38. Также openssl
включен в GAE. Есть намеки? Должен ли я использовать любые другие подобные методы для генерации пары ключей, пока мое приложение будет в GAE?
<?php
var_dump(function_exists("openssl_pkey_new"));
var_dump(function_exists("openssl_pkey_export"));
var_dump(function_exists("openssl_pkey_get_details"));function generateKeyPair($config = [])
{
$defaultConfig = array(
"digest_alg" => "sha512",
"private_key_bits" => 4096,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);
$config = array_merge($defaultConfig, $config);
$res = openssl_pkey_new($config);
openssl_pkey_export($res, $privateKey);
$publicKey = openssl_pkey_get_details($res);
$publicKey = $publicKey["key"];
return $key = [
'private_key' => $privateKey,
'public_key' => $publicKey
];
}
/**
* Locally it works well. But in Google App Engine
*
* Output: bool(true) bool(true) bool(true) array ('private_key' => NULL, 'public_key' => NULL)
*/
var_export(generateKeyPair());
Задача ещё не решена.
Других решений пока нет …