查詢

openssl_pkey_get_private()函式—用法及示例

「 從檔案或字串中獲取私鑰 」


函式名稱:openssl_pkey_get_private()

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

函式描述:openssl_pkey_get_private() 函式用於從檔案或字串中獲取私鑰。

用法: openssl_pkey_get_private(mixed $private_key [, string $passphrase = ""])

引數:

  • $private_key:私鑰,可以是包含檔案路徑的字串,或者是私鑰的字串表示。
  • $passphrase(可選):私鑰的密碼,如果私鑰被加密的話。

返回值: 成功時返回一個資源識別符號,代表了私鑰。失敗時返回 FALSE。

示例:

  1. 從檔案中獲取私鑰:
$private_key = openssl_pkey_get_private('private_key.pem');
if (!$private_key) {
    die('私鑰載入失敗');
}

// 使用私鑰進行加密或解密操作
// ...

// 釋放私鑰資源
openssl_free_key($private_key);
  1. 從字串中獲取私鑰:
$private_key_str = "-----BEGIN PRIVATE KEY-----\n
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDVlPj0N2sJXJG1\n
...
9xJw1R0g3T4w4z7M6qk3n4w==\n
-----END PRIVATE KEY-----\n";

$private_key = openssl_pkey_get_private($private_key_str);
if (!$private_key) {
    die('私鑰載入失敗');
}

// 使用私鑰進行加密或解密操作
// ...

// 釋放私鑰資源
openssl_free_key($private_key);

注意事項:

  • 私鑰可以是 PEM 格式或 DER 格式,但 PEM 格式要求包含包圍私鑰的 "-----BEGIN PRIVATE KEY-----" 和 "-----END PRIVATE KEY-----" 標記。
  • 如果私鑰被加密,需要提供 $passphrase 引數來解密私鑰。
  • 使用完私鑰後,應該呼叫 openssl_free_key() 函式釋放資源,以避免記憶體洩漏。
補充糾錯
熱門PHP函式
分享連結