gnupg_keyinfo()
(PECL gnupg >= 0.1)
Returns an array with information about all keys that matches the given pattern
说明
gnupg_keyinfo(resource $identifier,string $pattern): array
参数
- $identifier
gnupg 标识符,由对gnupg_init()或gnupg的调用生成。
- $pattern
The pattern being checked against the keys.
返回值
Returns an array with information about all keys that matches the given pattern or FALSE, if an error has occurred.
范例
Example #1 Procedural gnupg_keyinfo() example
<?php $res = gnupg_init(); $info = gnupg_keyinfo($res, 'test'); print_r($info); ?>
Example #2 OO gnupg_keyinfo() example
<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>
You CAN list all keys in the keyring, you only have to pass an empty string ''.
<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo('');
print_r($info);
?>
That's it! ;)Returns an array of information blocks. An information block looks like <?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>, ) ?> An uid data block looks like <?php array ( 'name' => <string>, 'comment' => <string>, 'email' => <string>, 'uid' => <string>, 'revoked' => <bool>, 'invalid' => <bool>, ) ?> A subkey block looks like <?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>, ), ?>
It appears that listing *all* keys is not possible:
<?php
$gpg -> keyinfo(); // throws an error
$gpg -> keyinfo('*'); // is matched literally, not treated as a shell wildcard
$gpg -> keyinfo('.*'); // is matched literally, not treated as a regex wildcard
?>
This seems like a glaring omission to me.