以下の内容はhttps://www.weblio.jp/content/GnuPGより取得しました。


デジタル大辞泉デジタル大辞泉

グヌー‐ピージー【GnuPG】

読み方:ぐぬーぴーじー

GNU privacy guard米国FSFフリーソフトウエア財団)が、暗号化方式OpenPGPを、オープンソースライセンスであるGPLに基づいて実装した仕様。GPG。


PHP Documentation GroupPHP Documentation Group

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";
}
?>

この例は、指定したテキストに署名をします。
例 763. 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;
?>

例 764. 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;
?>

目次

gnupg_adddecryptkey — 復号のためのキーを追加する
gnupg_addencryptkey — 暗号化のためのキーを追加する
gnupg_addsignkey — 署名のためのキーを追加する
gnupg_cleardecryptkeys — 事前に復号のために設定されたすべてのキーを削除する
gnupg_clearencryptkeys — 事前に暗号化のために設定されたすべてのキーを削除する
gnupg_clearsignkeys — 事前に署名のために設定されたすべてのキーを削除する
gnupg_decrypt — 指定されたテキストを復号する
gnupg_decryptverify — 指定されたテキストを復号し、検証する
gnupg_encrypt — 指定したテキストを暗号化する
gnupg_encryptsign — 指定したテキストを暗号化し、署名する
gnupg_export — キーをエクスポートする
gnupg_geterror — 関数が失敗した場合にエラー文字列を返す
gnupg_getprotocol — すべての操作で現在アクティブなプロトコルを返す
gnupg_import — キーをインポートする
gnupg_keyinfo — 指定したパターンに一致するすべてのキーについての情報を配列で返す
gnupg_setarmor — armor 形式を切り替える
gnupg_seterrormode — エラー報告モードを設定する
gnupg_setsignmode — 署名方式を設定する
gnupg_sign — 指定したテキストに署名する
gnupg_verify — 署名済みテキストを検証する

ウィキペディアウィキペディア

GNU Privacy Guard

(GnuPG から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/20 03:19 UTC 版)

GNU Privacy Guard
作者 ヴェルナー・コッホ
開発元 GNUプロジェクト
初版 1999年9月7日 (1999-09-07)[1]
最新版
Stable 2.4.7[2]  / 2024年11月25日
LTS 2.2.43[3]  / 2024年4月16日
最新評価版
2.5.2[4]  / 2024年12月6日
リポジトリ
プログラミング
言語
C言語
対応OS Microsoft WindowsmacOSRISC OS, Android, Linux
種別 暗号化ソフトウェア
ライセンス 2007: GPL-3.0-or-later[注釈 1]
1997: GPL-2.0-or-later[注釈 2]
公式サイト gnupg.org
テンプレートを表示

GNU Privacy Guard (GnuPG, GPG) とは、暗号化ソフトウェア Pretty Good Privacy (PGP) の代替として開発された自由ソフトウェアである。GPGは、OpenPGP の標準仕様である、現在は旧式となった[5] IETFの規格 RFC 4880に準拠している。PGP の最新バージョンは、GnuPG やその他の OpenPGP v4 準拠システムと相互運用可能である[6]

2023年11月には、2007年のOpenPGP v4仕様(RFC4880)の更新を目的とした2つの草案が発表され、最終的には2024年7月に RFC 9580標準となった。GnuPG開発者からの提案であるLibrePGPはOpenPGP Working Group に採用されず、GnuPGの将来のバージョンでは現在のバージョンのOpenPGPはサポートされない[7]

GnuPGはGNUプロジェクトの一部であり、1999年にドイツ政府から多額の資金提供を受けた[8]

開発

GnuPG の開発は ヴェルナー・コッホ(Werner Koch) によって始められた。現在では David Shaw と Timo Schulz も加わっている。また、g10 Code が Werner Koch と Timo Schulz を資金面で援助している。

バージョン 1.0.0 は 1999 年にリリースされ、それ以降 2002 年の 1.2.0 や 2004 年の 1.4.0 のように、安定版は最初の小数部分が偶数になるバージョンでリリースされている。

一方、 S/MIME 機能の導入を目的とした別系列の開発版が 1.9 系列として開発が進められていた。この系列は2006年11月23日に 2.0 としてリリースされた。

2014年11月、楕円曲線暗号のサポートなど新しいOpenPGP規格に準拠した 2.1 系列がリリースされた。

2.0 系列、2.2/2.1 系列と並行して 1.4 系列のサポートは継続しており、1.4 系列は 2.2/2.1 系列あるいは 2.0 系列と同時にインストール、独立して運用することが可能である。2.2/2.1 系列と 2.0 系列を同時にインストールすることはできない[9]

系列

2022年8月現在、GnuPG には 3 つの系列が存在する。

  • "Stable" (2.3): 最新の安定版。初版リリースは2021年4月8日[10]
  • "LTS" (2.2): 2017年8月28日に、2.2.0として新たな安定版となった[11]。初版リリースは2014年11月6日[9]。サポート終了は2024年12月31日の予定。
  • "Legacy" (1.4): 旧来のスタンドアロン版。古いシステムや組み込み用途に適している。初版リリースは2004年12月16日[12]

既にサポートが終了した系列は 3 つ存在する。

  • 2.0 系列: 初版リリースは2006年11月13日[13]。最終版は2016年3月31日リリースの2.0.30[14]
  • 1.2 系列: 初版リリースは2002年9月22日[15]、最終版は2004年10月26日リリースの1.2.6[16]
  • 1.0 系列: 初版リリースは1999年9月7日[1]、最終版は2002年4月30日リリースの1.0.7[17]

利用形態

GnuPG は数多くの OS に含められてきた。

