#linux

Как создать ключ с помощью php?

// генерируем ключ
$keyResource = openssl_pkey_new([
    'private_key_bits' => 2048,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
]);

echo gettype($keyResource) . PHP_EOL; // resource

// получаем приватный ключ
openssl_pkey_export(
    $keyResource,
    $privateKey
);

echo $privateKey;
// -----BEGIN PRIVATE KEY-----
// MIIEvgIBADANBgkqhkiG9w0BAQEF...
// ...
// -----END PRIVATE KEY-----

// сохраняем приватный ключ в файл
file_put_contents(
    'php-private-key.pem', 
    $privateKey
);

// получаем публичный ключ
$publicKey = openssl_pkey_get_details($keyResource);

echo $publicKey['key'];
// -----BEGIN PUBLIC KEY-----
// MIIBIjANBgkqhkiG9w0BAQEFAAO...
// ...
// -----END PUBLIC KEY-----

// сохраняем публичный ключ в файл
file_put_contents(
    'php-public-key.pem',
    $publicKey['key']
);

Если текст файла в vi выводится таким тёмным цветом, который сливается с фоном, из-за чего теряется читабельность, то нужно выполнить команду, которая это поправит:

:set background=dark

Или прописать в файле ~/.vimrc:

set background=dark

Страницы