PHP编程实现linux环境制作P12证书
Linux使用OpenSSL制作P12证书的语句已知
//创建密钥
openssl genrsa -out ca-key.pem 1024
//创建证书请求
openssl req -new -out ca-req.csr -key ca-key.pem -subj "/C=CN/ST=shandong/L=jinan/O=jn/OU=scb/CN=demain"
//自签署证书
openssl x509 -req -in ca-req.csr -out ca-cert.pem -signkey ca-key.pem -days 3650
//将证书转成浏览器支持的P12格式
openssl pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p12
Linux环境自带OpenSSL
PHP要怎么通过编程实现以上语句
在PHP中,可以使用shell_exec函数来执行命令行命令,因此你可以将上面的命令作为字符串传递给shell_exec函数来实现制作P12证书。
以下是示例代码:
<?php
// 创建密钥
$output = shell_exec('openssl genrsa -out ca-key.pem 1024');
echo $output;
// 创建证书请求
$output = shell_exec('openssl req -new -out ca-req.csr -key ca-key.pem -subj "/C=CN/ST=shandong/L=jinan/O=jn/OU=scb/CN=demain"');
echo $output;
// 自签署证书
$output = shell_exec('openssl x509 -req -in ca-req.csr -out ca-cert.pem -signkey ca-key.pem -days 3650');
echo $output;
// 将证书转成浏览器支持的P12格式
$output = shell_exec('openssl pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p12');
echo $output;
?>
这个脚本将在当前目录下生成一个ca-key.pem文件,用于创建证书请求和自签署证书。然后,它将生成一个证书请求文件ca-req.csr和自签署的证书文件ca-cert.pem。
最后,它将使用openssl pkcs12命令将证书和私钥打包到ca.p12文件中,该文件可以用作浏览器支持的P12格式的证书。