また、GUIフロントエンドも開発されており、KMailEvolution といった電子メールクライアントに統合されたものや、 KDEKGpgGNOMESeahorse のように単独のアプリケーションもある。これらフロントエンドの多くは GnuPG 開発者が用意した GPGME (GnuPG Made Easy) ライブラリを利用している。

  • GUIフロントエンドの例
    • WinPT(Windows用)
    • GnuPG Shell(Linux/Windows用)
    • KGpgSeahorse(Linux用)
  • 電子メールクライアントの例
  • 統合パッケージ(GnuPGとGUIフロントエンド・電子メールクライアントの一括インストール)

アルゴリズム

GnuPG は、特許で制限されているアルゴリズムを含めていない。

したがって、従来の GnuPG では、PGP の過去のバージョンで標準で用いられていた International Data Encryption Algorithm (IDEA) を使うことができず、使用にはプラグインが必要であったが、各国における IDEA の特許切れ[18]に伴い、1.4.13/2.0.20 から IDEA が含まれるようになった[19][20]。これは、過去のコンテンツの署名検証、復号および古いPGPからGnuPGへの移行といった互換性維持のための最低限のサポートであり、既定では新しい鍵の作成における選択肢には現れない[21]

RSA は 2000 年に特許が切れたので、1.0.3 から含まれるようになった[22]

また、1.4.10/2.0.12 から Camellia も含まれるようになった[23]

2.1系列以降では楕円曲線暗号楕円曲線DSA (ECDSA)、楕円曲線ディフィー・ヘルマン鍵共有 (ECDH)、エドワーズ曲線デジタル署名アルゴリズム (EdDSA))に対応する[9]

2022年時点での安定版である2.3系列および長期サポート版 (LTS) である2.2系列において対応しているアルゴリズムは、下記のとおりである。

脚注

注釈

  1. ^ 2.xについては2007年7月4日から。
    1.xについては2007年10月23日から。
  2. ^ 2.x については2007年07日04日まで。
    1.xについては2007年10月23日まで。
  3. ^ a b 2.3系列のみ

出典

  1. ^ a b Release Notes”. GnuPG. 2014年11月6日閲覧。
  2. ^ ヴェルナー・コッホ; "GnuPG 2.4.7 and Gpg4win 4.4.0 released"; 作品または名前の言語: 英語; 出版日: 2024年11月28日; 閲覧日: 2024年11月28日.
  3. ^ "Noteworthy changes in version 2.2.43"; 閲覧日: 2024年5月27日; 出版日: 2024年4月16日.
  4. ^ ヴェルナー・コッホ; "GnuPG 2.5.2 released"; 出版日: 2024年12月6日; 閲覧日: 2024年12月10日.
  5. ^ RFC 9580 OpenPGP”. IETF (July 2024). 2024年12月19日閲覧。
  6. ^ Gnu Privacy Guard”. GnuPG.org. 2015年4月29日時点のオリジナルよりアーカイブ2015年5月26日閲覧。
  7. ^ A schism in the OpenPGP world”. Linux Weekly News. 2023年12月9日閲覧。
  8. ^ A schism in the OpenPGP world”. Linux Weekly News. 2023年12月9日閲覧。
  9. ^ a b c Werner Koch (2014年11月6日). “[Announce] GnuPG 2.1.0 "modern" released”. gnupg.org. 2014年11月6日閲覧。
  10. ^ Werner Koch (2021年4月8日). “[Announce] GnuPG 2.3.0 released”. gnupg.org. 2022年8月4日閲覧。
  11. ^ Werner Koch (2017年8月28日). “[Announce] GnuPG 2.2.0 released”. gnupg.org. 2017年9月21日閲覧。
  12. ^ Werner Koch (2006年11月13日). “[Announce] GnuPG stable 1.4 released”. gnupg.org. 2004年12月16日閲覧。
  13. ^ Werner Koch (2006年11月13日). “[Announce] GnuPG 2.0 released”. gnupg.org. 2014年1月30日閲覧。
  14. ^ Werner Koch (2016年3月31日). “[Announce] GnuPG 2.0.29 released”. gnupg.org. 2016年4月1日閲覧。
  15. ^ Werner Koch (2002年9月6日). “[Announce]GnuPG 1.2 released”. gnupg.org. 2014年11月6日閲覧。
  16. ^ Werner Koch (2004年8月26日). “[Announce] GnuPG 1.2.6 released”. gnupg.org. 2014年11月6日閲覧。
  17. ^ Werner Koch (2002年4月30日). “[Announce] GnuPG 1.0.7 released”. gnupg.org. 2014年11月6日閲覧。
  18. ^ 欧州および日本:2011年5月16日、アメリカ合衆国:2012年1月7日
  19. ^ [Announce] GnuPG 1.4.13 released” (英語). Werner Koch (2012年12月20日). 2013年5月17日閲覧。
  20. ^ GnuPG 2.0 系列 で用いられる Libgcrypt がバージョン 1.5.2 で IDEA をサポートし、これが GnuPG 2.0.20 に組み込まれたから。 [Announce] Libgcrypt 1.5.2 released” (英語). Werner Koch (2013年4月18日). 2013年5月17日閲覧。
  21. ^ GnuPG 1.4.13 released” (英語). Werner Koch (2012年12月21日). 2013年5月19日閲覧。
  22. ^ GnuPG 1.0.3 released” (英語). Werner Koch (2000年9月20日). 2013年5月17日閲覧。
  23. ^ GnuPG 1.4.10 released” (英語). Werner Koch (2009年9月2日). 2012年12月30日閲覧。

関連項目

外部リンク





以上の内容はhttps://www.weblio.jp/content/GnuPGより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14