查詢

openssl_pkey_get_public()函式—用法及示例

「 從證書中獲取公鑰 」


函式名:openssl_pkey_get_public()

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

用法:openssl_pkey_get_public(string $certificate): resource|false

說明:openssl_pkey_get_public() 函式用於從證書中獲取公鑰。它將讀取指定的證書檔案,並返回一個資源型別的公鑰識別符號,如果失敗則返回 false。

引數:

  • $certificate:證書的路徑或內容字串。

返回值:

  • 成功時返回公鑰識別符號的資源型別,可以用於其他與公鑰相關的 OpenSSL 函式。
  • 失敗時返回 false。

示例:

$certificate = file_get_contents('public.pem'); // 從檔案中讀取證書內容
$publicKey = openssl_pkey_get_public($certificate);

if ($publicKey === false) {
    echo "無法獲取公鑰";
} else {
    echo "公鑰獲取成功";
    // 其他操作,例如使用公鑰進行加密或驗證等
    openssl_free_key($publicKey); // 釋放公鑰資源
}

注意事項:

  • 證書可以是 PEM 格式或 DER 格式。
  • 如果證書是 PEM 格式,可以使用 file_get_contents() 函式從檔案中讀取證書內容。
  • 如果證書是 DER 格式,可以使用 file_get_contents() 函式從檔案中讀取二進位制內容,並使用 base64_encode() 函式將其轉換為字串形式。
  • 在使用完公鑰後,應該使用 openssl_free_key() 函式釋放公鑰資源,以避免記憶體洩漏。
補充糾錯
上一個函式: openssl_pkey_new()函式
熱門PHP函式
分享連結