函数名称: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 函数进行加密、解密、签名等操作。