函式:openssl_pkcs12_export_to_file()
適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
用法:openssl_pkcs12_export_to_file ( mixed $x509 , string $filename , mixed $priv_key , string $pass [, array $args ] ) : bool
說明:openssl_pkcs12_export_to_file() 函式將給定的 X.509 證書和私鑰匯出到一個 PKCS#12 檔案中。PKCS#12 檔案通常用於儲存證書和私鑰以及其他相關證書鏈的格式。
引數:
- x509: 公鑰證書。可以是一個 PEM 格式的字串,也可以是一個 X.509 證書資源。
- filename: 匯出的 PKCS#12 檔案的路徑。
- priv_key: 私鑰。可以是一個 PEM 格式的字串,也可以是一個私鑰資源。
- pass: 匯出 PKCS#12 檔案時的密碼。
- args (可選): 一個關聯陣列,用於設定額外的選項。
返回值:成功時返回 true,失敗時返回 false。
示例:
// 匯出證書和私鑰到 PKCS#12 檔案
$x509 = file_get_contents('certificate.pem');
$privateKey = openssl_pkey_get_private('private_key.pem');
$password = 'password';
$filename = 'exported.p12';
$result = openssl_pkcs12_export_to_file($x509, $filename, $privateKey, $password);
if ($result) {
echo 'PKCS#12 檔案匯出成功。';
} else {
echo 'PKCS#12 檔案匯出失敗。';
}
注意事項:
- 傳遞給函式的 x509 和 priv_key 引數可以是 PEM 格式的字串,也可以是對應的資源。
- 匯出的 PKCS#12 檔案通常會加密,因此需要提供一個密碼用於保護檔案。
- 匯出的 PKCS#12 檔案可以使用其他工具進行匯入和使用,如 OpenSSL 命令列工具或其他程式語言的庫。
- 在使用該函式之前,確保已啟用 OpenSSL 擴充套件。可以透過檢查 php.ini 檔案中的
extension=openssl
行來確認是否啟用了該擴充套件。