📅  最后修改于: 2023-12-03 15:33:30.687000             🧑  作者: Mango
openssl_pkcs12_export_to_file()
函数用于将cert和private key打成.pfx
文件存储,以方便导入到操作系统或浏览器中。可用于HTTPS客户端身份认证和服务器身份认证。
bool openssl_pkcs12_export_to_file(
string $cert,
string $filename,
mixed $private_key,
string $pass,
array $args = [],
int $flags = PKCS12_DEFAULT_FLAGS
)
$cert
: 证书内容,也可以是证书文件路径。$filename
: 生成的.pfx文件路径。$private_key
: 私钥,可以是私钥内容,也可以是私钥文件路径。$pass
: 密码。$args
: 额外参数数组。$flags
: 标记位,可以省略,默认使用PKCS12_DEFAULT_FLAGS
标记。成功返回true
,否则返回false
。
// 生成pfx文件
$cert = file_get_contents('cert.pem');
$private_key = file_get_contents('private_key.pem');
openssl_pkcs12_export_to_file($cert, 'client.pfx', $private_key, 'secret');
// 使用pfx文件进行客户端SSL验证
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://example.com');
curl_setopt($curl, CURLOPT_SSLCERTTYPE, 'P12');
curl_setopt($curl, CURLOPT_SSLCERT, 'client.pfx');
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, 'secret');
$result = curl_exec($curl);
curl_close($curl);
openssl_pkcs12_export_to_file()
函数是进行客户端或服务器端SSL认证时必不可少的一个函数,通过使用该函数可以将证书和私钥打包成一个.pfx文件,便于在不同的操作系统或浏览器中导入,以达到客户端或服务器端认证的目的。