PHP 手册
上一页 |  | 下一页

# LI. gnupg 函数

# 简介

This module allows you to interact with gnupg.

警告
本扩展模块是实验性的。本模块的行为，包括其函数的名称以及其它任何关于此模块的文档可能会在没有通知的情况下随 PHP 以后的发布而改变。使用本扩展模块风险自担。

# 需求

The gnupg extension requires PHP 4.3. To use this extension in an OO style, PHP 5 is required.

This extension requires the gpgme library

# 安装

The gnupg-extension is not bundled with PHP. It is a PECL extension and can be located here: http://pecl.php.net/package/gnupg.

# 预定义常量

`GNUPG_SIG_MODE_NORMAL` (integer)

`GNUPG_SIG_MODE_DETACH` (integer)

`GNUPG_SIG_MODE_CLEAR` (integer)

`GNUPG_VALIDITY_UNKNOWN` (integer)

`GNUPG_VALIDITY_UNDEFINED` (integer)

`GNUPG_VALIDITY_NEVER` (integer)

`GNUPG_VALIDITY_MARGINAL` (integer)

`GNUPG_VALIDITY_FULL` (integer)

`GNUPG_VALIDITY_ULTIMATE` (integer)

`GNUPG_PROTOCOL_OpenPGP` (integer)

`GNUPG_PROTOCOL_CMS` (integer)

`GNUPG_SIGSUM_VALID` (integer)

`GNUPG_SIGSUM_GREEN` (integer)

`GNUPG_SIGSUM_RED` (integer)

`GNUPG_SIGSUM_KEY_REVOKED` (integer)

`GNUPG_SIGSUM_KEY_EXPIRED` (integer)

`GNUPG_SIGSUM_KEY_MISSING` (integer)

`GNUPG_SIGSUM_SIG_EXPIRED` (integer)

`GNUPG_SIGSUM_CRL_MISSING` (integer)

`GNUPG_SIGSUM_CRL_TOO_OLD` (integer)

`GNUPG_SIGSUM_BAD_POLICY` (integer)

`GNUPG_SIGSUM_SYS_ERROR` (integer)

`GNUPG_ERROR_WARNING` (integer)

`GNUPG_ERROR_EXCEPTION` (integer)

`GNUPG_ERROR_SILENT` (integer)

# 注释

This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.

Some functions require the specification of a key. This specification can be anything that refers to an unique key (userid, key-id, fingerprint, ...). This documentation uses the fingerprint in all examples.

# keylistiterator

This extension also comes with an Iterator for your keyring.

`<?php // create a new iterator for listing all public keys that matches 'example' $iterator = new gnupg_keylistiterator("example"); foreach($iterator as $fingerprint => $userid){ echo $fingerprint." -> ".$userid."\n"; } ?>`

# 范例

This example will clearsign a given text.

例 1. gnupg clearsign example (procedural)

`<?php // init gnupg $res = gnupg_init(); // not really needed. Clearsign is default gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR); // add key with passphrase 'test' for signing gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test"); // sign $signed = gnupg_sign($res,"just a test"); echo $signed; ?>`

例 2. gnupg clearsign example (OO)

`<?php // new class $gnupg = new gnupg(); // not really needed. Clearsign is default $gnupg->setsignmode(gnupg::SIG_MODE_CLEAR); // add key with passphrase 'test' for signing $gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test"); // sign $signed = $gnupg->sign("just a test"); echo $signed; ?>`

上一页 | 起始页 | 下一页
gmp_xor | 上一级 | gnupg_adddecryptkey