English | 简体中文 | 繁體中文
查询

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函数
分享链接