PHP 8.3.0 RC 6 available for testing

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfoReturns an array with information about all keys that matches the given pattern

说明

gnupg_keyinfo(resource $identifier, string $pattern): array|false

参数

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.

示例

示例 #1 Procedural gnupg_keyinfo() example

<?php
$res
= gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

示例 #2 OO gnupg_keyinfo() example

<?php
$gpg
= new gnupg();
$info = $gpg->keyinfo("test");
print_r($info);
?>

add a note

User Contributed Notes 3 notes

up
10
fauger at NOSPAM dot anonymous dot com
10 years ago
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! ;)
up
3
gtisza at gmail dot com
8 years ago
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>,
),
?>
up
-6
porjo38 at yahoo dot com dot au
10 years ago
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.
To Top