在PHP中,你可以使用openssl_pkey_new
和openssl_pkey_export
函數來創建一個密鑰對并將其導出為PEM格式。以下是一個簡單的示例:
<?php
// 生成RSA密鑰對
$privateKey = openssl_pkey_new([
"digest_alg" => "sha256",
"private_key_bits" => 2048,
]);
// 導出私鑰為PEM格式
$privateKeyPem = openssl_pkey_export($privateKey, $privateKeyPem, null, [
"openssl_key_algorithm" => "RSA",
"openssl_key_type" => "private",
]);
if ($privateKeyPem === false) {
die("無法生成私鑰\n");
}
echo "私鑰:\n" . $privateKeyPem . "\n";
// 導出公鑰為PEM格式
$publicKeyPem = openssl_pkey_export($privateKey, $publicKeyPem, null, [
"openssl_key_algorithm" => "RSA",
"openssl_key_type" => "public",
]);
if ($publicKeyPem === false) {
die("無法生成公鑰\n");
}
echo "公鑰:\n" . $publicKeyPem . "\n";
?>
這個示例將生成一個2048位的RSA密鑰對,并將私鑰和公鑰分別導出為PEM格式的字符串。你可以將這些PEM格式的密鑰文件保存到磁盤上,以便在其他地方使用。
請注意,這個示例僅用于演示目的。在實際應用中,你可能需要考慮更多的安全因素,例如密鑰管理、加密和解密等。