查詢

openssl_pkcs12_export()函式—用法及示例

「 將一個PKCS#12格式的證書和私鑰匯出到一個字串中 」


函式名稱:openssl_pkcs12_export()

適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7

函式描述:openssl_pkcs12_export() 函式將一個PKCS#12格式的證書和私鑰匯出到一個字串中。

用法: openssl_pkcs12_export(mixed $x509, string &$out, mixed $priv_key, string $pass [, array $args])

引數說明:

  • $x509:必需,表示X.509證書的資源控制代碼或證書的檔案路徑。
  • &$out:必需,將匯出的PKCS#12格式的證書和私鑰儲存到此字串中。
  • $priv_key:必需,表示私鑰的資源控制代碼或私鑰的檔案路徑。
  • $pass:必需,表示匯出的PKCS#12檔案的密碼。
  • $args:可選,表示一個關聯陣列,用於指定一些可選引數,如加密演算法、金鑰長度等。

返回值:成功時返回 TRUE,失敗時返回 FALSE。

示例:

// 從檔案中載入證書和私鑰
$certFile = 'cert.pem';
$keyFile = 'key.pem';
$passphrase = 'password';

$cert = openssl_x509_read(file_get_contents($certFile));
$key = openssl_pkey_get_private(file_get_contents($keyFile), $passphrase);

// 匯出PKCS#12格式的證書和私鑰到字串
if (openssl_pkcs12_export($cert, $p12, $key, $passphrase)) {
    // 儲存到檔案
    file_put_contents('cert.p12', $p12);
    echo 'PKCS#12證書匯出成功!';
} else {
    echo 'PKCS#12證書匯出失敗!';
}

// 釋放資源
openssl_x509_free($cert);
openssl_pkey_free($key);

注意事項:

  1. 證書和私鑰可以是資源控制代碼或檔案路徑。
  2. 匯出的PKCS#12檔案通常用於將證書和私鑰打包成一個檔案便於傳輸或儲存。
  3. 匯出的PKCS#12檔案需要密碼保護,確保私鑰的安全性。
  4. 匯出的PKCS#12檔案可以透過openssl_pkcs12_read()函式來解析和使用。
  5. 在使用完資源後,應該使用openssl_x509_free()和openssl_pkey_free()函式釋放資源,避免記憶體洩漏。
補充糾錯
熱門PHP函式
分享連結