您可以列出密钥环中的所有密钥,您只需要传递一个空字符串 ''。
<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo('');
print_r($info);
?>
就是这样! ;)
(PECL gnupg >= 0.1)
gnupg_keyinfo — 返回一个包含与给定模式匹配的所有密钥信息的数组
返回一个包含所有与给定模式匹配的密钥信息的数组,或者如果发生错误,则返回 false
。
示例 #1 过程式 gnupg_keyinfo() 示例
<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>
示例 #2 OO gnupg_keyinfo() 示例
<?php
$gpg = new gnupg();
$info = $gpg->keyinfo("test");
print_r($info);
?>
您可以列出密钥环中的所有密钥,您只需要传递一个空字符串 ''。
<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo('');
print_r($info);
?>
就是这样! ;)
返回一个信息块数组。一个信息块看起来像
<?php
array (
'disabled' => <bool>,
'expired' => <bool>,
'revoked' => <bool>,
'is_secret' => <bool>,
'can_sign' => <bool>,
'can_encrypt' => <bool>,
'uids' => <array of uid blocks>,
'subkeys' => <array of subkey blocks>,
)
?>
一个 uid 数据块看起来像
<?php
array (
'name' => <string>,
'comment' => <string>,
'email' => <string>,
'uid' => <string>,
'revoked' => <bool>,
'invalid' => <bool>,
)
?>
一个子密钥块看起来像
<?php
array (
'fingerprint' => <string>,
'keyid' => <string>,
'timestamp' => <int>,
'expires' => <int>,
'is_secret' => <bool>,
'invalid' => <bool>,
'can_encrypt' => <bool>,
'can_sign' => <bool>,
'disabled' => <bool>,
'expired' => <bool>,
'revoked' => <bool>,
),
?>
似乎不可能列出 *所有* 密钥
<?php
$gpg -> keyinfo(); // 抛出错误
$gpg -> keyinfo('*'); // 按字面匹配,不作为 shell 通配符处理
$gpg -> keyinfo('.*'); // 按字面匹配,不作为正则表达式通配符处理
?>
在我看来,这是一个明显的遗漏。