|
在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证书。 |
|