如何使用PHP将PFX转换为CRT和PEM?



如何使用 PHP OpenSSL 函数将 .pfx(PKCS12 或 .p12(证书转换为 .crt 和 .pem,因此我避免使用命令行工具,这些工具在我的公共服务器上是不允许的。

<?php
$res = [];
$openSSL = openssl_pkcs12_read($pkcs12, $res, $cert_password);
if(!$openSSL) {
throw new ClientException("Error: ".openssl_error_string());
}
// this is the CER FILE
file_put_contents('CERT.cer', $res['pkey'].$res['cert'].implode('', $res['extracerts']));
// this is the PEM FILE
$cert = $res['cert'].implode('', $res['extracerts']);
file_put_contents('KEY.pem', $cert);

最新更新