要使用PHP的openssl_pkey_new()函數創建SSL證書,您需要遵循以下步驟:
安裝PHP OpenSSL擴展:確保已在您的服務器上安裝并啟用了PHP的OpenSSL擴展。這通常是默認啟用的。您可以通過運行php -m | grep openssl
來檢查它是否已啟用。
創建一個PHP腳本文件:創建一個新的PHP文件(例如:create_ssl_certificate.php),并在其中編寫以下代碼:
<?php
// 生成私鑰
$privateKey = openssl_pkey_new(array(
"private_key_bits" => 2048, // 密鑰長度
"private_key_type" => OPENSSL_KEYTYPE_RSA, // 密鑰類型
));
if (!$privateKey) {
die("無法生成私鑰");
}
// 生成公鑰
$publicKey = openssl_pkey_get_details($privateKey);
$publicKey = $publicKey["key"];
// 創建自簽名證書
$dn = array(
"countryName" => "CN",
"stateOrProvinceName" => "Beijing",
"localityName" => "Beijing",
"organizationName" => "My Organization",
"organizationalUnitName" => "IT Department",
"commonName" => "example.com",
"emailAddress" => "admin@example.com"
);
$csr = openssl_csr_new($dn, $privateKey);
$sscert = openssl_csr_sign($csr, null, $privateKey, 365);
// 將證書和私鑰保存到文件
openssl_x509_export_to_file($sscert, "certificate.crt");
file_put_contents("private_key.pem", $privateKey);
echo "SSL證書和私鑰已創建!";
?>
php create_ssl_certificate.php
請注意,此示例創建的是自簽名證書,因此在某些情況下可能不被信任。要獲得受信任的證書,您需要向證書頒發機構(CA)提交證書簽名請求(CSR)。