函式名稱:openssl_get_privatekey()
適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
函式描述:openssl_get_privatekey() 函式用於從檔案中獲取私鑰或者解析 PEM 格式的私鑰字串,並返回一個 OpenSSL 私鑰資源。
語法:resource openssl_get_privatekey ( mixed $private_key [, string $passphrase = "" ] )
引數:
- $private_key: 必需。私鑰檔案的路徑或者 PEM 格式的私鑰字串。
- $passphrase: 可選。私鑰的密碼,如果私鑰有密碼保護的話。
返回值:成功時返回 OpenSSL 私鑰資源,失敗時返回 FALSE。
示例1:從檔案中獲取私鑰
$privateKeyFile = 'private.key';
$privateKey = openssl_get_privatekey($privateKeyFile);
if ($privateKey) {
// 私鑰獲取成功,可以進行後續操作
// ...
} else {
// 私鑰獲取失敗
echo "私鑰獲取失敗!";
}
示例2:解析 PEM 格式的私鑰字串
$privateKeyString = '-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----';
$privateKey = openssl_get_privatekey($privateKeyString);
if ($privateKey) {
// 私鑰獲取成功,可以進行後續操作
// ...
} else {
// 私鑰獲取失敗
echo "私鑰獲取失敗!";
}
注意事項:
- 如果私鑰有密碼保護,需要在 $passphrase 引數中提供正確的密碼。
- 如果私鑰檔案是加密的,openssl_get_privatekey() 函式會自動解密。
- 如果私鑰檔案不是 PEM 格式的,可以使用 openssl_pkey_get_private() 函式代替。
- 獲取私鑰資源後,可以使用其他 OpenSSL 函式進行加密、解密、簽名等操作。