shiy720 发表于 2024-6-30 16:57:51

利用PHP生成ssl证书

在PHP中,可以使用openssl扩展来生成SSL证书。以下是一个简单的示例,展示了如何生成一个自签名的SSL证书
<?php
// 设置证书文件路径
$certPath = 'path/to/your/cert.pem';
$keyPath = 'path/to/your/private.key';
$passphrase = 'your_passphrase';

// 生成私钥
$privateKey = openssl_pkey_new();

// 生成证书签名请求(CSR)
$dn = [
    "countryName" => "CN",
    "stateOrProvinceName" => "GuangDong",
    "localityName" => "ShenZhen",
    "organizationName" => "YourOrganization",
    "organizationalUnitName" => "YourDepartment",
    "commonName" => "yourdomain.com",
    "emailAddress" => "admin@yourdomain.com"
];

openssl_csr_new($dn, $csr, $privateKey);

// 自签名
openssl_csr_sign($csr, $cert, $privateKey, 365, $dn, $privateKey);

// 写入文件
file_put_contents($certPath, $cert);
openssl_pkey_export_to_file($privateKey, $keyPath, $passphrase);

echo "SSL证书和私钥已生成。\n";
?>

确保替换$certPath和$keyPath变量中的路径为你想要保存证书和私钥的实际路径。$passphrase是一个密码,用于在之后加载私钥时进行保护。

请注意,自签名证书不会被浏览器信任,通常用于内部或测试环境。为了在生产环境中使用,需要从证书颁发机构(CA)获取有效的SSL证书。
页: [1]
查看完整版本: 利用PHP生成ssl证书