gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo 指定したパターンに一致するすべてのキーについての情報を配列で返す

説明

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

パラメータ

identifier

gnupg_init() あるいは gnupg のコールで得られた gnupg ID。

pattern

キーに対してチェックを行いたいパターン。

戻り値

指定したパターンに一致するすべてのキーについての情報を配列で返します。 エラーが発生した場合は false を返します。

例1 手続き型の gnupg_keyinfo() の例

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

例2 オブジェクト指向の gnupg_keyinfo() の例

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

add a note add a note

User Contributed Notes 3 notes

up
8
fauger at NOSPAM dot anonymous dot com
11 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
2
gtisza at gmail dot com
9 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
-5
porjo38 at yahoo dot com dot au
11 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