PHP マニュアル
前のページ |  | 次のページ

# LI. gnupg 関数

# 導入

このモジュールにより、gnupg を扱うことが可能となります。

警告
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。

# 要件

gnupg 拡張モジュールは PHP 4.3 以降を必要とします。 この拡張モジュールをオブジェクト指向形式で使用するには、PHP 5 が必要です。

この拡張モジュールは gpgme ライブラリを必要とします。

# インストール手順

gnupg 拡張モジュールは PHP にバンドルされていません。これは PECL 拡張モジュールであり、 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)

# 注意

この拡張モジュールは、現在のユーザのキーリングを使用します。キーリングは、 通常は ~./.gnupg/ にあります。別の場所を指定するには、環境変数 GNUPGHOME にキーリングへのパスを格納します。その詳細な方法については putenv を参照ください。

キーを特定する設定項目を必要とする関数も存在します。この設定項目は、何らかの ユニークなキー (ユーザ ID、キー ID、フィンガープリント、…) を参照します。 このドキュメントでは、すべての例でフィンガープリントを使用しています。

# keylistiterator

この拡張モジュールでは、キーリングの内容を繰り返し処理することも可能です。

`<?php // 'example' にマッチするキーを抜き出して繰り返し処理をするイテレータを生成します $iterator = new gnupg_keylistiterator("example"); foreach($iterator as $fingerprint => $userid){ echo $fingerprint." -> ".$userid."\n"; } ?>`

# 例

この例は、指定したテキストに署名をします。

例 1. gnupg での署名の例 (手続き型)

`<?php // gnupg を初期化します $res = gnupg_init(); // 必須ではありません。Clearsign はデフォルト値です gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR); // 署名のためのキーを、パスフレーズ 'test' で追加します gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test"); // 署名します $signed = gnupg_sign("just a test"); echo $signed; ?>`

例 2. gnupg での署名の例 (オブジェクト指向)

`<?php // 新しいクラス $gnupg = new gnupg(); // 必須ではありません。Clearsign はデフォルト値です $gnupg->setsignmode(gnupg::SIG_MODE_CLEAR); // 署名のためのキーを、パスフレーズ 'test' で追加します $gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test"); // 署名します $signed = $gnupg->sign("just a test"); echo $signed; ?>`

前のページ | ホーム | 次のページ
gmp_xor | 上に戻る | gnupg_adddecryptkey