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

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