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.