• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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.

    上篇:gnupg_init()

    下篇:gnupg_setarmor()