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

gnupg_listsignatures()函数—用法及示例

「 列出指定 GnuPG 密钥的所有签名 」


函数名:gnupg_listsignatures()

适用版本:PHP 7.4.0 及以上版本

用法:gnupg_listsignatures() 函数用于列出指定 GnuPG 密钥的所有签名。

语法:array gnupg_listsignatures ( resource $identifier , string $fingerprint )

参数:

  • $identifier:GnuPG 密钥资源标识符,通过 gnupg_init() 函数获取。
  • $fingerprint:要列出签名的密钥指纹。

返回值:返回一个包含签名信息的关联数组,每个签名信息包含以下字段:

  • 'fingerprint':签名的密钥指纹。
  • 'validity':签名的有效性,可以是 'unknown'、'undefined'、'expired'、'revoked'、'valid' 或 'invalid'。
  • 'timestamp':签名的时间戳,以 UNIX 时间戳格式表示。

示例:

// 初始化 GnuPG
$gpg = gnupg_init();

// 设置 GnuPG 密钥环的路径
gnupg_setarmor($gpg, 0);
gnupg_setsignmode($gpg, GNUPG_SIG_MODE_CLEAR);

// 导入公钥
gnupg_import($gpg, file_get_contents('public.key'));

// 列出指定密钥的所有签名
$signatures = gnupg_listsignatures($gpg, '1234567890ABCDEF');

// 打印签名信息
foreach ($signatures as $signature) {
    echo "密钥指纹:{$signature['fingerprint']}\n";
    echo "签名有效性:{$signature['validity']}\n";
    echo "签名时间戳:{$signature['timestamp']}\n";
}

注意事项:

  • 该函数需要 GnuPG 扩展支持,确保已安装和启用 GnuPG 扩展。
  • 在调用 gnupg_listsignatures() 函数之前,需要使用 gnupg_init() 函数初始化 GnuPG。
  • 密钥指纹可以通过 gnupg_import() 函数导入公钥后获取。
  • 请根据实际情况替换示例代码中的密钥指纹和公钥文件路径。
补充纠错
上一个函数: gnupg_setarmor()函数
下一个函数: gnupg_keyinfo()函数
热门PHP函数
分享链接