コマンドラインのマニュアル

Man » gpgオンラインマニュアル - gpgマニュアルページの詳細なオンラインドキュメント

🌍
gpg - OpenPGP暗号化および署名ツール

SYNOPSIS

gpg [--homedir dir] [--options file] [options] command [args]

DESCRIPTION

gpgは、GNU Privacy Guard(GnuPG)のOpenPGPコンポーネントです。OpenPGP標準を使用して、デジタル暗号化および署名サービスを提供するためのツールです。gpgは、完全なキー管理機能を備え、期待されるすべてのOpenPGP機能を備えています。

GnuPGには、GnuPG 1.xとGnuPG 2.xの2つの主要バージョンがあります。GnuPG 2.xは最新の暗号化アルゴリズムをサポートするため、GnuPG 1.xよりも推奨されます。GnuPG 1.xは、プラットフォームがGnuPG 2.xをサポートしていない場合、またはGnuPG 2.xで非推奨になった機能をサポートする必要がある場合にのみ使用します(例:PGP-2キーで作成されたデータを復号化する場合)。

GnuPGのバージョン1を探している場合は、gpg1という名前でインストールされている場合があります。

RETURN VALUE

プログラムは、重大なエラーがない場合は0を、少なくとも1つの署名が不正な場合は1を、その他の致命的なエラーの場合は他のエラーコードを返します。

署名の検証には、署名された内容と、誰が署名したかについて正確な知識が必要です。したがって、リターンコードのみを使用してスクリプトで署名を検証することは適切ではありません。適切なステータスコードを使用するか、署名の検証を容易にするように設計されたgpgvツールを使用します。

WARNINGS

ユーザーアカウントに強力なパスワードを使用し、常にすべてのセキュリティ問題を修正するようにしてください。また、物理的な保護も徹底してください。さらに、マシンが盗まれた場合に備えて、秘密鍵に強力なパスフレーズを使用することを検討してください。秘密鍵が漏洩しないようにすることが重要です。秘密鍵を簡単に持ち運べるトークンまたはスマートカードに保存することをお勧めします。

分離署名を検証する場合は、プログラムがそれについて認識していることを確認してください。コマンドラインで両方のファイル名を指定するか、-を使用してSTDINを指定します。

gpgのスクリプトまたはその他の無人での使用については、デフォルトのインターフェイスではなく、機械可読インターフェイスを使用するようにしてください。デフォルトのインターフェイスは、人間が直接使用することを目的としています。機械可読インターフェイスは、安定しており、ドキュメントが整備されており、ロケールやgpgの将来の変更に依存しません。これを有効にするには、--with-colonsおよび--status-fdオプションを使用します。特定の操作では、--command-fdオプションも役立つ場合があります。このマニュアルページとDETAILSファイルを参照して、インターフェイスの仕様を確認してください。GnuPGの「info」ページと、GnuPGマニュアルのPDFバージョンには、GnuPGの無人での使用に関する章があります。あるいは、GPGMEライブラリを、そのインターフェイスの高度な抽象化として使用できます。


相互運用性

GnuPG は、OpenPGP 標準を非常に柔軟に実装しようとしています。 特に、GnuPG は SHA-512 ハッシュや ZLIB および BZIP2 圧縮アルゴリズムなど、標準のオプション部分の多くを実装しています。 すべての OpenPGP プログラムがこれらのオプションのアルゴリズムを実装しているわけではないことに注意することが重要です。 GnuPG の --cipher-algo--digest-algo--cert-digest-algo、または --compress-algo オプションを使用して、これらのオプションのアルゴリズムの使用を強制すると、完全に有効な OpenPGP メッセージを作成できますが、受信者がそれを読むことができなくなります。

利用可能な OpenPGP プログラムは数十種類あり、それぞれがこれらのオプションのアルゴリズムのわずかに異なるサブセットをサポートしています。 たとえば、最近まで、BLOWFISH 暗号アルゴリズムをサポートする (ハッキングされていない) PGP バージョンはありませんでした。 BLOWFISH を使用したメッセージは、PGP ユーザーによって読むことができませんでした。 デフォルトでは、GnuPG は、常に適切な処理を行い、どの OpenPGP プログラムを使用しても、すべての受信者にとって使用可能なメッセージを作成する標準の OpenPGP 設定システムを使用します。 この安全なデフォルトをオーバーライドする場合は、本当に理解している場合にのみ行ってください。

安全なデフォルトをオーバーライドする必要がある場合、または特定のキーの設定が無効になっている場合は、--pgp6--pgp7、または --pgp8 オプションを使用する方がはるかに優れています。 これらのオプションは安全です。OpenPGP に違反して特定のアルゴリズムを強制するのではなく、利用可能なアルゴリズムを「PGP 互換」リストに減らします。

コマンド

コマンドは、オプションとは、1 つのコマンドのみが許可されるという点で区別されます。 一般的に、無関係なオプションはサイレントに無視され、その正しさがチェックされない場合があります。

^ pg は、コマンドなしで実行できます。 この場合、警告が表示され、入力として与えられたファイルの種類に応じて適切なアクションが実行されます (暗号化されたメッセージが復号化され、署名が検証され、キーを含むファイルがリストされます)。

問題が発生した場合は、より多くの診断情報を表示するために、--verbose オプションを呼び出しに追加してください。

関数の特定ではないコマンド

--version

プログラムのバージョンとライセンス情報を表示します。 このコマンドは省略できません。

--help
-h     最も有用なコマンドラインオプションをまとめた使用法メッセージを表示します。 このコマンドは、任意の形式で省略することはできません (ただし、短い形式 `-h` を使用することはできます)。

--warranty

保証情報を表示します。

--dump-options

利用可能なすべてのオプションとコマンドのリストを表示します。 このコマンドは省略できません。

操作の種類を選択するコマンド

--sign
-s     メッセージに署名します。 このコマンドは、`--encrypt` (メッセージに署名して暗号化するため)、`--symmetric` (メッセージに署名して対称暗号化するため)、または `--encrypt` と `--symmetric` の両方 (秘密鍵またはパスフレーズを使用して復号化できるメッセージに署名して暗号化するため) と組み合わせることができます。 署名に使用するキーは、デフォルトで選択するか、`--local-user` および `--default-key` オプションを使用して明示的に設定できます。

--clear-sign
--clearsign
読みやすい形式の署名を作成します。この形式の署名に含まれるデータは、特別なソフトウェアなしで読み取ることができます。OpenPGPソフトウェアは、署名の検証にのみ必要です。クリアテキスト署名は、プラットフォーム間の互換性のために行末の空白文字を修正することがあり、可逆的ではありません。署名に使用する鍵は、デフォルトで選択されるか、--local-userおよび--default-keyオプションを使用して明示的に設定できます。

--detach-sign
-b  分離署名を作成します。

--encrypt
-e  1つ以上の公開鍵に対してデータを暗号化します。このコマンドは、--sign(メッセージに署名し、暗号化するため)と組み合わせて使用​​できます。また、--symmetric(秘密鍵またはパスフレーズを使用して復号化できるメッセージを暗号化するため)や、--signおよび--symmetric(署名されたメッセージを、秘密鍵またはパスフレーズを使用して復号化できるようにするため)と組み合わせて使用​​することもできます。--recipientおよび関連オプションは、暗号化に使用する公開鍵を指定します。

--symmetric
-c  対称暗号を使用してパスフレーズで暗号化します。デフォルトの対称暗号はAES-128ですが、--cipher-algoオプションを使用して選択できます。このコマンドは、--sign(署名および対称暗号化されたメッセージのため)と組み合わせて使用​​できます。また、--encrypt(秘密鍵またはパスフレーズを使用して復号化できるメッセージのため)や、--signおよび--encrypt(署名されたメッセージを、秘密鍵またはパスフレーズを使用して復号化できるようにするため)と組み合わせて使用​​することもできます。gpgは、対称暗号化に使用されたパスフレーズをキャッシュするため、復号操作でユーザーがパスフレーズを入力する必要がない場合があります。--no-symkey-cacheオプションを使用して、この機能を無効にすることができます。

--store
単純なリテラルデータパケットのみを保存します。

--decrypt
-d  コマンドラインで指定されたファイル(またはファイルが指定されていない場合はSTDIN)を復号化し、STDOUTに出力します(または--outputで指定されたファイルに出力します)。復号化されたファイルに署名が含まれている場合、署名も検証されます。このコマンドは、デフォルトの操作とは異なり、ファイルに含まれるファイル名に書き込みません。また、暗号化されたメッセージで始まらないファイルは拒否します。

--verify
最初の引数を署名されたファイルとみなし、出力を生成せずに検証します。引数が指定されていない場合、署名パケットはSTDINから読み取られます。引数が1つだけ指定されている場合、指定されたファイルには完全な署名が含まれていると想定されます。

複数の引数が指定されている場合、最初の引数は分離署名を含むファイルを指定する必要があり、残りのファイルには署名されたデータが含まれている必要があります。STDINから署名されたデータを読み取るには、「-」を2番目のファイル名として使用します。セキュリティ上の理由から、分離署名は、明示的に指定されていない限り、STDINから署名されたデータを読み取りません。

注意:`--batch` オプションを使用しない場合、gpg は単一の引数が分離された署名を含むファイルであると想定し、特定のサフィックスを削除して一致するデータ ファイルを見つけようとします。この歴史的な機能を分離された署名の検証に使用することは強く推奨されません。常にデータ ファイルを明示的に指定する必要があります。

注意:プレーンテキスト署名を検証する場合、gpg はプレーンテキスト署名データと、ダッシュ マーカー行の直後に続くヘッダー行のみを検証します。`--output` オプションを使用して、実際に署名されたデータを書き出すことができますが、この形式にもいくつかの落とし穴があります。プレーンテキスト署名の代わりに分離された署名を使用することをお勧めします。

注意:`--batch` オプションを使用すると、署名の検証は最初の不正な署名で停止します。これは、非対話型の処理における安全なデフォルトですが、場合によってはすべての署名のステータスが必要になります。この早期の停止をオーバーライドするには、`--proc-all-sigs` オプションを使用します。

注意:ファイルが特定のキーによって署名されているかどうかを確認するには、`--assert-signer` オプションを使用できます。別の方法として、`gpgv` ツールを使用できます。`gpgv` は、署名されたデータを信頼できるキーのリストと比較し、良好な署名の場合にのみ成功を返します。これには独自の man ページがあります。

`--multifile`
これは、コマンドラインの他のコマンドを修正し、コマンドラインまたは STDIN から複数のファイルを処理できるようにします。各ファイル名は別の行に記述されます。これにより、多数のファイルを一度に処理できます。`--multifile` は、`--verify`、`--encrypt`、および `--decrypt` と組み合わせて使用できます。ただし、`--multifile --verify` は、分離された署名と一緒に使用することはできません。

`--verify-files`
`--multifile --verify` と同じです。

`--encrypt-files`
`--multifile --encrypt` と同じです。

`--decrypt-files`
`--multifile --decrypt` と同じです。

`--list-keys`
`-k`
`--list-public-keys`
指定されたキーをリストします。キーが指定されていない場合、構成された公開キーリング内のすべてのキーがリストされます。

このコマンドの出力は、スクリプトまたは他のプログラムで使用しないでください。出力は人間が読むことを目的としており、その形式は変更される可能性があります。`--with-colons` オプションは、スクリプトおよび他のプログラムで使用することを目的とした、安定した、機械的に解析可能な形式で出力を生成します。

`--list-secret-keys`
`-K`
指定された秘密キーをリストします。秘密キーが指定されていない場合、既知のすべての秘密キーがリストされます。初期タグの後に `#` が付いている場合、その秘密キーまたはサブキーは現在使用できません。このキーはオフラインになっていると言います(たとえば、`--export-secret-subkeys` コマンドを使用して秘密サブキーをエクスポートすることで、プライマリキーをオフラインにすることができます)。これらのタグの後に `>` が付いている場合は、キーがスマートカードに保存されていることを示します。`--list-keys` も参照してください。

`--check-signatures`
`--check-sigs`
`--list-keys` と同じですが、キーの署名も検証してリストします。パフォーマンス上の理由から、署名キーの失効ステータスは表示されません。このコマンドの効果は、`--list-keys` と `--with-sig-check` を一緒に使用することと同じです。

「sig」タグの直後(したがって、以下に説明するフラグの前に)に、検証の状態を示すフラグが表示されます。 「!」は署名が正常に検証されたことを示し、「-」は署名が無効であることを示し、「%」は署名チェック中にエラーが発生した場合(例:サポートされていないアルゴリズム)に使用されます。 公開キーが利用できない署名はリストに表示されません。それらのキーIDを表示するには、コマンド --list-sigs を使用できます。

リストされている各署名には、署名ステータスフラグとキーIDの間に、追加情報を示すいくつかのフラグがあります。 これらは左から右へ、証明書チェックレベルの数値 1〜3(--ask-cert-level を参照)、ローカルまたはエクスポート不可の署名を示す「L」(--lsign-key を参照)、取り消し不可の署名を示す「R」(--edit-key コマンドの「nrsign」を参照)、ポリシーURL を含む署名を示す「P」(--cert-policy-url を参照)、注釈を含む署名を示す「N」(--cert-notation を参照)、期限切れの署名を示す「X」(--ask-cert-expire を参照)、および信頼署名レベルを示す数値 1〜9 または「T」(10以上)(--edit-key コマンドの「tsign」を参照)です。

--locate-keys
--locate-external-keys

指定されたキーを検索します。 このコマンドは、暗号化に使用されるキーを検索する際に使用されるものと基本的に同じアルゴリズムを使用するため、gpg がどのキーを使用するかを確認するために使用できます。 特に、--auto-key-locate で定義された外部メソッドを使用して、引数に有効なメールアドレスが含まれている場合にキーを検索します。 リストに表示されるのは公開キーのみです。

`--locate-external-keys` はローカルに存在するキーを考慮しないため、定義された外部メソッドを使用してキーを強制的に更新するために使用できます。 指紋が指定され、`--auto-key-locate` で定義されたメソッドで LDAP サーバーが定義されている場合、キーはこれらのリソースから取得されます。 定義された LDAP 以外のキークライアントはスキップされます。

--show-keys

OpenPGP キーを入力として受け取り、ローカルに保存されているキーに対して --list-keys コマンドが行うのと同じ方法で、その情報を出力します。 さらに、リストオプション show-unusable-uidsshow-unusable-subkeysshow-notations、および show-policy-urls も有効になります。 通常、自動化された処理の場合、このコマンドは --with-colons オプションと組み合わせて使用​​する必要があります。

--fingerprint

すべてのキー(または指定されたキー)とその指紋をリストします。 これは --list-keys と同じ出力ですが、指紋を示す行が追加されます。 --check-signatures と組み合わせて使用​​することもできます。 このコマンドが 2 回与えられると、すべてのセカンダリキーの指紋もリストされます。 このコマンドは、キーID形式が「なし」に設定されている場合でも、指紋をわかりやすく表示するように強制します。

--list-packets

パケットのシーケンスのみをリストします。このコマンドは、デバッグにのみ役立ちます。 --verboseオプションと組み合わせて使用すると、実際のMPI値がダンプされ、長さのみが表示されなくなります。 このコマンドの出力は、新しいリリースで変更される可能性があります。

--edit-card
--card-edit

スマートカードを操作するためのメニューを表示します。サブコマンド「help」は、利用可能なコマンドの概要を提供します。 詳細については、(https://gnupg.org/documentation/howtos.html#GnuPG-cardHOWTO) のCard HOWTOを参照してください。 「openpgp」コマンドを使用して、デフォルトで別のアプリケーション(例:PIV)を表示しているカードのOpenPGPアプリケーションに切り替えることができます。

--card-status

スマートカードの内容を表示します。

--change-pin

スマートカードのPINを変更するためのメニューを表示します。この機能は、--edit-cardコマンドのサブコマンド「passwd」としても利用できます。

--delete-keys name

パブリックキーリングからキーを削除します。バッチモードでは、--yesオプションが必要か、キーがフィンガープリントで指定されている必要があります。これは、複数のキーの誤った削除を防ぐためのものです。 感嘆符構文をサブキーのフィンガープリントで使用すると、そのサブキーのみが削除されます。感嘆符をプライマリキーのフィンガープリントで使用すると、完全なパブリックキーが削除されます。

--delete-secret-keys name

秘密キーリングからキーを削除します。バッチモードでは、キーはフィンガープリントで指定する必要があります。--yesオプションを使用して、gpg-agentに確認を要求しないように指示できます。 この追加の注意は、gpgが秘密キー(gpg-agentによって制御される)が特定のOpenPGPパブリックキーに対してのみ使用されることを保証できないためです。 感嘆符構文をサブキーのフィンガープリントで使用すると、そのサブキーの秘密部分のみが削除されます。感嘆符をプライマリキーのフィンガープリントで使用すると、プライマリキーの秘密部分のみが削除されます。

--delete-secret-and-public-key name
--delete-keyと同じですが、秘密キーが存在する場合は、最初に削除します。バッチモードでは、キーはフィンガープリントで指定する必要があります。
--yesオプションを使用して、gpg-agentに確認を要求しないように指示できます。

--export

すべてのキーリング(デフォルトのキーリングと、--keyringオプションで登録されたキーリング)からすべてのキーをエクスポートするか、または、少なくとも1つの名前が与えられた場合、その名前のキーをエクスポートします。 エクスポートされたキーは、STDOUTまたは--outputオプションで指定されたファイルに書き込まれます。--armorオプションと組み合わせて使用すると、キーをメールで送信できます。

--send-keys keyIDs
--exportに似ていますが、キーをキーサーバーに送信します。フィンガープリントの代わりにキーIDを使用できます。
キーサーバーに完全なキーリングを送信しないでください。変更または追加されたキーのみを選択して送信してください。キーIDが指定されていない場合、gpgは何も行いません。

注意:キーサーバーは、設計上、書き込み専用システムであり、キーをキーサーバーに送信すると、それを削除することはできません。


--export-secret-keys
--export-secret-subkeys
--export と同じですが、秘密鍵をエクスポートします。エクスポートされた鍵は STDOUT または --output オプションで指定されたファイルに書き込まれます。このコマンドは、--armor オプションと組み合わせて使用​​されることが多く、鍵を紙に印刷してバックアップを作成するのに便利です。ただし、paperkey ツールの方が紙のバックアップを作成するのに適しています。エクスポートされた秘密鍵を安全でないチャネル経由で送信すると、セキュリティ上のリスクが生じる可能性があります。

このコマンドの 2 番目の形式には、プライマリキーの秘密部分を無効にする特別な機能があります。これは GNU 拡張であり、他の OpenPGP 実装では正常にインポートできない場合があります。これは、専用のデバイスで追加の署名サブキーを持つ完全な鍵を生成するために使用されます。次に、このコマンドは、プライマリキーなしで鍵をメインデバイスにエクスポートします。

GnuPG は、鍵のパスフレーズの入力を求める場合があります。これは、秘密鍵の内部保護方法が OpenPGP プロトコルで指定されているものとは異なるためです。

--export-ssh-key
このコマンドは、鍵を OpenSSH パブリック鍵形式でエクスポートするために使用されます。通常の方法で 1 つの鍵を指定し、認証機能を持つ最新の有効なサブキーを STDOUT または --output オプションで指定されたファイルにエクスポートします。この出力は、ssh の「authorized_key」ファイルに直接追加できます。

鍵 ID またはフィンガープリントの後に感嘆符 (!) を付けて、エクスポートする鍵を指定すると、特定のサブキーまたはプライマリキーをエクスポートできます。この場合、鍵が認証機能フラグを設定している必要はありません。

--import
--fast-import
鍵をインポート/マージします。これにより、指定された鍵がキーリングに追加されます。高速バージョンは現在、単なる同義語です。

このコマンドの動作を制御する他のオプションがいくつかあります。最も注目すべきは、--import-options merge-only オプションで、新しい鍵を挿入するのではなく、新しい署名、ユーザー ID、およびサブキーのみをマージします。

--receive-keys keyIDs
--recv-keys keyIDs
指定された keyIDs の鍵をキーサーバーからインポートします。

--refresh-keys
ローカルキーリングに既に存在する鍵の更新をキーサーバーに要求します。これにより、最新の署名、ユーザー ID などで鍵を更新できます。引数なしで呼び出すと、キーリング全体が更新されます。

--search-keys names
キーサーバーで指定された名前を検索します。ここに与えられた複数の名前は結合され、キーサーバーの検索文字列が作成されます。キーサーバーは、gpg が行うよりも異なる方法で名前を検索します。最適な選択肢は、メールアドレスを使用することです。プライバシー保護の理由から、キーサーバーはユーザー ID またはメールアドレスで検索することを許可せず、鍵フィンガープリントまたは鍵 ID で検索する場合にのみ、--recv-key コマンドで使用して結果を返す場合があります。

--fetch-keys URIs

指定された URI にあるキーを取得します。GnuPG の異なるインストールでは、異なるプロトコル (HTTP、FTP、LDAP など) がサポートされる場合があります。HTTPS を使用する場合、このコマンドではシステムによって提供されるルート証明書が使用されます。

--update-trustdb

トラストデータベースのメンテナンスを行います。このコマンドはすべてのキーを反復処理し、Web of Trust を構築します。これは対話型のコマンドであり、キーの「ownertrust」値を要求する場合があります。ユーザーは、表示されているキーの所有者をどの程度信頼するかを推定し、正しく認証 (署名) する必要があります。GnuPG は、キーに「ownertrust」値がまだ割り当てられていない場合にのみ、その値を要求します。--edit-key メニューを使用して、割り当てられた値をいつでも変更できます。

--check-trustdb

ユーザーの操作なしでトラストデータベースのメンテナンスを行います。時間の経過とともに、トラストデータベースを更新して、期限切れのキーまたは署名、およびその結果として生じる Web of Trust の変更を追跡する必要があります。通常、GnuPG はいつ更新が必要かを計算し、--no-auto-check-trustdb が設定されていない限り、自動的に更新します。このコマンドは、いつでもトラストデータベースのチェックを強制するために使用できます。処理は --update-trustdb と同じですが、まだ定義されていない「ownertrust」を持つキーはスキップされます。

cron ジョブで使用する場合、このコマンドは --batch と組み合わせて使用​​でき、その場合、トラストデータベースのチェックは必要な場合にのみ実行されます。バッチモードでも実行を強制するには、--yes オプションを追加します。

--export-ownertrust

ownertrust 値を STDOUT に送信します。これらは、これらだけが破損した trustdb から再作成できないため、バックアップの目的で役立ちます。例: gpg --export-ownertrust > otrust.txt

--import-ownertrust

ファイル(または指定されていない場合は STDIN)に保存されている ownertrust 値を使用して trustdb を更新します。既存の値は上書きされます。trustdb がひどく破損した場合、最近の ownertrust 値のバックアップ(例:ファイル「otrust.txt」)がある場合は、次のコマンドを使用して trustdb を再作成できます。 cd ~/.gnupg rm trustdb.gpg gpg --import-ownertrust < otrust.txt

--rebuild-keydb-caches

バージョン 1.0.6 から 1.0.7 に更新するときは、このコマンドを使用してキーリングの署名キャッシュを作成する必要があります。他の状況でも役立つ場合があります。

--print-md algo
--print-mds

指定されたファイル(または STDIN)のすべてについて、アルゴリズム algo のメッセージダイジェストを出力します。2 番目の形式(または非推奨の "*")を使用すると、利用可能なすべてのアルゴリズムのダイジェストが出力されます。

--gen-random 0|1|2|16|30 count

指定された品質レベル 0、1、または 2 の count 個のランダムバイトを出力します。count が指定されていない場合、または 0 の場合は、ランダムバイトの無限のシーケンスが出力されます。--armor と一緒に使用すると、出力は base64 エンコードされます。特別なレベル 16 は、品質レベル 1 を使用し、16 進数エンコードされたオクテットの無限のストリームを出力します。特別なレベル 30 は、30 個の zBase-32 文字としてランダムに出力します。


--gen-prime mode ビット

ソースコードを参照してください。出力形式は、どのリリースでも変更される可能性があります。

--enarmor
--dearmor

任意の入力を OpenPGP ASCII アーマにパックまたはアンパックします。これは GnuPG の OpenPGP への拡張であり、一般的にはあまり役に立ちません。--dearmor コマンドは、PEM アーマのアンパックにも使用できます。

--unwrap

このオプションは、--decrypt コマンドを変更して、暗号化レイヤーを削除した元のメッセージを出力するようにします。したがって、出力は OpenPGP データ構造になり、多くの場合、署名された OpenPGP メッセージになります。このオプションは、圧縮レイヤーを削除する場合があります。圧縮レイヤーは、暗号化レイヤーの下に配置されていることがよくあります。

--tofu-policy {auto|good|unknown|bad|ask} キー

指定されたキーに関連付けられているすべてのバインディングの TOFU ポリシーを設定します。ポリシーの意味の詳細については、[trust-model-tofu] を参照してください。キーは、フィンガープリント(推奨)またはキー ID で指定できます。

キーの管理方法

このセクションでは、キー管理の主なコマンドについて説明します。

--quick-generate-key ユーザー ID [アルゴリズム [使用法 [有効期限]]]
--quick-gen-key

これは、1 つのユーザー ID を持つ標準キーを生成するための簡単なコマンドです。--generate-key とは異なり、一連のプロンプトに答える必要なく、キーが直接生成されます。--yes オプションが指定されていない場合、指定されたユーザー ID がキーリングにすでに存在する場合、キーの作成はキャンセルされます。

コンソールで特別なオプションなしで直接呼び出した場合、``続行しますか?'' スタイルの確認プロンプトへの応答が必要です。ユーザー ID がキーリングにすでに存在する場合、キーの作成を強制するための 2 番目のプロンプトが表示されます。

アルゴリズムまたは使用法が指定された場合、プライマリキーのみが作成され、プロンプトは表示されません。プライマリキーとサブキーを作成し、プロンプトを表示しないようにするには、アルゴリズムに default'' またはfuture-default'' を、使用法に default'' を使用します。これらのオプションの引数の説明については、--quick-add-key コマンドを参照してください。使用法にはcert'' という値も指定でき、これは認証専用のプライマリキーを作成するために使用できます。デフォルトは、認証と署名の両方のキーを作成することです。

有効期限の引数を使用して、キーの有効期限を指定できます。いくつかの形式がサポートされており、一般的に ISO 形式の YYYY-MM-DD'' またはYYYYMMDDThhmmss'' が使用されます。キーを N 秒、N 日、N 週間、N か月、または N 年後に有効期限切れにするには、それぞれ seconds=N''、Nd''、Nw''、Nm''、または Ny'' を使用します。値を指定しない場合、または-'' を使用すると、キーは合理的なデフォルトの間隔で有効期限切れになります。never'' またはnone'' を使用して、有効期限を設定しないこともできます。

このコマンドが --batch で使用され、--pinentry-mode がループバックに設定され、パスフレーズオプション (--passphrase、--passphrase-fd、または --passphrase-file) のいずれかが使用された場合、指定されたパスフレーズが新しいキーに使用され、エージェントはパスフレーズを求めません。パスフレーズなしでキーを作成するには、--passphrase '' を使用できます。


現在挿入されているスマートカードで利用可能なキーから OpenPGP キーを作成するには、 card という特別な文字列をアルゴリズムとして使用できます。カードに暗号化キーと署名キーの両方が含まれている場合、gpg はそれらを識別し、通常のプライマリキーと 1 つのサブキーで構成される OpenPGP キーを作成します。これは特定のスマートカードでのみ機能します。インタラクティブな --full-gen-key コマンドを使用すると、同じ処理をより柔軟に行うことができます。

デフォルト以外のアルゴリズムを使用して、プライマリキーとサブキーを作成するには、 default を使用し、--default-new-key-algo オプションを使用してデフォルトのパラメーターを変更します。

`--quick-set-expire fpr expire [*|subfprs]`

2 つの引数を指定すると、フィンガープリント fpr で識別されるプライマリキーの有効期限を直接設定します。有効期限を削除するには、0 を使用します。3 つの引数を指定し、3 番目の引数をアスタリスクとして指定すると、取り消されていない、期限切れになっていないすべてのサブキーの有効期限が設定されます。2 つ以上の引数を指定し、subfprs として与えられたフィンガープリントのリストで、一致するすべての取り消されていないサブキーの有効期限を設定します。

`--quick-add-key fpr [algo [usage [expire]]]`

フィンガープリント fpr で識別されるキーにサブキーを直接追加します。オプションの引数を指定しない場合、暗号化サブキーが追加されます。引数のいずれかを指定すると、より具体的なサブキーが追加されます。

^ lgo は、キーリストで使用される形式で指定された、サポートされているアルゴリズムまたは曲線名のいずれかになります。デフォルトのアルゴリズムを使用するには、文字列 default または - を使用できます。サポートされているアルゴリズムは、rsadsaelged25519cv25519、およびその他の ECC 曲線です。たとえば、文字列 rsa はデフォルトのキー長で RSA キーを追加し、文字列 rsa4096 はキー長を 4096 ビットにすることを要求します。文字列 future-default は、将来のバージョンの gpg でデフォルトのアルゴリズムとして使用される可能性のあるアルゴリズムのエイリアスです。サポートされている ECC 曲線を一覧表示するには、コマンド gpg --with-colons --list-config curve を使用します。

指定された algo に応じて、サブキーは暗号化サブキーまたは署名サブキーのいずれかになります。アルゴリズムが署名と暗号化の両方を実行でき、そのようなサブキーが必要な場合は、usage 文字列を指定する必要があります。この文字列は、デフォルトを維持するために default または - にするか、または sign(署名サブキー用)、auth(認証サブキー用)、encr(暗号化サブキー用)(encryptencr のエイリアスとして使用できます)などのキーワードのカンマ区切りのリスト(またはスペース区切りのリスト)になります。有効な組み合わせはアルゴリズムによって異なります。

^ xpire 引数を使用して、キーの有効期限を指定できます。いくつかの形式がサポートされており、通常は ISO 形式の YYYY-MM-DD または YYYYMMDDThhmmss が使用されます。キーを N 秒、N 日、N 週間、N か月、または N 年後に期限切れにするには、それぞれ seconds=NNdNwNm、または Ny を使用します。値を指定しない場合、または - を使用すると、キーは妥当なデフォルトの期間で期限切れになります。値 never または none を使用して、有効期限を設定しないようにすることができます。


--quick-add-adsk fpr adskfpr
指紋 fpr で識別されるキーに、追加の復号サブキーを直接追加します。
adskfpr は、別のキーの暗号化サブキーの指紋です。サブキーは、通常、デフォルトではプライマリキーに暗号化機能がないため、ここで使用されます。`--with-subkey-fingerprint` オプションを `list` コマンドで使用して、サブキーの指紋を表示します。文字列 "default" を adskfpr として使用すると、`--default-new-key-adsk` で構成されたすべての不足している ADSK が追加されます。

--generate-key
--gen-key
現在のデフォルトパラメータを使用して、新しいキーペアを生成します。これは、新しいキーを作成するための標準コマンドです。キーに加えて、取り消し証明書が作成され、GnuPG ホームディレクトリの下の `openpgp-revocs.d` ディレクトリに保存されます。

--full-generate-key
--full-gen-key
すべてのオプションのダイアログを使用して、新しいキーペアを生成します。これは、`--generate-key` の拡張バージョンです。

バッチモードでキーを作成できる機能もあります。`\`\`Unattended key generation''` のマニュアルセクションを参照して、その使用方法を確認してください。

--generate-revocation name
--gen-revoke name
キー全体の取り消し証明書を生成します。サブキーまたはキー署名のみを取り消すには、`--edit` コマンドを使用します。

このコマンドは、単に、必要に応じてキーを取り消すために使用できる取り消し証明書を作成します。実際にキーを取り消すには、作成された取り消し証明書をキーとマージする必要があります。これは、`--import` コマンドを使用して取り消し証明書をインポートすることで行われます。次に、取り消されたキーを発行する必要があります。これは、`--send-key` コマンドを使用してキーをキーサーバーに送信し、`--export` コマンドを使用してファイルにエクスポートし、それを頻繁にやり取りする相手に送信することで、最も適切に行われます。

--generate-designated-revocation name
--desig-revoke name
キーの指定された取り消し証明書を生成します。これにより、キー所有者の許可を得たユーザーが、他のユーザーのキーを取り消すことができます。

--edit-key
ほとんどのキー管理関連タスクを実行できるメニューを表示します。コマンドラインでキーの指定が必要です。

uid n  インデックス n のユーザー ID または写真付きユーザー ID の選択を切り替えます。`*` を使用してすべてを選択し、`0` を使用してすべて選択解除します。

key n  インデックス n のサブキーまたはキー ID の選択を切り替えます。`*` を使用してすべてを選択し、`0` を使用してすべて選択解除します。

sign  ユーザー名を持つキーに署名します。キーがまだデフォルトユーザー(または `-u` で指定されたユーザー)によって署名されていない場合、プログラムはキーの情報を再度表示し、その指紋とともに、署名するかどうかを尋ねます。この質問は、`-u` で指定されたすべてのユーザーに対して繰り返されます。

lsign 「sign」と同じですが、署名はエクスポート不可としてマークされ、したがって他の人によって使用されることはありません。これは、キーをローカル環境でのみ有効にするために使用できます。

nrsign 「sign」と同じですが、署名は取り消し不可としてマークされ、したがって取り消すことはできません。

tsign トラスト署名を作成します。これは、認証(通常の署名のような)と信頼(「trust」コマンドのような)の概念を組み合わせた署名です。一般的に、特定のコミュニティまたはグループで信頼できる紹介者の概念を実装するために役立ちます。詳細については、RFC-4880の「トラスト署名」および「正規表現」セクションを参照してください。

「l」(ローカル/エクスポート不可用)、「nr」(取り消し不可)、および「t」(トラスト用)は、「sign」の前に自由に組み合わせて、必要な任意の種類の署名を作成できます。

--only-sign-text-idsオプションが指定されている場合、テキストベースでないユーザーID(例:写真ID)は署名の対象として選択されません。

delsig 署名を削除します。一度公開(つまり、キーサーバーに送信)した後は、署名を取り消すことはできません。その場合は、revsigを使用することをお勧めします。

revsig 署名を取り消します。秘密キーのいずれかで生成された各署名に対して、GnuPGは取り消し証明書を生成するかどうかを尋ねます。

check 選択されたすべてのユーザーIDの署名をチェックします。--selfsigオプションを使用すると、自己署名のみが表示されます。

adduid 追加のユーザーIDを作成します。

addphoto 写真ユーザーIDを作成します。JPEGファイルを指定するように求められ、そのファイルがユーザーIDに埋め込まれます。非常に大きなJPEGファイルを使用すると、非常に大きなキーが作成されます。また、一部のプログラムはJPEGファイルを変更せずに表示する(GnuPG)、他のプログラムはダイアログボックスに収まるようにスケールダウンして表示する(PGP)ことに注意してください。

showphoto 選択された写真ユーザーIDを表示します。

deluid ユーザーIDまたは写真ユーザーIDを削除します。一度公開(つまり、キーサーバーに送信)した後は、ユーザーIDを取り消すことはできません。その場合は、revuidを使用することをお勧めします。

revuid ユーザーIDまたは写真ユーザーIDを取り消します。

primary 現在のユーザーIDをプライマリとしてフラグを設定し、他のすべてのユーザーIDからプライマリユーザーIDフラグを削除し、影響を受けるすべての自己署名のタイムスタンプを1秒進めます。写真ユーザーIDをプライマリに設定すると、他の写真ユーザーIDよりも優先され、通常のユーザーIDをプライマリに設定すると、他の通常のユーザーIDよりも優先されます。

keyserver 指定されたユーザーIDの優先キーサーバーを設定します。これにより、他のユーザーがキーを取得する場所を把握できます。--keyserver-options honor-keyserver-urlを参照して、この機能の詳細を確認してください。値を「none」に設定すると、既存の優先キーサーバーが削除されます。

notation 指定されたユーザーIDに対して、名前=値の形式で注釈を設定します。--cert-notationを参照して、この機能の詳細を確認してください。値を「none」に設定すると、すべての注釈が削除されます。先頭にマイナス記号(-)が付いた注釈名を設定すると、その名前のすべての注釈が削除されます。

pref 選択されたユーザーIDから、優先順位リストを表示します。これは、暗黙の優先順位を含めずに、実際の優先順位を表示します。

showpref
選択されたユーザーIDの、より詳細な優先順位リストを表示します。これは、暗黙の優先順位(3DES(暗号)、SHA-1(ダイジェスト)、および非圧縮(圧縮))がすでにリストに含まれていない場合に、それらを含めることで、実際に有効な優先順位を表示します。さらに、優先されるキサーバーと署名表記(存在する場合)も表示します。

setpref 文字列
選択されたすべての(または特定の)ユーザーIDについて、ユーザーIDの優先順位リストを文字列に設定します。引数なしでsetprefを呼び出すと、優先順位リストがデフォルト(組み込みまたは--default-preference-listで設定されたもの)に設定され、引数として「none」を指定してsetprefを呼び出すと、空の優先順位リストが設定されます。`gpg --version`を使用して、利用可能なアルゴリズムのリストを取得します。属性ユーザーID(別名「写真ID」)で優先順位を変更できますが、GnuPGは属性ユーザーIDを使用してキーを選択しないため、これらの優先順位はGnuPGによって使用されません。

addkey このキーにサブキーを追加します。

addcardkey
カードにサブキーを生成し、このキーに追加します。

keytocard
選択された秘密サブキー(またはサブキーが選択されていない場合はプライマリキー)をスマートカードに転送します。キーがカードに正常に保存された場合、キーリング内の秘密キーは、後で保存コマンドを使用して、スタブに置き換えられます。特定の種類のキーのみをカードに転送できます。サブメニューを使用して、キーを保存するカードを選択できます。カードが破損した場合、キーをカードから復元することはできないことに注意してください。バックアップがないと、秘密キーが失われます。

bkuptocard ファイル
指定されたファイルをカードに復元します。このコマンドは、カードの初期化中に生成されたバックアップキーを新しいカードに復元するために使用できます。ほとんどの場合、これは暗号化キーになります。このコマンドを使用するときは、対応する公開キーを使用し、引数として指定されたファイルが実際に復元するバックアップであることを確認する必要があります。次に、2を選択して、暗号化キーとして復元します。最初に、バックアップキーのパスフレーズを入力するように求められ、次にカードの管理者PINを入力するように求められます。

keytotpm
選択された秘密鍵サブキー(またはサブキーが選択されていない場合はプライマリキー)をTPM形式に転送します。キーリング内の秘密鍵は、TPMによって作成されたTPM表現に置き換えられます(したがって、キーファイルは、そのTPMを含むラップトップにロックされます)。TPMに転送できるキータイプは限られています(すべてのTPM 2.0システムは、rsa2048およびnistp256アルゴリズムを実装することが義務付けられていますが、新しいTPMにはさらに多くのものが含まれている場合があります)。キー自体はTPMに転送されるのではなく、その場でTPMによって暗号化されるため、キーファイルが削除されると、キーは失われます。TPM形式に転送されると、キーファイルを元の非TPM形式に戻すことはできず、キーはTPMが故障すると使用できなくなるため、変換する前に、実際の秘密鍵ファイルのバックアップを安全なオフラインストレージに作成する必要があります。物理的なシステムTPMで、TPMリソースマネージャーデバイス(/dev/tpmrm0)への読み取り/書き込みアクセス許可があることを確認することが重要です。通常、これはtssグループのメンバーである必要があります。

delkey サブキー(セカンダリキー)を削除します。サブキーが公開(つまり、キーサーバーに送信)された場合、サブキーを削除することはできません。その場合は、revkeyを使用してください。また、これはキーの公開部分のみを削除することに注意してください。

revkey サブキーを無効にします。

expire キーまたはサブキーの有効期限を変更します。サブキーが選択されている場合、このサブキーの有効期限が変更されます。何も選択されていない場合、プライマリキーの有効期限が変更されます。

trust キーの所有者の信頼値を変更します。これにより、信頼データベースが直ちに更新され、保存は必要ありません。

disable
enable キー全体を無効または有効にします。無効になっているキーは、通常、暗号化に使用できません。

addrevoker キーに指定された取り消し者を1人追加します。オプションの引数「sensitive」を取ります。指定された取り消し者が「sensitive」とマークされている場合、デフォルトではエクスポートされません(export-optionsを参照)。

addadsk 追加の復号サブキーを追加します。ユーザーには、別の暗号化サブキーのフィンガープリントを入力するように求められます。通常、プライマリキーには暗号化機能がないため、別のキーの暗号化サブキーの正確なフィンガープリントを入力する必要があります。listコマンドで--with-subkey-fingerprintオプションを使用して、サブキーフィンガープリントを表示します。

passwd 秘密鍵のパスフレーズを変更します。

toggle これはダミーコマンドであり、後方互換性のためにのみ存在します。

clean 使用できなくなった(たとえば、取り消された、または期限切れの)ユーザーIDのすべての署名(セルフ署名を除く)を削除することにより、コンパクト化します。次に、信頼計算で使用できない署名を削除します。具体的には、これは、検証されない署名、後続の署名によって置き換えられた署名、取り消された署名、およびキーリングに存在しないキーによって発行された署名を削除します。

minimize

鍵を可能な限り小さくします。各ユーザーIDから最新の自己署名を除くすべての署名を削除します。

change-usage

主鍵または副鍵の使用フラグ(機能)を変更します。これらの使用フラグ(例: Certify, Sign, Authenticate, Encrypt)は鍵の作成時に設定されます。作成後にそれらを変更する機会があると便利な場合があります(例えばAuthenticateを追加する場合)。これを行う際は注意してください。許可される使用フラグは鍵アルゴリズムに依存します。

cross-certify

現在相互認証署名を持たない可能性のある署名副鍵に相互認証署名を追加します。相互認証署名は、署名副鍵に対する巧妙な攻撃から保護します。--require-cross-certification を参照してください。生成されたすべての新しい鍵はデフォルトでこの署名を持っているため、このコマンドは古い鍵を最新の状態にする場合にのみ役立ちます。

save すべての変更を鍵リングに保存して終了します。

quit 鍵リングを更新せずにプログラムを終了します。

一覧表示には、鍵とその副鍵、すべてのユーザーIDが表示されます。主ユーザーIDはドットで示され、選択された鍵またはユーザーIDはアスタリスクで示されます。信頼値は主鍵とともに表示されます: "trust" は割り当てられた所有者信頼で、"validity" は計算された鍵の有効性です。有効性の値はすべてのユーザーIDにも表示されます。可能な信頼値については、以下を参照してください: [trust-values]。

--sign-key name

公開鍵を自分の秘密鍵で署名します。これは --edit-key のサブコマンド "sign" の短縮版です。

--lsign-key name

公開鍵を自分の秘密鍵で署名しますが、エクスポート不可としてマークします。これは --edit-key のサブコマンド "lsign" の短縮版です。

--quick-sign-key fpr [names]
--quick-lsign-key fpr [names]

パスフレーズから直接、それ以上のユーザー操作なしに鍵に署名します。fpr はローカル鍵リング内の鍵の検証済みの主フィンガープリントでなければなりません。名前が指定されていない場合、有用なすべてのユーザーIDに署名されます。[names] が指定されている場合、これらの名前のいずれかに一致する有用なユーザーIDのみが署名されます。デフォルトでは、または名前に '*' が接頭辞として付いている場合は、大文字と小文字を区別しない部分文字列一致が使用されます。名前に '=' が接頭辞として付いている場合は、大文字と小文字を区別する完全一致が行われます。

コマンド --quick-lsign-key は署名をエクスポート不可としてマークします。そのようなエクスポート不可の署名が既に存在する場合、--quick-sign-key はそれをエクスポート可能な署名に変えます。既存の署名を更新する必要がある場合、例えば記法データを追加または変更する場合は、オプション --force-sign-key を使用する必要があります。


このコマンドは妥当なデフォルト値を使用するため、--edit-keyの「sign」サブコマンドほど柔軟ではありません。主な目的は、検証済みのフィンガープリントのリストを使用して、自動化されたキー署名を行うことです。

`--quick-add-uid user-id new-user-id`

このコマンドは、既存のキーに新しいユーザーIDを追加します。--edit-keyのインタラクティブなサブコマンドadduidとは異なり、新しいユーザーIDは変更なしで追加され、先頭と末尾の空白のみが削除されます。UTF-8エンコードされていることが期待され、形式のチェックは行われません。

`--quick-revoke-uid user-id user-id-to-revoke`

このコマンドは、既存のキー上のユーザーIDを失効させます。キー上の最後のユーザーIDを失効させることはできません(失効されていないユーザーIDが少なくとも1つ残っている必要があります)。失効の理由は「ユーザーIDは有効ではなくなりました」となります。別の失効理由を指定したり、追加の失効テキストを指定したい場合は、--edit-keyのインタラクティブなサブコマンドrevuidを使用する必要があります。

`--quick-revoke-sig fpr signing-fpr [names]`

このコマンドは、フィンガープリントfprで指定されたキーから、signing-fprによって署名されたキー署名を失効させます。namesが指定されている場合、指定された名前のいずれかと一致するキーのユーザーIDに対する署名のみが影響を受けます(--quick-sign-keyを参照)。すでに失効が存在する場合、新しい失効を作成する代わりに通知が表示されます。エラーは返されません。キー署名の失効は、新しいキー署名によって上書きされ、再度失効される可能性があります。

`--quick-set-primary-uid user-id primary-user-id`

このコマンドは、既存のキー上のプライマリユーザーIDフラグを設定または更新します。user-idはキーを指定し、primary-user-idはプライマリユーザーIDとしてフラグが設定されるユーザーIDを指定します。プライマリユーザーIDフラグは、他のすべてのユーザーIDから削除され、影響を受けるすべての自己署名のタイムスタンプは1秒進められます。

`--quick-update-pref user-id`

このコマンドは、キーの優先順位リストを現在のデフォルト値(組み込みまたは--default-preference-listで設定された値)に更新します。これは、リストを指定せずに--key-editメニューで「setpref」を使用する自動化版です。--list-options show-prefまたは--list-options show-pref-verboseを使用して、キーリストに優先順位を表示できます。更新されたキーをピアに再配布する必要があります。

`--quick-set-ownertrust user-id value`

このコマンドは、キーのownertrustを設定し、キーの無効化フラグを設定するためにも使用できます。これは、--key-editメニューの「trust」、「disable」、または「enable」を使用する自動化版です。

`--change-passphrase user-id`
`--passwd user-id`

^ ser-idとして指定された証明書に属する秘密キーのパスフレーズを変更します。これは、--edit-keyメニューのpasswdサブコマンドのショートカットです。--dry-runオプションと一緒に使用すると、パスフレーズが実際に変更されるのではなく、現在のパスフレーズが正しいかどうかのみがチェックされます。

オプション

gpgには、正確な動作を制御し、デフォルトの構成を変更するための多くのオプションがあります。


長いオプションはオプションファイル(デフォルトは「~/.gnupg/gpg.conf」)に入れることができます。短いオプション名は使用できません。たとえば、「armor」はオプションファイルで有効なオプションですが、「a」は有効ではありません。2つのハイフンは書きません。オプションの名前と必要な引数を記述します。ハッシュ('#')が最初の空白でない文字である行は無視されます。コマンドもこのファイルに入れることができますが、コマンドはgpgが実行されるたびに自動的に実行されるため、通常は役に立ちません。

オプションの解析は、非オプションに遭遇するとすぐに停止することに注意してください。--オプションを使用して、明示的に解析を停止できます。

設定の変更方法

これらのオプションは、設定を変更するために使用され、通常はオプションファイルにあります。

--default-key 名前
名前を署名に使用するデフォルトキーとして使用します。フィンガープリント、または少なくとも長いキーIDを名前として使用することを推奨します。このオプションを使用しない場合、デフォルトキーはシークレットキーリングにある最初のキーになります。`-u`または`--local-user`は、このオプションをオーバーライドします。このオプションを複数回使用できます。この場合、利用可能なシークレットキーを持つ最後のキーが使用されます。指定された値のいずれにも利用可能なシークレットキーがない場合、GnuPGはエラーメッセージを出力せずに、このオプションが指定されていないかのように続行します。

--default-recipient 名前
`--recipient`オプションが使用されていない場合、名前をデフォルトの受信者として使用し、有効かどうかを尋ねません。名前は空であってはならず、フィンガープリントを名前として使用することを推奨します。

--default-recipient-self
`--recipient`オプションが使用されていない場合、デフォルトキーをデフォルトの受信者として使用し、有効かどうかを尋ねません。デフォルトキーは、シークレットキーリングにある最初のキー、または`--default-key`で設定されたキーです。

--no-default-recipient
`--default-recipient`と`--default-recipient-self`をリセットします。オプションファイルで使用しないでください。

-v, --verbose
処理中に詳細な情報を表示します。2回使用すると、入力データが詳細にリストされます。

--no-verbose
詳細レベルを0にリセットします。オプションファイルで使用しないでください。

-q, --quiet
できるだけ静かにします。オプションファイルで使用しないでください。

--batch
--no-batch
バッチモードを使用します。インタラクティブなコマンドを尋ねたり、許可したりすることはありません。`--no-batch`は、このオプションを無効にします。コマンドラインでファイル名が指定されている場合でも、gpgはSTDINから読み取る必要がある場合があることに注意してください(特に、gpgが入力が分離された署名であり、データファイルが指定されていないと判断した場合)。したがって、STDINを介してデータをフィードしたくない場合は、STDINを`/dev/null`に接続する必要があります。

このオプションを、`--status-fd`および`--with-colons`オプションと組み合わせて、無人でのgpgの使用を強く推奨します。オプションファイルで使用しないでください。

--no-tty
TTY(ターミナル)がどのような出力にも使用されないようにします。このオプションは、GnuPGが`--batch`が使用されている場合でも、警告をTTYに出力する場合があるため、いくつかの状況で必要になります。

--yes ほとんどの質問に対して「はい」と仮定します。オプションファイルで使用すべきではありません。

--no ほとんどの質問に対して「いいえ」と仮定します。オプションファイルで使用すべきではありません。

--proc-all-sigs
このオプションは、最初の署名エラーで署名検証を停止するという `--batch` オプションの動作をオーバーライドします。

--list-filter {select=expr}
リストフィルターは、キー一覧表示コマンドで特定のキーのみを出力するために使用できます。使用可能なプロパティ名については、`--import-filter` の説明を参照してください。

--list-options パラメーター
これは、スペースまたはカンマで区切られた文字列で、キーと署名の一覧表示コマンド(つまり、`--list-keys`、`--check-signatures`、`--list-public-keys`、`--list-secret-keys`、および `--edit-key` 関数)で使用されるオプションを指定します。オプションは、`no-` を先頭に追加することで、反対の意味にすることができます。オプションは次のとおりです。

show-photos
`--list-keys`、`--check-signatures`、`--list-public-keys`、および `--list-secret-keys` に、キーにアタッチされているフォト ID を表示させます。デフォルトは「いいえ」です。`--photo-viewer` も参照してください。`--with-colons` とは連携しません。適切な方法については、`--attribute-fd` を参照してください。

show-usage
標準のキー一覧表示で、キーとサブキーの使用情報を表示します。これは、キーで使用できる操作を示す文字のリストです (E = 暗号化、S = 署名、C = 認証、A = 認証)。デフォルトは「はい」です。

show-ownertrust
標準のキー一覧表示で、キーの ownertrust 値を表示します。デフォルトは「いいえ」です。

show-policy-urls
`--check-signatures` の一覧表示にポリシー URL を表示します。デフォルトは「いいえ」です。

show-notations
show-std-notations
show-user-notations
`--check-signatures` の一覧表示で、すべての署名表記、IETF 標準の署名表記、またはユーザー定義の署名表記を表示します。デフォルトは「いいえ」です。

show-keyserver-urls
`--check-signatures` の一覧表示で、優先されるキーサーバー URL を表示します。デフォルトは「いいえ」です。

show-uid-validity
キーの一覧表示中に、ユーザー ID の計算された有効性を表示します。デフォルトは「はい」です。

show-unusable-uids
キーの一覧表示で、取り消されたユーザー ID と期限切れのユーザー ID を表示します。デフォルトは「いいえ」です。

show-unusable-subkeys
キーの一覧表示で、取り消されたサブキーと期限切れのサブキーを表示します。デフォルトは「いいえ」です。

show-unusable-sigs
弱いまたはサポートされていないアルゴリズムを使用して署名されたキー署名を表示します。

show-keyring
キーの一覧表示の先頭に、キーが格納されているキーリングの名前を表示します。デフォルトは「いいえ」です。

show-sig-expire
`--check-signatures` の一覧表示中に、署名の有効期限(存在する場合)を表示します。デフォルトは「いいえ」です。

show-sig-subpackets
キーの一覧表示に署名サブパケットを含めます。このオプションは、オプションのサブパケットのリストを引数として受け取ることができます。引数が渡されない場合、すべてのサブパケットを一覧表示します。デフォルトは「いいえ」です。このオプションは、`--with-colons` とともに `--check-signatures` を使用する場合にのみ意味を持ちます。

show-only-fpr-mbox
有効なメールアドレスを持つ各ユーザー ID について、フィンガープリントの後にメールアドレスのみを出力します。

sort-sigs
--list-sigs および --check-sigs を指定すると、署名を keyID と作成時間でソートし、これらの署名の履歴を簡単に確認できるようにします。自己署名は、他の署名の前にリストされます。デフォルトは yes です。このオプションは、-with-colons モードでは効果がありません。

--verify-options パラメータ
これは、スペースまたはカンマで区切られた文字列で、署名の検証時に使用されるオプションを指定します。オプションの先頭に `no-` を付けることで、反対の意味を与えることができます。オプションは次のとおりです。

show-photos
署名を発行したキーに存在する写真 ID を表示します。デフォルトは no です。--photo-viewer も参照してください。

show-policy-urls
検証中の署名にポリシー URL を表示します。デフォルトは yes です。

show-notations
show-std-notations
show-user-notations
検証中の署名で、すべて、IETF 標準、またはユーザー定義の署名注釈を表示します。デフォルトは IETF 標準です。

show-keyserver-urls
検証中の署名で、優先されるキーサーバー URL を表示します。デフォルトは yes です。

show-uid-validity
署名を発行したキーのユーザー ID の計算された有効性を表示します。デフォルトは yes です。

show-unusable-uids
署名の検証中に、取り消されたユーザー ID と期限切れのユーザー ID を表示します。デフォルトは no です。

show-primary-uid-only
主ユーザー ID のみを表示します。つまり、AKA 行と写真 ID はすべて、署名検証ステータスと共に表示されません。

--enable-large-rsa
--disable-large-rsa
8192 ビットまでの大きな RSA 秘密鍵の作成を有効にします。注: 8192 ビットは、一般的に推奨されるよりも大きいです。これらの大きなキーは、セキュリティを大幅に向上させるわけではありませんが、使用コストが高く、署名と証明書が大きくなります。このオプションは、large-secmem サポートでビルドされたバイナリでのみ使用できます。

--enable-dsa2
--disable-dsa2
すべての DSA 鍵に対して、ハッシュ切り捨てを有効にします。これには、古い DSA 鍵 (最大 1024 ビット) も含まれます。これは、--openpgp を指定した場合のデフォルトでもあります。古いバージョンの GnuPG でも、このフラグが必要な場合があります。1024 ビットより大きな DSA を生成するためです。

--photo-viewer 文字列
これは、写真 ID を表示するために実行するコマンドラインです。`%i` はファイル名に展開され、写真が格納されます。`%I` も同様ですが、ビューアーが終了してもファイルは削除されません。その他のフラグは、`%k` はキー ID、`%K` は長いキー ID、`%f` はキーフィンガープリント、`%t` はイメージタイプの拡張子 (例: "jpg")、`%T` はイメージの MIME タイプ (例: "image/jpeg")、`%v` は表示するイメージの計算された有効性 (例: "f")、`%V` は文字列としての計算された有効性 (例: "full")、`%U` はユーザー ID の base32 エンコードされたハッシュ、`%%` は実際のパーセント記号です。`%i` または `%I` のいずれかが存在しない場合、写真は標準入力としてビューアーに渡されます。

Unix では、デフォルトのビューアーは `xloadimage -fork -quiet -title 'KeyID 0x%k' STDIN` で、次に `display -title 'KeyID 0x%k' %i`、最後に `xdg-open %i` となります。Windows では、`!ShellExecute 400 %i` が使用されます。これは、API 呼び出しを使用するメタコマンドで、その後に gpg が一時的なイメージファイルを削除する前に、ビューアーに読み込むためのミリ秒単位の待ち時間が続きます。イメージビューアープログラムが安全でない場合、gpg から実行しても安全になるとは限りません。

--exec-path 文字列
写真ビューアを検索するディレクトリのリストを設定します。指定されていない場合、写真ビューアは
PATH環境変数を使用します。

--keyring ファイル
現在のキーリングリストにファイルを追加します。ファイルがチルダとスラッシュで始まる場合、これらは
$HOMEディレクトリに置き換えられます。ファイル名にスラッシュが含まれていない場合、GnuPGホームディレクトリ(「~/.gnupg」、ただし--homedirまたは$GNUPGHOMEが使用されている場合)にあると見なされます。

これは、キーリングを現在のリストに追加するものです。指定されたキーリングのみを使用する意図がある場合は、--keyringと--no-default-keyringを組み合わせて使用します。

--no-keyringオプションが使用されている場合、キーリングは一切使用されません。

--use-keyboxdオプションが「common.conf」で有効になっている場合、キーリングは一切使用されず、キーはすべてkeyboxdプロセスによって独自のデータベースで管理されます。

--primary-keyring ファイル
これは--keyringのバリアントであり、ファイルをプライマリの公開キーリングとして指定します。これは、
新しいキー(--importまたはkeyserver --recv-from経由)がこのキーリングに配置されることを意味します。

--secret-keyring ファイル
これは廃止されたオプションであり、無視されます。すべての秘密鍵は、GnuPGホームディレクトリの下の「private-keys-v1.d」ディレクトリに保存されます。

--trustdb-name ファイル
デフォルトのtrustdbの代わりにファイルを使用します。ファイルがチルダとスラッシュで始まる場合、これらは
$HOMEディレクトリに置き換えられます。ファイル名にスラッシュが含まれていない場合、GnuPGホームディレクトリ(「~/.gnupg」、ただし--homedirまたは$GNUPGHOMEが使用されていない場合)にあると見なされます。

--homedir ディレクトリ
ホームディレクトリの名前をディレクトリに設定します。このオプションが使用されていない場合、ホームディレクトリは
デフォルトで「~/.gnupg」になります。これはコマンドラインで指定された場合にのみ認識されます。また、
環境変数「GNUPGHOME」または(Windowsシステム上)レジストリのエントリHKCU\Software\GNU\GnuPG:HomeDirで指定されたホームディレクトリもオーバーライドします。

Windowsシステムでは、GnuPGをポータブルアプリケーションとしてインストールできます。この場合、
このコマンドラインオプションのみが考慮され、他のすべてのホームディレクトリの設定方法は無視されます。

--display-charset 名前
ネイティブの文字セットの名前を設定します。これは、一部の情報文字列(ユーザーIDなど)を適切なUTF-8エンコーディングに変換するために使用されます。これは、暗号化または署名されるデータの文字セットとは関係がないことに注意してください。GnuPGは、ユーザーが提供するデータを再エンコードしません。このオプションが使用されていない場合、デフォルトの文字セットは現在のロケールから決定されます。verbosityレベルが3の場合、選択されたセットが表示されます。このオプションはWindowsで使用しないでください。名前の有効な値は次のとおりです。

iso-8859-1

これは Latin 1 文字セットです。

iso-8859-2

Latin 2 文字セットです。

iso-8859-15

現在、これは Latin 1 文字セットのエイリアスです。

koi8-r 通常のロシア文字セット (RFC-1489)。

utf-8

すべての変換をバイパスし、OS がネイティブ UTF-8 エンコーディングを使用すると仮定します。

--utf8-strings
--no-utf8-strings

コマンドライン引数が UTF-8 文字列として与えられていると仮定します。デフォルト (--no-utf8-strings) は、引数が --display-charset で指定された文字エンコーディングでエンコードされていると仮定することです。これらのオプションは、以降のすべての引数に影響します。両方のオプションを複数回使用できます。このオプションは、オプションファイルで使用しないでください。

このオプションは Windows では効果がありません。Windows では、内部で使用される UTF-8 エンコーディングがコンソール入力および出力用に変換されます。コマンドライン引数は Unicode として想定され、UTF-8 に変換されます。したがって、別のプログラムからこのプログラムを呼び出す場合は、Unicode バージョンの CreateProcess を使用してください。

--options file

ファイルからオプションを読み取り、ホームディレクトリ内のデフォルトのオプションファイルを読み取ろうとしないでください (–homedir を参照)。このオプションは、オプションファイルで使用されている場合は無視されます。

--no-options

/dev/null のショートカットです。これにより、オプションファイルを読み込もうとする前に、このオプションが検出されます。このオプションを使用すると、'~/.gnupg' ホームディレクトリの作成も防止されます。

-z n
--compress-level n
--bzip2-compress-level n
--no-compress

ZIP および ZLIB 圧縮アルゴリズムの圧縮レベルを n に設定します。デフォルトでは、zlib のデフォルトの圧縮レベル (通常 6) が使用されます。--bzip2-compress-level は、BZIP2 圧縮アルゴリズムの圧縮レベルを設定します (デフォルトも 6)。これは、BZIP2 は各追加の圧縮レベルに対してかなりの量のメモリを使用するため、--compress-level とは異なるオプションです。

オプション -z は両方を設定します。n の値が 0 の場合、圧縮が無効になります。n の値が -1 の場合、デフォルトレベルを使用して圧縮が強制的に実行されます。オプション --no-compress は、-z0 と同じです。

--store コマンドを除くすべてのコマンドでは、GnuPG が入力がすでに圧縮されていることを検出しない限り、常に圧縮が使用されます。圧縮の使用を禁止するには、-z0 または --no-compress を使用します。圧縮を強制するには、-z-1 または、-1 で示されるデフォルト以外の別の圧縮レベルでオプション z を使用します。ただし、このデフォルト検出のオーバーライドは、z とは異なる長い形式のオプションでは機能しません。

--bzip2-decompress-lowmem

BZIP2 圧縮ファイルの異なる解凍方法を使用します。この代替方法は、メモリをわずかに 1/2 以上使用しますが、速度も 1/2 になります。これは、ファイルが最初に高い --bzip2-compress-level で圧縮された場合に、極端な低メモリ環境で役立ちます。

--mangle-dos-filenames
--no-mangle-dos-filenames

古いバージョンの Windows では、ドットが 1 つ以上含まれるファイル名を処理できません。--mangle-dos-filenames は、GnuPG が出力ファイル名の拡張子を置き換える (追加するのではなく) ため、この問題を回避します。このオプションはデフォルトでオフになっており、非 Windows プラットフォームでは効果がありません。


--ask-cert-level
--no-ask-cert-level

キー署名を作成する際に、認証レベルの入力を促します。このオプションが指定されていない場合、使用される認証レベルは --default-cert-level を介して設定されます。 --default-cert-level の詳細と、その使用方法については、--default-cert-level を参照してください。 --no-ask-cert-level はこのオプションを無効にします。このオプションのデフォルトは無効です。

--default-cert-level n

キーに署名する際のチェックレベルのデフォルト値を設定します。

0 は、キーを慎重に検証したかどうかについて、特に主張しないことを意味します。

1 は、キーがその所有者であると主張する人物によって所有されていると信じているが、キーを検証できなかった、または検証しなかったことを意味します。これは、「ペルソナ」検証に役立ちます。これを使用すると、仮名ユーザーのキーに署名できます。

2 は、キーをカジュアルに検証したことを意味します。たとえば、キーフィンガープリントを検証し、キーのユーザーIDを写真付きのIDと照合することができます。

3 は、キーを広範囲にわたって検証したことを意味します。たとえば、キーの所有者と対面でキーフィンガープリントを検証し、写真付きのID(パスポートなど)を使用して、キーの所有者の名前とキーのユーザーIDの名前が一致することを確認し、最後に、電子メールを交換して、キーの電子メールアドレスがキーの所有者に属することを確認することができます。

上記のレベル2と3の例は単なる例です。最終的に、「カジュアル」と「広範囲」が何を意味するかを決定するのはあなた次第です。

このオプションのデフォルトは 0(特に主張しない)です。

--min-cert-level

信頼データベースを構築するときに、この値よりも低い認証レベルの署名を無効とみなします。デフォルトは2で、レベル1の署名は無視されます。ただし、レベル0の「特に主張しない」署名は常に受け入れられます。

--trusted-key long key ID or fingerprint

指定されたキー(キーIDまたはフィンガープリントとして指定する必要があります)を、自分の秘密キーの1つと同じくらい信頼できるものとして扱います。このオプションは、秘密キー(またはその一部)をオンラインに保存したくないが、特定の受信者または署名者のキーの有効性を引き続きチェックしたい場合に役立ちます。指定されたキーがローカルで利用できない場合、LDAPキーサーバーが構成されていれば、そのキーがサーバーからインポートされます。値「none」は、--no-options の使用などの場合、任意の trusted-key オプションの使用と、このオプションの使用がない場合を区別するために、明示的に許可されます。

--add-desig-revoker [sensitive:]fingerprint

指定されたフィンガープリントのキーを、新しく作成されたキーの指定された失効者として追加します。フィンガープリントがキーワード sensitive: で始まる場合、その情報は通常、キーと一緒にエクスポートされません。このオプションは、複数回指定して、複数の指定された失効者を追加することができます。キーワード clear を使用すると、以前に指定されたすべてのフィンガープリントが破棄されます。指定された失効者は、キーに失効不可としてマークされます。パラメータファイルを使用して指定された指定された失効者も、キーに追加されます。


--default-new-key-adsk fingerprint
新たに作成されたキーに、指定されたフィンガープリントを持つサブキーを、追加の復号サブキー(ADSK)として追加します。このオプションは、複数のADSKを追加するために、複数回指定できます。また、フィンガープリントをスペースまたはカンマで区切って、このオプションの値として複数指定することも可能です。キーワード「clear」をフィンガープリントの代わりに指定すると、以前に指定されたすべてのフィンガープリントが破棄されます(設定ファイルで指定されたオプションを上書きする場合に便利です)。フィンガープリントは、サブキーを指定する必要があり、末尾に感嘆符を付ける必要はありません。コンパクト形式(スペースなしの40桁または64桁の16進数)で指定する必要があります。

--trust-model {pgp|classic|tofu|tofu+pgp|direct|always|auto}
GnuPGが従うべきトラストモデルを設定します。モデルは次のとおりです。

pgp    これは、PGP 5.x以降で使用されている、Web of Trustとトラスト署名を組み合わせたものです。これは、新しいトラストデータベースを作成する際にデフォルトで使用されるトラストモデルです。

classic
これは、PGP 2で導入された標準的なWeb of Trustです。

tofu

TOFUは、Trust On First Useの略です。この実験的なトラストモデルでは、キーが初めて検出されたときに記憶されます。その後、同じメールアドレスを持つ別のキーが検出された場合、両方のキーが疑わしいものとしてマークされます。この場合、次にいずれかのキーが使用されると、競合の原因(ユーザーが新しいキーを生成し、古いキーと新しいキーをクロス署名しなかったか、キーが偽造されたものであるか、または中間者攻撃が行われている可能性がある)、およびキーの有効性を手動で確認するようにユーザーに促す警告が表示されます。

潜在的な攻撃者がメールアドレスを制御できるため、外見が似たメールアドレスを使用して、競合検出アルゴリズムを回避する可能性があります。そのため、メッセージが検証されるたびに、そのキーで署名されたメッセージの数が統計として表示されます。これにより、ユーザーは定期的な通信相手に対して偽のキーを使用した攻撃を簡単に識別できます。

Web of Trustと比較すると、TOFUはセキュリティの保証が大幅に低くなります。特に、TOFUは一貫性を確保するのに役立ちます(つまり、キーとメールアドレスの関連付けが変更されないようにします)。TOFUの主な利点は、正しく使用するためにほとんどメンテナンスが必要ないことです。Web of Trustを正しく使用するには、キーに積極的に署名し、ユーザーを信頼できる紹介者としてマークする必要があります。これは時間のかかるプロセスであり、実証的な証拠によると、セキュリティを意識しているユーザーでさえ、徹底的に行うことができず、代わりにアドホックなTOFUプロセスに頼ることが多いようです。

TOFUモデルでは、キーと電子メールアドレスの間のバインディングに関連付けられたポリシーを使用します(これらはユーザーIDから抽出され、正規化されます)。手動で--tofu-policyオプションを使用して設定できるポリシーは5つあります。デフォルトポリシーは--tofu-default-policyオプションを使用して設定できます。

TOFUポリシーは、auto、good、unknown、bad、およびaskです。autoポリシーはデフォルトで使用されます(--tofu-default-policyでオーバーライドされない限り)、バインディングを部分的に信頼できるものとしてマークします。good、unknown、およびbadポリシーは、バインディングを完全に信頼できるもの、信頼度が不明、または信頼できないものとしてマークします。unknownポリシーは、TOFUを使用して競合を検出するだけで、バインディングに肯定的な信頼を割り当てない場合に役立ちます。最後のポリシーであるaskは、ユーザーにバインディングの信頼度を示すように求めます。バッチモードが有効になっている場合(またはコンテキストで入力が適切でない場合)、ユーザーにはプロンプトが表示されず、未定義の信頼レベルが返されます。

`tofu+pgp`

この実験的な信頼モデルは、TOFUとWeb of Trustを組み合わせたものです。これは、各モデルの信頼レベルを計算し、次に信頼レベルを次の順序で並べたときの最大信頼レベルを取ることによって行われます。unknown < undefined < marginal < fully < ultimate < expired < never

`--tofu-default-policy=unknown`を設定することにより、このモデルを使用して、TOFUの競合検出アルゴリズムを備えたWeb of Trustを実装できますが、肯定的な信頼値を割り当てることはありません。これは、セキュリティに配慮した一部のユーザーにとっては好ましい場合があります。

`direct`

キーの有効性は、ユーザーによって直接設定され、Web of Trustによって計算されません。このモデルは、キーのみに基づき、ユーザーIDを区別しません。別の信頼モデルに切り替えるときに、キーに割り当てられた信頼値は所有者信頼値に変換され、これもキーの所有者が他のキーに署名することに対する信頼度を示します。

`always`

キーの検証をスキップし、使用されているキーは常に完全に有効であると想定します。外部の検証スキームを使用している場合にのみ、通常はこれを使用します。このオプションは、ユーザーIDがキーにバインドされているという証拠がない場合に表示される署名チェックとともに表示される"[uncertain]"タグの表示も抑制します。ただし、この信頼モデルでは、期限切れ、取り消し済みのキー、または無効化されたキーの使用は許可されません。

`auto`

内部の信頼データベースに何らかのものが含まれている場合は、その情報に基づいて信頼モデルを選択します。TOFU信頼モデルは、明示的に有効にする必要があります。

`--always-trust`
`--trust-model always`と同じです。

`--assert-signer fpr_or_file`

このオプションは、ファイルに署名した有効な署名が少なくとも1つ、指定されたキーで行われているかどうかを確認します。キーは、フィンガープリントまたはフィンガープリントを一覧表示したファイルとして指定します。フィンガープリントは、コンパクト形式(コロンまたはスペースを含まない)で指定する必要があります。このオプションは複数回指定でき、各フィンガープリントは署名キーと、対応するプライマリキーに対してチェックされます。fpr_or_fileがファイルを指定する場合、空の行と、ハッシュ記号で始まるすべての行は無視されます。このオプションを使用すると、ファイルに署名した有効な署名があり、そのキーがこのオプションで指定されたフィンガープリントのいずれかと一致する場合にのみ、gpgは0の終了コードで終了することが保証されます。


--assert-pubkey-algo algolist

データ署名の検証中に、このオプションは、使用された公開鍵アルゴリズムが algolist で指定されたアルゴリズムと一致するかどうかを確認します。このオプションは複数回指定できます。 アルゴリズムのリストを連結し、区切り文字はコンマまたはスペースです。

リストで指定されたアルゴリズム名は、"ed25519" のように、先頭にオプションで単一の等号を付けた、そのままの名前であるか、または ">", ">=", "<=", "<" で始まる場合があります。
このプレフィックス演算子は、アルゴリズム名の数値部分に適用されます。たとえば、"rsa2048" の 2048 や "brainpoolP384r1" の 384 です。名前の先頭の数字以外の文字が一致する場合、
プレフィックス演算子は数値部分の比較に使用され、末尾のサフィックスは無視されます。たとえば、アルゴリズムリスト ">rsa3000, >=brainpool384r1, =ed25519" は、
3000 ビットを超える RSA 署名、Brainpool 曲線 384 および 512、および ed25519 アルゴリズムを許可します。

このオプションを使用すると、gpg (および gpgv) は、データの有効な署名がすべて、指定されたリストのいずれかのアルゴリズムを使用して行われた場合に限り、0 の終了コードを返します。

--auto-key-locate mechanisms
--no-auto-key-locate

GnuPG は、このオプションを使用して、必要に応じてキーを自動的に検索および取得できます。これは、メールアドレス ("_" 形式) で暗号化し、ローカルキーリングに "_" キーがない場合に発生します。このオプションは、 以下にリストされている任意の数のメカニズムを、試行する順序で受け取ります。メカニズムをコンマ区切りの引数としてリストする代わりに、オプションを複数回指定して、より多くのメカニズムを追加することもできます。 --no-auto-key-locate オプションまたはメカニズム "clear" は、リストをリセットします。デフォルトは "local,wkd" です。

cert RFC-4398 で指定された DNS CERT を使用してキーを検索します。

dane draft-ietf-dane-openpgpkey-05.txt で指定された DANE を使用してキーを検索します。

wkd Web Key Directory プロトコルを使用してキーを検索します。

ldap 構成された LDAP サーバーを使用してキーを検索します。この方法は、キーサーバーメカニズムに似ていますが、常に LDAP サーバーのみを使用します。

ntds Active Directory (Windows のみ) を使用してキーを検索します。この方法では、`--locate-external-key` コマンドを使用してフィンガープリントで検索することもできます。
このメカニズムは、実際には "ldap:///" のみをキーサーバーとして使用する "ldap" メカニズムのショートカットです。

keyserver
キーサーバーを使用してキーを検索します。この方法では、設定されたキーサーバーのいずれかが LDAP サーバーである場合、`--locate-external-key` コマンドを使用してフィンガープリントで検索することもできます。

keyserver-URL
さらに、`dirmngr` の構成で使用されるキーサーバー URL を使用して、特定のキーサーバーにクエリすることもできます。この方法でも、URL が LDAP サーバーを指定している場合、`--locate-external-key` コマンドを使用してフィンガープリントで検索できます。

local
ローカルのキーリングを使用してキーを検索します。このメカニズムを使用すると、ローカルキーの検索順序を選択できます。したがって、`--auto-key-locate local` の使用は `--no-auto-key-locate` と同じです。

nodefault
このフラグは、`--auto-key-locate` で定義されたメカニズムを試す前に実行される標準的なローカルキーの検索を無効にします。このメカニズムのリスト内の位置は重要ではありません。`local` が使用されている場合、これは必要ありません。

clear
定義されたすべてのメカニズムをクリアします。これは、構成ファイルで指定されたメカニズムをオーバーライドするのに役立ちます。`nodefault` がメカニズムに含まれている場合、それが最後に指定されると、`nodefault` もクリアされます。

--auto-key-import
--no-auto-key-import
これは、署名の検証や、後で使用するこのキーへの暗号化のために、不足しているキーをオフラインで取得するメカニズムです。このオプションが有効になっており、署名に埋め込まれたキーが含まれている場合、そのキーを使用して署名を検証し、検証が成功すると、そのキーをインポートします。デフォルトは `--no-auto-key-import` です。

送信側(署名)では、`--include-key-block` オプションを使用して、署名キーの公開部分を「キーブロックサブパケット」として署名に含める必要があります。

--auto-key-retrieve
--no-auto-key-retrieve
これらのオプションは、ローカルキーリングにないキーで署名された署名を検証するときに、キーサーバーからキーを自動的に取得するかどうかを有効または無効にします。デフォルトは `--no-auto-key-retrieve` です。

キーの検索に使用されるメソッドの順序は次のとおりです。

--auto-key-import オプションが設定されており、署名に埋め込まれたキーが含まれている場合、

そのキーを使用して署名を検証し、検証が成功するとそのキーをインポートします。

    署名に優先されるキーサーバーが指定されており、`honor-keyserver-url` オプションが有効になっている場合(デフォルトではありません)、そのキーサーバーが試行されます。署名の作成者は、`--sig-keyserver-url` オプションを使用して、データ署名に使用する優先キーサーバーを指定します。

    署名に署名者の UID が設定されている場合(例:`--sender` を使用して署名を作成する場合)、Web Key Directory (WKD) の検索が実行されます。これはデフォルトの構成ですが、`auto-key-locate` リストから WKD を削除するか、`--disable-signer-uid` オプションを使用して無効にすることができます。

構成されたキーサーバーのいずれかが存在し、署名に発行者のフィンガープリントが含まれている場合(GnuPG 2.1.16 以降)、構成されたキーサーバーが試行されます。

このオプションにより、「ウェブバグ」のような動作が可能になります。キーサーバーまたは Web Key Directory のオペレーターは、リクエストするキーを確認できるため、新しいキーで署名されたメッセージを送信することで(通常、ローカルキーリングにはそのキーがないため)、オペレーターはあなたの IP アドレスと署名を検証した時間を知ることができます。

--keyid-format {none|short|0xshort|long|0xlong}

キーIDの表示方法を選択します。「none」はキーIDをまったく表示せず、指紋を別の行に表示します。「short」は従来の8文字のキーIDです。「long」は、より正確ですが(使い勝手は劣る)16文字のキーIDです。「0x」をどちらかに追加すると、キーIDの先頭に「0x」が付きます(例:0x99242560)。ただし、このオプションは、--with-colonsオプションを使用している場合は無視されます。

--keyserver name

このオプションは非推奨です。代わりに、'dirmngr.conf'の--keyserverを使用してください。

nameをキーサーバーとして使用します。これは、--receive-keys、--send-keys、および--search-keysが、キーの受信、送信、および検索のために通信するサーバーです。名前の形式はURIです:scheme:[//]keyservername[:port]。スキームは、キーサーバーのタイプです。「hkp」/「hkps」は、HTTP(または互換性のある)キーサーバー用です。「ldap」/「ldaps」は、LDAPキーサーバー用です。特定のGnuPGのインストールでは、他のキーサーバータイプも使用できる場合があります。キーサーバーのスキームは大文字と小文字を区別しません。

ほとんどのキーサーバーは互いに同期するため、通常は1つ以上のサーバーにキーを送信する必要はありません。キーサーバーhkp://keys.gnupg.netは、ラウンドロビンDNSを使用して、使用するたびに異なるキーサーバーを提供します。

--keyserver-options {name=value}

これは、スペースまたはコンマで区切られた文字列で、キーサーバーのオプションを指定します。オプションの先頭にno-を付けて、反対の意味にすることができます。有効なimport-optionsまたはexport-optionsを使用して、--recv-keyによるキーのインポートまたは--send-keyによるキーのキーサーバーへのエクスポートに適用することもできます。すべてのオプションがすべてのキーサーバータイプで使用できるわけではありませんが、一般的なオプションの一部を次に示します。

include-revoked

--search-keysでキーを検索する場合、キーサーバーで取り消されたとマークされているキーを含めます。ただし、すべてのキーサーバーが取り消されたキーと取り消されていないキーを区別しているわけではなく、そのようなキーサーバーではこのオプションは意味がありません。また、ほとんどのキーサーバーは、キーの取り消しの暗号化による検証を行っていないため、このオプションをオフにすると、誤って取り消されたとマークされているキーがスキップされる可能性があります。

include-disabled

--search-keysでキーを検索する場合、キーサーバーで無効化されたとマークされているキーを含めます。ただし、このオプションはHKPキーサーバーでは使用されません。

auto-key-retrieve

これは、オプションauto-key-retrieveの古いエイリアスです。使用しないでください。将来のバージョンで削除されます。

honor-keyserver-url

--refresh-keysを使用する場合、対象のキーに優先キーサーバーURLがある場合、その優先キーサーバーURLを使用してキーを更新します。さらに、auto-key-retrieveが設定されており、検証されている署名に優先キーサーバーURLがある場合、その優先キーサーバーURLを使用してキーを取得します。ただし、このオプションは「Webバグ」を導入します。キーの作成者は、キーが更新されたときにそれを確認できます。したがって、このオプションはデフォルトで有効になっていません。


include-subkeys

キーを受信するときに、サブキーを潜在的なターゲットとして含めます。ただし、このオプションはHKPキサーバーでは使用されません。HKPキサーバーは、サブキーIDによるキーの検索をサポートしていないためです。

only-pubkeys

秘密鍵のインポートは許可しません。

timeout
http-proxy=value
verbose
debug
check-cert

ca-cert-file

これらのオプションは、GnuPG 2.1以降では機能しなくなりました。代わりに、dirmngrの構成オプションを使用してください。

デフォルトのオプションリストは、「self-sigs-only、repair-keys、repair-pks-subkey-bug、export-attributes」です。ただし、実際のソースがLDAPサーバーである場合、「self-sigs-only」が明示的に構成されていない限り、「no-self-sigs-only」が想定されます。

--completes-needed n

新しいキーの署名者を導入するために必要な、完全に信頼できるユーザーの数(デフォルトは1)。

--marginals-needed n

新しいキーの署名者を導入するために必要な、部分的に信頼できるユーザーの数(デフォルトは3)。

--tofu-default-policy {auto|good|unknown|bad|ask}

デフォルトのTOFUポリシー(デフォルトはauto)。このオプションの意味の詳細については、[trust-model-tofu]を参照してください。

--max-cert-depth n

認証チェーンの最大深度(デフォルトは5)。

--no-sig-cache

キー署名の検証ステータスをキャッシュしません。キャッシュを使用すると、キーリストのパフォーマンスが大幅に向上します。ただし、パブリックキーリングが書き込みの変更に対して安全でない可能性があると思われる場合は、このオプションを使用してキャッシュを無効にすることができます。ただし、他の誰かがパブリックキーリングに書き込みアクセスできる場合、あらゆる種類の損害が発生する可能性があるため、無効にしても意味がない可能性があります。

--auto-check-trustdb
--no-auto-check-trustdb

GnuPGがWeb of Trustに関する情報を更新する必要があると判断した場合、内部的に--check-trustdbコマンドを自動的に実行します。これは時間のかかる処理になる可能性があります。--no-auto-check-trustdbは、このオプションを無効にします。

--use-agent
--no-use-agent

これはダミーオプションです。gpgは常にエージェントを必要とします。

--gpg-agent-info

これはダミーオプションです。gpgで使用しても効果はありません。

--agent-program file

秘密キー操作に使用するエージェントプログラムを指定します。デフォルト値は、gpgconfに--list-dirsオプションを指定して実行することで決定されます。パイプ記号(|)は、回帰テストスイートのハックに使用されるため、ファイル名に含めることはできません。

--dirmngr-program file

キサーバーアクセスに使用するdirmngrプログラムを指定します。デフォルト値は「/usr/bin/dirmngr」です。

--disable-dirmngr

Dirmngrの使用を完全に無効にします。

--no-autostart

まだ起動しておらず、サービスが必要な場合に、gpg-agentまたはdirmngrを起動しません。このオプションは、gpg-agentへの接続が別のマシンにリダイレクトされているマシンで最も役立ちます。リモートマシンでdirmngrが必要な場合は、手動でgpgconf --launch dirmngrを使用して起動できます。


--lock-once

データベースに最初のロック要求時にロックをかけ、プロセスが終了するまでロックを解除しない。

--lock-multiple

ロックが必要でなくなったときに、毎回ロックを解除する。これにより、以前の --lock-once (設定ファイルから) を上書きできる。

--lock-never

ロックを完全に無効にする。このオプションは、単一のプロセスのみがファイルにアクセスすることが保証できる、非常に特殊な環境でのみ使用する必要がある。スタンドアロンの暗号化システムを備えたブート可能なフロッピーディスクでこのオプションを使用できる。このオプションの不適切な使用は、データやキーの破損につながる可能性がある。

--exit-on-status-write-error

このオプションを使用すると、ステータスファイルへの書き込みエラーが発生した場合、プロセスが直ちに終了する。実際にはこれがデフォルトであるはずだが、実際にはそうではなかったため、このオプションを有効にして、アプリケーションがステータスファイルのパイプの接続を早すぎる段階で閉じることがないようにする必要がある。このオプションを --enable-progress-filter と組み合わせて使用すると、実行時間の長い GPG 操作をクリーンにキャンセルできる。

--limit-card-insert-tries n

n が 0 より大きい場合、スマートカードの挿入を求めるプロンプトの回数は N-1 回に制限される。したがって、値が 1 の場合、GPG は起動時にカードが挿入されていない場合は、カードの挿入を全く求めない。このオプションは、アプリケーションがスマートカードのサポートを認識せず、無限にカードの挿入を待機する場合に、設定ファイルで使用すると役立つ。

--no-random-seed-file

GnuPG は、呼び出し間で内部の乱数プールを格納するためにファイルを使用する。これにより、乱数生成が高速化されるが、書き込み操作が望ましくない場合もある。このオプションを使用すると、乱数生成が遅くなるという代償を払って、これを実現できる。

--no-greeting

初期の著作権表示を抑制する。

--no-secmem-warning

「安全でないメモリを使用している」という警告を抑制する。

--no-permission-warning

安全でないファイルおよびホームディレクトリ (--homedir) の権限に関する警告を抑制する。GnuPG が実行する権限チェックは、権威あるものではなく、単に一般的な権限の問題について警告するものであることに注意してください。警告がないからといって、システムが安全であると考えるべきではありません。

^ pg.conf ファイルで、安全でない --homedir 権限の警告を抑制できないことに注意してください。これは、攻撃者が安全でない gpg.conf ファイルを配置し、そのファイルを使用して自身に関する警告を抑制することを許可してしまうためです。 --homedir 権限の警告は、コマンドラインでのみ抑制できます。

--require-secmem
--no-require-secmem

GnuPG が安全なメモリを取得できない場合、実行を拒否する。デフォルトは「いいえ」(つまり、実行するが警告を表示する)。

--require-cross-certification
--no-require-cross-certification

サブキーを使用して署名された署名を検証するときに、サブキーのクロス認証「バック」署名が存在し、有効であることを確認する。これにより、サブキーに対して署名できる微妙な攻撃から保護される。デフォルトは、GPG の場合は --require-cross-certification である。


--expert
--no-expert

ユーザーが、期限切れまたは無効になったキーに署名したり、通常は互換性がない可能性のあるキーの種類を生成したりするなど、ある種の非論理的または「ばかげた」操作を実行できるようにします。 これにより、潜在的に互換性のない操作に関する特定の警告メッセージも無効になります。 名前が示すように、このオプションは専門家向けです。その意味を完全に理解していない場合は、このオプションを使用しないでください。--no-expert はこのオプションを無効にします。

キー関連オプション

--recipient name
-r     ユーザー ID `name` に対して暗号化します。このオプションまたは `--hidden-recipient` が指定されていない場合、GnuPG はユーザー ID を尋ねてきます。ただし、`--default-recipient` が指定されている場合は尋ねません。

--hidden-recipient name
-R     ユーザー ID `name` に対して暗号化しますが、このユーザーのキーのキー ID は隠します。このオプションは、メッセージの受信者を隠し、ある程度のトラフィック分析対策として機能します。

このオプションまたは --recipient が指定されていない場合、GnuPG はユーザー ID を尋ねてきます。ただし、--default-recipient が指定されている場合は尋ねません。

--recipient-file file
-f     このオプションは `--recipient` と似ていますが、指定されたファイルに保存されているキーに対して暗号化します。`file` は、正確に 1 つのキーを含むファイルの名前でなければなりません。gpg は、このファイル内のキーが完全に有効であると想定します。

--hidden-recipient-file file
-F     このオプションは `--hidden-recipient` と似ていますが、指定されたファイルに保存されているキーに対して暗号化します。`file` は、正確に 1 つのキーを含むファイルの名前でなければなりません。gpg は、このファイル内のキーが完全に有効であると想定します。

--encrypt-to name

^ -recipient と同じですが、これはオプションファイルでの使用を意図しており、独自のユーザー ID を「自分自身への暗号化」として使用できます。name には、フィンガープリントまたは少なくとも長いキー ID を使用することをお勧めします。これらのキーは、--recipient または要求されたユーザー ID によって他の受信者が指定されている場合にのみ使用されます。これらのユーザー ID に対しては信頼性のチェックは実行されず、無効になっているキーでさえ使用できます。

--hidden-encrypt-to name

^ -hidden-recipient と同じですが、これはオプションファイルでの使用を意図しており、独自のユーザー ID を非表示の「自分自身への暗号化」として使用できます。name には、フィンガープリントまたは少なくとも長いキー ID を使用することをお勧めします。これらのキーは、--recipient または要求されたユーザー ID によって他の受信者が指定されている場合にのみ使用されます。信頼性のチェックは実行されず、無効になっているキーでさえ使用できます。

--no-encrypt-to

すべての --encrypt-to および --hidden-encrypt-to キーの使用を無効にします。

--group {name=value}

名前付きのグループを設定します。これは、電子メールプログラムのエイリアスに似ています。グループ名が受信者 (-r または --recipient) の場合、グループ名は指定された値に展開されます。同じ名前の複数のグループは、自動的に 1 つのグループにマージされます。


値はキーIDまたはフィンガープリントですが、任意のキーの説明も受け入れられます。スペースを含む値は、2つの異なる値として扱われます。また、グループの中に別のグループを含めることはできません。コマンドラインから使用する場合、このオプションの引数を引用符で囲む必要がある場合があります。

`--ungroup name`

^ -groupリストから指定されたエントリを削除します。

`--no-groups`

^ -groupリストからすべてのエントリを削除します。

`--local-user name`

^ u name を署名に使用するキーとして使用します。このオプションは --default-key を上書きします。

`--sender mbox`

このオプションには2つの目的があります。mbox は、適切なメールアドレスを含む完全なユーザーIDであるか、単なるメールアドレスである必要があります。このオプションは複数回指定できます。

署名を作成する場合、このオプションは署名キーのユーザーIDを指定し、そのユーザーIDを生成された署名に埋め込みます(OpenPGPの「署名者のユーザーID」サブパケットを使用)。このオプションが複数回指定された場合、適切なユーザーIDが選択されます。ただし、署名キーがメールアドレス(フィンガープリントやキーIDではなく)を使用して直接指定された場合、このオプションが使用され、メールアドレスが作成された署名に埋め込まれます。

署名を検証する場合、mbox は、TOFUコードによって表示される情報を一致するユーザーIDに制限するために使用されます。このオプションが使用され、署名に「署名者のユーザーID」サブパケットが含まれている場合、その情報も、表示される情報の制限に使用されます。GnuPGは、ユーザーIDのメールアドレス部分のみを考慮します。

このオプションまたは上記のサブパケットが利用可能な場合、status-fdオプションによって出力されるTRUST行は、対応するユーザーIDに対応します。既知のユーザーIDがない場合、TRUST行はキーに対して直接計算され、ユーザーIDに関する情報は表示されません。後者の場合、スクリプトやその他のフロントエンドでVALIDSIG行を評価し、キーを取得して、すべてのユーザーIDとその有効性(信頼度)情報を表示することを強くお勧めします。

`--try-secret-key name`

非表示の受信者の場合、GPGは試行復号化に使用するキーを知る必要があります。--default-keyで設定されたキーは最初に試されますが、多くの場合、それだけでは十分ではありません。このオプションを使用すると、試行復号化に使用するキーをさらに設定できます。nameには、有効なユーザーID指定を使用できますが、曖昧さを避けるために、少なくとも長いキーIDを使用することをお勧めします。gpg-agentは、多くのキーに対してピンエントリを表示して試行復号化を行う場合があります。試行復号化をすべて停止する場合は、キャンセルボタンではなく、ウィンドウを閉じるボタンを使用してください。

`--try-all-secrets`

メッセージに保存されているキーIDを参照せずに、すべての秘密キーを順番に試して、正しい復号化キーを見つけます。このオプションは、--throw-keyidsまたは--hidden-recipientを使用して作成された匿名受信者で使用される動作を強制し、暗号化されたメッセージに誤ったキーIDが含まれている場合に役立つ場合があります。


--skip-hidden-recipients
--no-skip-hidden-recipients

暗黙の受信者をスキップして復号化します。 このオプションは、人々が暗黙の受信者機能を使用して、自身の暗号化キーを他の人から隠す場合に使用します。 多数の秘密鍵がある場合、これは大きな問題になる可能性があります。なぜなら、すべてのキーが順番に試されて、実際にはそれらを対象としていなかったものを復号しようとするからです。 このオプションの欠点は、暗黙の受信者を含むメッセージを現在復号できないことです。

入力と出力

--armor
-a ASCII装甲出力を生成します。 デフォルトは、バイナリOpenPGP形式を生成することです。

--no-armor

入力データがASCII装甲形式ではないと想定します。

--output ファイル
-o ファイル

出力をファイルに書き込みます。 標準出力に書き込むには、ファイル名として-を使用します。

--max-output n

このオプションは、ファイルを処理するときに生成されるバイト数の上限を設定します。 OpenPGPはさまざまなレベルの圧縮をサポートしているため、特定のメッセージのプレーンテキストが元のOpenPGPメッセージよりも大幅に大きくなる可能性があります。 GnuPGはこのようなメッセージを適切に処理しますが、多くの場合、OSの制限によって処理が強制的に停止される前に、最大ファイルサイズを設定したい場合があります。 デフォルトは0で、これは「制限なし」を意味します。

--chunk-size n

AEAD暗号化モードは、データをチャンクに分割して暗号化します。 これにより、受信側は各チャンクの最後に、送信エラーまたは改ざんをチェックでき、すべてのデータを受信するまで遅延する必要がなくなります。 使用されるチャンクサイズは、2^nバイトです。 nの最小値は6(64バイト)であり、最大値はデフォルトの22で、これにより4MiBを超えるチャンクは作成されません。

--input-size-hint n

このオプションを使用して、GPGに入力データのサイズ(バイト単位)を伝えることができます。 nは正の10進数である必要があります。 このオプションは、入力がファイルから取得されない場合にのみ役立ちます。 GPGは、このヒントを使用してバッファー割り当て戦略を最適化できます。 また、--status-fd行「PROGRESS」で使用され、他の方法では利用できない場合に「合計」の値を提供します。

--key-origin 文字列[,url]

GPGはキーの起源を追跡できます。 特定の起源は暗黙的にわかっており、設定されています(例:キーサーバー、ウェブキーディレクトリ)。 標準的なインポートの場合、インポートされたキーの起源は、このオプションで設定できます。 可能な値をリストするには、「help」を文字列に使用します。 一部の起源には、オプションのURL引数を格納できます。 そのURLは、文字列の後にコンマを付けて追加できます。

--import-options パラメータ

これは、スペースまたはコンマで区切られた文字列であり、キーのインポートに関するオプションを指定します。 オプションの前にno-を付けて、反対の意味を与えることができます。 オプションは次のとおりです。


import-local-sigs

「ローカル」とマークされたキーシグネチャをインポートできるようにします。これは、共有キーリングスキームを使用している場合にのみ役立ちます。デフォルトは無効です。

keep-ownertrust

通常、キーをインポートすると、既存の ownertrust 値がクリアされます。これは一般的には望ましい動作であり、削除されたキーが単にインポートされるだけで ownertrust 値を獲得することはありません。ただし、信頼できるキーセットを再インポートして、すでに割り当てられた ownertrust 値を保持する必要がある場合があります。これは、このオプションを使用することで実現できます。

repair-pks-subkey-bug

インポート中に、PKS キーサーバー (バージョン 0.9.6 より前) によって引き起こされた、複数のサブキーを持つキーを破損させるバグを修正しようとします。この操作で完全に破損したキーを修復することはできません。キーサーバーによって重要なデータが削除されるため、少なくとも 1 つのサブキーを復元します。デフォルトは、通常の --import では無効、--receive-keys では有効です。

import-show
show-only

インポートされたキーのリストを、キーが保存される直前に表示します。これは、--dry-run オプションと組み合わせて使用​​できます。show-only オプションは、この組み合わせのショートカットです。--show-keys コマンドもこの操作のショートカットです。# のようなサフィックス (「sec」および「sbb」行用) が出力されるかどうかは保証されません。

import-export

インポート処理全体を実行し、キーをローカルキーリングに保存する代わりに、出力を書き出します。export-dane オプションは出力に影響します。たとえば、このオプションを使用して、キーからすべての無効な部分を削除して、ローカルに保存せずにキーを処理できます。

merge-only

インポート中に、既存のキーの更新は許可しますが、新しいキーのインポートは許可しません。デフォルトは無効です。

import-clean

インポート後、ユーザー ID から、使用できないユーザー ID をすべて削除し (自己署名のみを残します)。次に、新しいキーから、使用できない署名をすべて削除します。これには、キーリングに存在しないキーによって発行された署名が含まれます。このオプションは、インポート後に --edit-key コマンドで「clean」を実行することと同じです。デフォルトは無効です。

self-sigs-only

キーをインポートするときに、自己署名のみを受け入れます。他のすべてのキー署名は、インポートの早い段階でスキップされます。このオプションは、キーサーバーのオプションと組み合わせて、キーサーバーから送信される偽の署名による攻撃を軽減するために使用できます。ただし、Web of Trust で必要な他のすべての有効なキー署名もインポートされません。このオプションを import-clean と組み合わせて使用​​すると、インポートされたキーを既存のキーにマージした後に行われる最終的なクリーンアップ手順が抑制されます。

ignore-attributes

キーをインポートするときに、すべての属性ユーザー ID (写真 ID) とその署名を無視します。

repair-keys

インポート後、キーのさまざまな問題を修正します。たとえば、このオプションでは署名が再配置され、重複する署名が削除されます。デフォルトは有効です。


bulk-import
keyboxd(‘common.conf’の‘use-keyboxd’オプションで使用する場合)を使用すると、インポートは単一のトランザクション内で実行されます。

import-minimal
可能な限り小さいキーをインポートします。これにより、各ユーザーIDの最新の自己署名を除くすべての署名が削除されます。このオプションは、インポート後に「minimize」コマンドを実行するのと同じです。デフォルトでは無効です。

restore
import-restore
キー復元モードでインポートします。これにより、通常インポート中にスキップされるすべてのデータ(GnuPG固有のデータを含む)がインポートされます。他の矛盾するオプションはすべて上書きされます。

--import-filter {name=expr}
--export-filter {name=expr}
これらのオプションは、インポート/エクスポートフィルターを定義します。これは、インポート/エクスポートされたキーブロックに適用され、保存/書き込みが行われる直前です。nameは使用するフィルターの種類を定義し、exprは評価する式です。このオプションを複数回使用すると、同じnameにさらに式が追加されます。

利用可能なフィルターの種類は次のとおりです。

keep-uid
このフィルターは、式がtrueに評価される場合に、ユーザーIDパケットとその従属パケットをキーブロックに保持します。

drop-subkey
このフィルターは、選択されたサブキーを削除します。現在は、--export-filterでのみ実装されています。

drop-sig
このフィルターは、選択されたユーザーIDのキー署名を削除します。自己署名は考慮されません。現在は、--import-filterでのみ実装されています。

select このフィルターは、--list-filterでのみ実装されています。すべてのプロパティ名を使用できます。

式の構文については、「フィルター式」の章を参照してください。式のプロパティ名は、実際のフィルターの種類によって異なり、次の表に示されます。すべてのプロパティ名は、--list-filterでも使用できます。

プロパティ名は、スラッシュで区切られたスコープで接頭辞を付けることができます。有効なスコープは、パブリックキーと秘密キーの場合は「pub」、サブキーの場合は「sub」、ユーザーIDパケットの場合は「uid」、署名パケットの場合は「sig」です。無効なスコープは、現在は無視されます。

利用可能なプロパティは次のとおりです。

uid ユーザーIDの文字列。(keep-uid)

mbox メールボックスを含むユーザーIDのaddr-spec部分、または空の文字列。(keep-uid)

algostr
キーアルゴリズムの説明を表す文字列。たとえば、「rsa3072」または「ed25519」など。

key_algo
キーまたはサブキーパケットの公開キーアルゴリズムを表す数値。(drop-subkey)

key_size
キーまたはサブキーパケットの有効なキーサイズを表す数値。(drop-subkey)

key_created
key_created_d
1つ目は、公開キーまたはサブキーパケットが作成されたタイムスタンプです。2つ目は同じですが、ISO形式の文字列(例:2016-08-17)で表されます。(drop-subkey)

key_expires
key_expires_d
公開キーまたはサブキーの有効期限。有効期限がない場合は0。2つ目は同じですが、ISO日付文字列または空の文字列(例:2038-01-19)で表されます。

fpr 現在のサブキーまたはプライマリキーの16進数形式のフィンガープリント。(drop-subkey)

primary

ユーザーIDがプライマリかどうかを示すブール値。(keep-uid)

expired

ユーザーID(keep-uid)、キー(drop-subkey)、または署名(drop-sig)が期限切れかどうかを示すブール値。

revoked

ユーザーID(keep-uid)またはキー(drop-subkey)が取り消されたかどうかを示すブール値。

disabled

プライマリキーが無効になっているかどうかを示すブール値。

secret

キーまたはサブキーが秘密鍵かどうかを示すブール値。(drop-subkey)

usage

サブキーの用途を示す文字列。ecsa?'' というシーケンスから取得されます。 たとえば、署名と認証のみを目的とするサブキーは、sa'' と完全に一致します。(drop-subkey)

sig_created
sig_created_d

最初の値は、署名パケットが作成されたタイムスタンプです。2番目の値は同じですが、ISO日付文字列(例: "2016-08-17")で表されます。(drop-sig)

sig_expires
sig_expires_d

署名パケットの有効期限または、有効期限がない場合は0。2番目の値は同じですが、ISO日付文字列または空の文字列(例: "2038-01-19")で表されます。

sig_algo

署名パケットの公開鍵アルゴリズムを示す数値。(drop-sig)

sig_digest_algo

署名パケットのダイジェストアルゴリズムを示す数値。(drop-sig)

origin

キーの生成元を示す文字列、または疑問符。たとえば、Web Key Directoryからのキーの場合は、文字列``wkd''が使用されます。

lastupd

キーが最後にキーサーバーまたはWeb Key Directoryから更新されたタイムスタンプ。

url

最後のキーの検索に関連付けられたURLを示す文字列。

--export-options パラメータ

これは、キーのエクスポートに使用するオプションを指定する、スペースまたはカンマで区切られた文字列です。 オプションの前に no- を付けて、反対の意味にすることができます。オプションは次のとおりです。

export-local-sigs

「ローカル」とマークされたキー署名をエクスポートできるようにします。これは、共有キーリングスキームが使用されている場合にのみ役立ちます。デフォルトはnoです。

export-attributes

属性付きユーザーID(写真ID)をエクスポートに含めます。属性付きユーザーIDを含めないようにすると、属性付きユーザーIDを受け入れないOpenPGPプログラムで使用するキーをエクスポートするのに役立ちます。デフォルトはyesです。

export-sensitive-revkeys

「機密」とマークされた指定された取り消し者の情報を組み込みます。デフォルトはnoです。

backup
export-backup

バックアップとして使用するためにエクスポートします。エクスポートされたデータには、GnuPGを使用して後でキーを復元するために必要なすべてのデータが含まれます。形式は基本的にOpenPGP形式ですが、GnuPG固有のデータが追加されています。他の矛盾するオプションはすべて上書きされます。

export-clean

キーのエクスポート時に、使用できないユーザーIDの署名を削除(クリーンアップ)します。また、使用できない署名もエクスポートしません。 これには、キーリングに存在しないキーによって発行された署名が含まれます。 このオプションは、--edit-keyコマンドの「clean」を実行してからエクスポートするのと同じですが、ローカルのキーのコピーは変更されません。デフォルトはnoです。


export-minimal

可能な限り小さいキーをエクスポートします。これにより、各ユーザーIDの最新の自己署名を除くすべての署名が削除されます。このオプションは、ローカルのキーを変更せずに、--edit-keyコマンドで「minimize」を実行するのと同じです。デフォルトでは、このオプションは無効になっています。

export-revocs

キーのスタンドアロンの失効証明書のみをエクスポートします。このオプションは、サードパーティの証明書失効の失効をエクスポートしません。

export-dane

キーマテリアルを出力する代わりに、DNSゾーンファイルに配置するのに適したOpenPGP DANEレコードを出力します。各レコードの前にORIGIN行が出力され、対応するゾーンファイルにレコードをリダイレクトできるようにします。

mode1003

新しい秘密鍵エクスポート形式の使用を有効にします。この形式では、現在のOpenPGP形式で必要な再暗号化が回避され、パスフレーズで保護された秘密鍵のセキュリティも向上します。ただし、保護されていないキーはそのままエクスポートされるため、安全ではありません。OpenPGP暗号化されたファイルで秘密鍵を伝達する際の一般的なルールは、このモードでも適用されます。GnuPG 2.4.0より前のバージョンでは、このような秘密ファイルをインポートできません。

--with-colons

コロンで区切られたキーリストを出力します。--display-charset設定に関係なく、出力はUTF-8でエンコードされます。この形式は、GnuPGがスクリプトや他のプログラムから呼び出される場合に役立ち、機械的に簡単に解析できます。この形式の詳細については、GnuPGソースコードに含まれるdoc/DETAILSファイルに記載されています。

--fixed-list-mode

プライマリユーザーIDとプライマリキーをマージせず、すべてのタイムスタンプを1970-01-01からの秒数として出力します。GnuPG 2.0.10以降では、このモードが常に使用されるため、このオプションは不要です。ただし、使用しても問題はありません。

--legacy-list-mode

バージョン2.1より前のパブリックキーリストモードに戻します。これは、人間が読める出力にのみ影響し、機械インターフェイス(つまり--with-colons)には影響しません。ただし、レガシー形式は楕円曲線に適した情報を提供しません。

--with-fingerprint

^ -fingerprintコマンドと同じですが、出力形式のみを変更し、他のコマンドと組み合わせて使用できます。

--with-subkey-fingerprint

プライマリキーのフィンガープリントが出力される場合、このオプションはすべてのサブキーのフィンガープリントの出力も強制します。これは、--with-fingerprintを2回使用することで実現できますが、keyid-format "none"とともにこのオプションを使用すると、コンパクトなフィンガープリントが出力されます。

--with-v5-fingerprint

コロンモードのリストで、バージョン4のOpenPGPキーにv5スタイルのフィンガープリントがある場合、"fp2"行を出力します。

--with-icao-spelling

フィンガープリントの16進数に加えて、ICAOスペルも出力します。

--with-keygrip

キーリストにキーグリップを含めます。--with-colonsモードでは、これは暗黙的に秘密キーに対して有効になります。


--with-key-origin

ローカルに保存されているキーの生成元と最終更新に関する情報を、キー一覧に含めます。 --with-colons モードでは、常に表示されます。 このデータは現在実験段階であり、安定したAPIの一部と見なされるべきではありません。

--with-wkd-hash

Web Key Directory識別子を、キー一覧の各ユーザーIDと共に表示します。 これは実験的な機能であり、意味が変更される可能性があります。

--with-secret

^ -with-colons を使用した公開キー一覧に、秘密鍵の存在に関する情報を追加します。

OpenPGPプロトコル固有のオプション

--force-ocb
--force-aead

AEAD暗号化をMDC暗号化よりも優先して使用します。 AEADは、従来のMDC方式よりも最新で高速な認証暗号化方式です。 --force-aead はエイリアスであり、非推奨です。 --chunk-size オプションも参照してください。

--force-mdc
--disable-mdc

これらのオプションは古く、GnuPG 2.2.8以降は効果がありません。 MDCは、キーでAEADアルゴリズムが使用できると示されている場合を除き、常に使用されます。 ただし、レガシーの非MDCメッセージの作成が例外的に必要な場合は、--rfc2440 オプションを使用できます。

--disable-signer-uid

デフォルトでは、署名鍵のユーザーIDがデータ署名に組み込まれます。 現在、これは、ローカルユーザーまたは送信者を使用してメールアドレスで署名鍵が指定されている場合にのみ行われます。 この情報は、検証者がキーを特定するのに役立ちます。 --auto-key-retrieve オプションも参照してください。

--include-key-block
--no-include-key-block

このオプションは、実際の署名鍵をデータ署名に埋め込みます。 埋め込まれた鍵は、署名に使用された単一のユーザーIDと、有効な暗号化サブキーのみに縮小され、他のすべての情報は削除され、鍵と署名を小さく保ちます。 このオプションは、gpgsm オプション --include-certs のOpenPGP対応版であり、署名されたメッセージの受信者は、オンラインディレクトリを使用して鍵を検索せずに、送信者に暗号化して返信できます。 デフォルトは--no-include-key-blockです。 --auto-key-import オプションも参照してください。

--personal-cipher-preferences string

個人の暗号アルゴリズムの優先順位リストを文字列に設定します。 gpg --version を使用して、利用可能なアルゴリズムのリストを取得し、none を使用して優先順位を設定しないようにします。 これにより、ユーザーは受信者の鍵の優先順位で選択されたアルゴリズムを安全にオーバーライドできます。GPGは、すべての受信者で使用できるアルゴリズムのみを選択します。 このリストで最も優先順位の高い暗号アルゴリズムは、--symmetric 暗号化コマンドでも使用されます。

--personal-digest-preferences string

個人のダイジェストアルゴリズムの優先順位リストを文字列に設定します。 gpg --version を使用して、利用可能なアルゴリズムのリストを取得し、none を使用して優先順位を設定しないようにします。 これにより、ユーザーは受信者の鍵の優先順位で選択されたアルゴリズムを安全にオーバーライドできます。GPGは、すべての受信者で使用できるアルゴリズムのみを選択します。 このリストで最も優先順位の高いダイジェストアルゴリズムは、暗号化なしで署名する場合(例:--clear-sign または --sign)にも使用されます。


--personal-compress-preferences 文字列
個人の圧縮設定のリストを文字列に設定します。`gpg --version` を使用して利用可能なアルゴリズムのリストを取得し、`none` を使用して設定を無効にします。これにより、ユーザーは受信者のキー設定で選択されたアルゴリズムを安全にオーバーライドできます。なぜなら、GnuPG はすべての受信者で利用可能なアルゴリズムのみを選択するからです。このリストで最も優先度の高い圧縮アルゴリズムは、受信者のキーを考慮する必要がない場合(例:`--symmetric`)にも使用されます。

--s2k-cipher-algo 名前
パスフレーズを使用して対称暗号化する場合、`--personal-cipher-preferences` および `--cipher-algo` が指定されていない場合は、`名前` を暗号アルゴリズムとして使用します。デフォルトは AES-128 です。

--s2k-digest-algo 名前
対称暗号化のパスフレーズを処理するために使用されるダイジェストアルゴリズムとして `名前` を使用します。デフォルトは SHA-1 です。

--s2k-mode n
対称暗号化のパスフレーズの処理方法を選択します。`n` が 0 の場合、プレーンなパスフレーズ(通常は推奨されません)が使用され、1 の場合はパスフレーズにソルト(使用すべきではありません)が追加され、3(デフォルト)の場合は、プロセス全体が `--s2k-count` で指定された回数だけ繰り返されます。

--s2k-count n
対称暗号化のパスフレーズ処理を繰り返す回数を指定します。この値は、1024 から 65011712(両端を含む)の範囲でなければなりません。デフォルトは gpg-agent から取得されます。1024~65011712 の範囲内のすべての値が有効であるわけではなく、無効な値が選択された場合、GnuPG は最も近い有効な値に切り上げます。このオプションは、`--s2k-mode` がデフォルトの 3 に設定されている場合にのみ意味を持ちます。

準拠オプション

これらのオプションは、GnuPG の準拠を制御します。一度にアクティブにできるのは、これらのオプションのうち 1 つだけです。複数のオプションが指定された場合、最後に指定されたオプションが他のすべてのオプションを上書きします。デフォルト設定がほとんどの場合正しいことに注意してください。使用する前に、[他の OpenPGP プログラムとの相互運用性]セクションを参照してください。

--gnupg
標準の GnuPG 動作を使用します。これは LibrePGP の動作であり、OpenPGP と一部重複する別のドラフトプロトコルです。

--openpgp
すべてのパケット、暗号、およびダイジェストオプションを OpenPGP 互換(RFC-9580)の動作に設定します。GnuPG によって RFC-9580 のすべてが実装されているわけではありません。これはデフォルトのオプションであるため、通常は必要ありませんが、`gpg.conf` ファイル内の別の準拠オプションをオーバーライドするのに役立つ場合があります。

--rfc4880
すべてのパケット、暗号、およびダイジェストオプションを厳密な RFC-4880 動作に設定します。RFC-4880 は、OpenPGP のレガシーバージョンです。このオプションは `--allow-old-cipher-algos` を暗黙的に設定します。

--rfc4880bis
このオプションは廃止され、`--gnupg` のエイリアスとして扱われます。

--rfc2440
すべてのパケット、暗号、およびダイジェストオプションを厳密な RFC-2440 動作に設定します。RFC-2440 は、非常に古いバージョンの OpenPGP です。このオプションを使用すると、暗号化パケットがレガシーモードで作成され、MDC 保護がなくなります。これは危険であり、実験でのみ使用する必要があります。このオプションは `--allow-old-cipher-algos` を暗黙的に設定します。`--ignore-mdc-error` オプションも参照してください。

--pgp6 このオプションは廃止され、--pgp7のエイリアスとして扱われます。

--pgp7 すべてのオプションを、可能な限りPGP 7に準拠するように設定します。これにより、IDEA、3ES、CAST5、AES128、AES192、AES256、およびTWOFISHの暗号、MD5、SHA1、およびRIPEMD160のハッシュ、およびnoneとZIPの圧縮アルゴリズムが許可されます。このオプションは--escape-from-linesを意味し、--throw-keyidsを無効にします。

--pgp8 すべてのオプションを、可能な限りPGP 8に準拠するように設定します。PGP 8は、以前のバージョンのPGPよりもOpenPGP標準に近いため、これは--throw-keyidsを無効にし、--escape-from-linesを設定するだけです。SHA224、SHA384、およびSHA512ダイジェストを除くすべてのアルゴリズムが許可されます。

--compliance 文字列
このオプションは、上記のオプションのいずれかの代わりに使うことができます。文字列の有効な値は、上記のオプション名(先頭のダブルダッシュなし)であり、文字列に対して「help」を使用すると、他の有効な値も表示されます。

--min-rsa-length n
このオプションは、より厳格なキーサイズの要件のために、「de-vs」コンプライアンスモードを調整します。たとえば、3000という値は、rsa2048およびdsa2048キーをVS-NfDに準拠しないキーに変換します。

--require-compliance
データが現在のコンプライアンスモードのルールに従って暗号化されているかどうかを確認するには、gpgユーザーはステータス行を評価する必要があります。これにより、フロントエンドはコンプライアンスチェックをより柔軟な方法で処理できます。ただし、スクリプトでの使用では、ステータス行の評価にはかなりの労力が必要であるため、このオプションを使用すると、コンプライアンスルールが満たされていない場合に、gpgプロセスがエラーで終了することが保証されます。ただし、このオプションは現在、「de-vs」モードでのみ効果があります。

通常行わない操作

-n
--dry-run
変更を行わない(これは完全に実装されていません)。

--list-only
一部のコマンドの動作を変更します。これは--dry-runに似ていますが、いくつかの点で異なります。このオプションのセマンティクスは、将来拡張される可能性があります。現在、これは実際の復号化パスをスキップするため、暗号化キーの高速なリスト表示が可能になります。

-i
--interactive
ファイルを上書きする前に確認を求めます。

--compatibility-flags フラグ
非準拠のキーまたはデータによって発生する問題を回避するために、互換性フラグを設定します。フラグは、カンマで区切られたフラグ名のリストで指定され、OR演算されます。特別なフラグ「none」は、リストをクリアし、空のリストから再開できるようにします。利用可能なフラグのリストを取得するには、単に「help」を使用します。

--debug-level レベル
問題を調査するためのデバッグレベルを選択します。レベルは数値またはキーワードにすることができます。

none デバッグは一切行いません。1未満の値もキーワードの代わりに使うことができます。

basic いくつかの基本的なデバッグメッセージ。1〜2の値を使用することもできます。

advanced より詳細なデバッグメッセージ。3〜5の値を使用することもできます。

expert さらに詳細なメッセージ。6〜8の値を使用することもできます。

guru 可能なすべてのデバッグメッセージ。8より大きい値を使用することもできます。ハッシュトレースファイルの作成は、このキーワードが使用された場合にのみ有効になります。

これらのメッセージが実際のデバッグフラグにどのようにマッピングされるかは指定されておらず、このプログラムの新しいリリースで変更される可能性があります。ただし、デバッグに最適な方法で慎重に選択されています。

--debug フラグ

デバッグフラグを設定します。すべてのフラグはOR演算され、フラグはC構文(例:0x0042)またはカンマで区切られたフラグ名のリストとして指定できます。サポートされているすべてのフラグのリストを取得するには、「help」という単語を使用できます。このオプションはデバッグでのみ役立ち、動作は予告なしに変更される場合があります。

--debug-all

すべての役立つデバッグフラグを設定します。

--debug-iolbf

stdoutをラインバッファモードに設定します。このオプションは、コマンドラインで指定された場合にのみ有効です。

--debug-set-iobuf-size n

IOBUFのバッファサイズをnキロバイトに変更します。0を指定すると、現在のサイズが出力されます。注意:これはメンテナー専用のオプションであり、予告なしに変更または削除される可能性があります。

--debug-allow-large-chunks

ソフトウェアテストおよび実験を容易にするために、このオプションでは最大4 EiB(--chunk-size 62)の制限を指定できます。

--debug-ignore-expiration

このオプションは、特定のキーの有効期限をオーバーライドしようとします。これは、特定の回帰テストでのみ役立ちます。

--faked-system-time epoch

このオプションはテストでのみ役立ちます。システム時間をエポック(1970年からの経過秒数)に設定します。または、エポックを完全なISOタイム文字列(例:"20070924T154812")として指定することもできます。

エポックの後に感嘆符(!)を付けると、システム時間は指定された時間に固定されているように表示されます。

--full-timestrings

印刷される作成および有効期限の日付と時刻の形式を、日付のみから日付と時刻に変更します。これは通常役に立たず、同じ情報は--with-colonsモードでも利用可能です。これらの長い文字列は、他の印刷されたデータともうまく揃いません。

--enable-progress-filter

特定のPROGRESSステータス出力を有効にします。このオプションを使用すると、フロントエンドはgpgがより大きなファイルを処理している間に進行状況インジケーターを表示できます。これを使用すると、わずかなパフォーマンスオーバーヘッドが発生します。

--status-fd n

特別なステータス文字列をファイル記述子nに書き込みます。詳細については、ドキュメントのDETAILSファイルを参照してください。

--status-file file

--status-fdと同じですが、ステータスデータはファイルfileに書き込まれます。

--logger-fd n

ログ出力をファイル記述子nに書き込み、STDERRには書き込みません。

--log-file file
--logger-file file

--logger-fdと同じですが、ロガーデータはファイルfileに書き込まれます。「socket://」を使用して、ソケットにログを記録できます。


--log-time

ログ出力の先頭にタイムスタンプを付加します。ログファイルが使用されていない場合でも同様です。

--attribute-fd n

属性サブパケットをファイルディスクリプタ n に書き込みます。これは、--status-fd と組み合わせて使用する場合に最も役立ちます。なぜなら、ステータスメッセージは、ファイルディスクリプタに配信されるストリームからさまざまなサブパケットを分離するために必要だからです。

--attribute-file file

--attribute-fd と同じですが、属性データはファイル file に書き込まれます。

--comment string
--no-comments

ASCII装飾メッセージまたはキーのプレーンテキスト署目に、string をコメント文字列として使用します(--armor を参照)。デフォルトの動作は、コメント文字列を使用しないことです。--comment を複数回繰り返して、複数のコメント文字列を取得できます。--no-comments はすべてのコメントを削除します。 個々のコメントの長さを 60 文字未満に保つことをお勧めします。これは、メールプログラムでそのような行が折り返される問題を回避するためです。コメント行は、他のすべてのヘッダー行と同様に、署名によって保護されません。

--emit-version
--no-emit-version

ASCII装飾出力にバージョン文字列を含めるように強制します。1回指定すると、プログラムの名前とメジャー番号のみが出力されます。2回指定すると、マイナー番号も出力され、3回指定するとマイクロ番号が追加され、4回指定するとオペレーティングシステム識別子も追加されます。--no-emit-version(デフォルト)は、バージョン行を無効にします。

--sig-notation {name=value}
--cert-notation {name=value}
-N, --set-notation {name=value}

name-value ペアを署名データとして署名に配置します。name は、印刷可能な文字またはスペースのみで構成する必要があり、_ の形式で '@' 文字を含める必要があります(適切なキー名とドメイン名を置き換えてください)。これは、IETF の予約済みノテーション名前空間の汚染を防ぐのに役立ちます。--expert フラグは、'@' チェックをオーバーライドします。value は任意の印刷可能な文字列にすることができます。UTF-8 でエンコードされるため、--display-charset が正しく設定されていることを確認する必要があります。name の先頭に感嘆符 (!) を付けると、ノテーションデータは重要としてフラグが立てられます (rfc4880:5.2.3.16)。--sig-notation はデータ署名に対するノテーションを設定します。--cert-notation はキー署名(認証)に対するノテーションを設定します。--set-notation は両方を設定します。

ノテーション名で使用できる特別なコードがあります。%k は、署名されているキーのキー ID に拡張され、%K は署名されているキーの長いキー ID に拡張され、%f は署名されているキーのフィンガープリントに拡張され、%s は署名を行うキーのキー ID に拡張され、%S は署名を行うキーの長いキー ID に拡張され、%g は署名を行うキーのフィンガープリント(サブキーである可能性があります)に拡張され、%p は署名を行うキーのプライマリキーのフィンガープリントに拡張され、%c は OpenPGP スマートカードからの署名カウントに拡張され、%% は単一の % になります。%k、%K、および %f は、キー署名(認証)を行う場合にのみ意味を持ち、%c は OpenPGP スマートカードを使用する場合にのみ意味を持ちます。


--known-notation name

既知のクリティカルシグネチャ表記名をリストに追加します。これにより、指定された名前のクリティカルシグネチャ表記を持つシグネチャが、gpgによって「不正」としてマークされなくなります。gpgはデフォルトで、いくつかのクリティカルシグネチャ表記名を認識しています。

--sig-policy-url string
--cert-policy-url string
--set-policy-url string

文字列をシグネチャのポリシーURL(RFC4880:5.2.3.20)として使用します。文字列の先頭に感嘆符(!)を付けると、ポリシーURLパケットがクリティカルとしてフラグが設定されます。--sig-policy-urlは、データシグネチャのポリシーURLを設定します。--cert-policy-urlは、キーシグネチャ(認証)のポリシーURLを設定します。--set-policy-urlは、両方を設定します。

表記データの%展開で使用できるものと同じ展開が、ここでも使用できます。

--sig-keyserver-url string

文字列をデータシグネチャの推奨キーサーバーURLとして使用します。文字列の先頭に感嘆符(!)を付けると、キーサーバーURLパケットがクリティカルとしてフラグが設定されます。

表記データの%展開で使用できるものと同じ展開が、ここでも使用できます。

--set-filename string

メッセージ内に格納されるファイル名を文字列として使用します。これは、実際のファイル名をメッセージで使用するようにするデフォルトの動作をオーバーライドします。文字列に空の文字列を使用すると、事実上、出力からファイル名が削除されます。

--for-your-eyes-only
--no-for-your-eyes-only

メッセージに「あなただけのために」フラグを設定します。これにより、gpgは--outputオプションが指定されていない限り、ファイルを保存することを拒否し、PGPは「安全なビューア」と主張されたTempest耐性のあるフォントを使用してメッセージを表示します。このオプションは--set-filenameをオーバーライドします。--no-for-your-eyes-onlyは、このオプションを無効にします。

--use-embedded-filename
--no-use-embedded-filename

データに埋め込まれた名前を持つファイルを作成しようとします。これは危険なオプションであり、送信者にファイル保存方法を制御させるため、ファイルを上書きする可能性があります。デフォルトはnoです。--outputオプションは、このオプションをオーバーライドします。

より良いアプローチは、一時ファイル名にデコードしてから、埋め込まれたファイル名が安全であることを確認した後、そのファイルを埋め込まれたファイル名に変更することです。--status-fdオプションを使用すると、gpgはファイル名をプレーンテキストのステータスメッセージの一部として通知します。ファイル名が重要な場合は、gpgtarの使用も別のオプションです。gpgtarはファイルを上書きすることはありませんが、ファイルを新しいディレクトリにデコードします。

また、最新のバージョン5シグネチャが使用されていない限り、埋め込まれたファイル名は署名されたデータの一部ではないことに注意してください。

--cipher-algo name

暗号アルゴリズムとして名前を使用します。--versionコマンドでプログラムを実行すると、サポートされているアルゴリズムのリストが表示されます。これを使用しない場合、暗号アルゴリズムはキーに保存されている設定から選択されます。一般に、このオプションを使用することは推奨されません。これは、OpenPGP標準に違反する可能性があります。--personal-cipher-preferencesオプションは、これと同じことを安全に行う方法です。


--digest-algo name

メッセージダイジェストアルゴリズムとして name を使用します。プログラムをコマンド --version で実行すると、サポートされているアルゴリズムのリストが表示されます。一般に、このオプションを使用することは推奨されません。なぜなら、OpenPGP標準に違反する可能性があるからです。オプション --personal-digest-preferences を使用すると、より安全に同じことを達成できます。

--compress-algo name

圧縮アルゴリズム name を使用します。「zlib」は RFC-1950 ZLIB 圧縮です。「zip」は RFC-1951 ZIP 圧縮であり、PGP で使用されます。「bzip2」は、より現代的な圧縮方式であり、zip または zlib よりも優れた圧縮を実現できますが、圧縮および解凍中に使用するメモリがより多くなります。「uncompressed」または「none」は、圧縮を無効にします。このオプションが使用されない場合、デフォルトの動作は、受信者のキー設定を調べて、受信者がサポートするアルゴリズムを確認することです。すべて失敗した場合、最大互換性のために ZIP が使用されます。

ZLIB は、圧縮ウィンドウサイズが 8k に制限されないため、ZIP よりも優れた圧縮結果が得られる可能性があります。BZIP2 はさらに優れた圧縮結果をもたらす可能性がありますが、圧縮および解凍中に大幅に多くのメモリを使用します。これは、メモリが限られた状況では重要になる可能性があります。ただし、PGP(すべてのバージョン)は ZIP 圧縮のみをサポートしていることに注意してください。ZIP または「none」以外のアルゴリズムを使用すると、メッセージが PGP で読めなくなります。一般に、このオプションを使用することは推奨されません。なぜなら、OpenPGP標準に違反する可能性があるからです。オプション `--personal-compress-preferences` を使用すると、より安全に同じことを達成できます。

--cert-digest-algo name

キーに署名するときに使用するメッセージダイジェストアルゴリズムとして name を使用します。プログラムをコマンド --version で実行すると、サポートされているアルゴリズムのリストが表示されます。GnuPG がサポートするが、他の OpenPGP 実装がサポートしないアルゴリズムを選択すると、一部のユーザーが作成したキー署名を使用できなくなるか、最悪の場合、キー全体が使用できなくなる可能性があることに注意してください。また、公開鍵アルゴリズムは、指定されたダイジェストアルゴリズムと互換性がある必要があります。したがって、任意のダイジェストアルゴリズムを選択すると、下位の暗号化レイヤーからエラーメッセージが表示されたり、セキュリティ上の欠陥が発生したりする可能性があります。

--disable-cipher-algo name

name を暗号アルゴリズムとして使用することを許可しません。指定された name はチェックされないため、後でロードされたアルゴリズムも無効になります。

--disable-pubkey-algo name

name を公開鍵アルゴリズムとして使用することを許可しません。指定された name はチェックされないため、後でロードされたアルゴリズムも無効になります。

--throw-keyids
--no-throw-keyids

暗号化されたメッセージに受信者のキー ID を含めないようにします。これにより、受信者を隠蔽し、ある程度のトラフィック分析対策になります(ある程度のソーシャルエンジニアリングを使用すれば、メッセージを解読できる人は、他の受信者のうち誰が疑わしいかをチェックできます)。受信側では、利用可能なすべての秘密鍵を試す必要があるため、解読プロセスが遅くなる可能性があります。--no-throw-keyids は、このオプションを無効にします。このオプションは、基本的にすべての受信者に対して --hidden-recipient を使用するのと同じです。


--not-dash-escaped
このオプションは、プレーンテキスト署名の動作を変更し、パッチファイルで使用できるようにします。すべての空白と行末が含まれるため、このような暗号化されたファイルを電子メールで送信しないでください。行の先頭に 5 つのハイフンがある場合、このオプションは使用できません。パッチファイルには、このような行はありません。特別な暗号化ヘッダー行が、GnuPG にこのプレーンテキスト署名オプションを通知します。

--escape-from-lines
--no-escape-from-lines
一部のメーラーは、"From " で始まる行を "\>From " に変更するため、プレーンテキスト署名を作成する際に、このような行を特別な方法で処理して、メーリングシステムが署名を壊さないようにすることが重要です。他のすべての PGP バージョンも同じように処理します。デフォルトで有効になっています。`--no-escape-from-lines` を使用すると、このオプションを無効にできます。

--passphrase-repeat n
gpg がパスフレーズを繰り返し要求する回数を指定します。これは、パスフレーズを覚えるのに役立ちます。デフォルトでは 1 回繰り返しです。0 に設定すると、パスフレーズの繰り返しを無効にできます。n が 1 より大きい場合、最新の 2 つの入力フィールドを備えた pinentry が使用されている場合でも、pinentry ウィンドウが n + 1 回表示されます。

--passphrase-fd n
ファイル記述子 n からパスフレーズを読み取ります。ファイル記述子 n からは、最初の行のみが読み取られます。n に 0 を使用すると、パスフレーズは STDIN から読み取られます。これは、1 つのパスフレーズのみが指定されている場合に使用できます。

--passphrase-file file
ファイルからパスフレーズを読み取ります。ファイルから最初の行のみが読み取られます。これは、1 つのパスフレーズのみが指定されている場合に使用できます。明らかに、ファイルに保存されたパスフレーズは、他のユーザーがこのファイルを読み取れる場合、セキュリティが低い可能性があります。このオプションは、可能な場合は使用しないでください。

--passphrase string
文字列をパスフレーズとして使用します。これは、1 つのパスフレーズのみが指定されている場合に使用できます。明らかに、これはマルチユーザーシステムではセキュリティが低い可能性があります。このオプションは、可能な場合は使用しないでください。

--pinentry-mode mode
pinentry モードを mode に設定します。mode に使用できる値は次のとおりです。

default
エージェントのデフォルト (つまり、`ask`) を使用します。

ask     Pinentry の使用を強制します。

cancel      Pinentry のキャンセルボタンの使用をエミュレートします。

error       Pinentry エラー(「Pinentry がありません」)を返します。

loopback
    Pinentry クエリを呼び出し元にリダイレクトします。 Pinentry とは異なり、ユーザーがパスワードを間違って入力した場合、再度プロンプ​​トは表示されません。

--no-symkey-cache
    対称的な暗号化および復号化で使用されるパスフレーズキャッシュを無効にします。 このキャッシュは、メッセージ固有のソルト値に基づいています(--s2k-mode を参照)。

--request-origin origin
    操作が最終的に origin から発生したと GnuPG に伝えます。 origin に応じて、特定の制限が適用され、Pinentry には origin に関する追加のメモが含まれる場合があります。 origin のサポートされている値は、デフォルトの local、リモート origin を示す remote、または Web ブラウザによって要求された操作を示す browser です。

--command-fd n
    これは、非推奨の共有メモリ IPC モードの代替手段です。 このオプションが有効になっている場合、質問に対するユーザー入力は TTY からではなく、指定されたファイル記述子から期待されます。 --status-fd と組み合わせて使用​​する必要があります。 使用方法の詳細については、ソース配布の doc/DETAILS ファイルを参照してください。

--command-file file
    --command-fd と同じですが、コマンドは file ファイルから読み取られます。

--allow-non-selfsigned-uid
--no-allow-non-selfsigned-uid
    署名されていないユーザー ID を持つキーのインポートと使用を許可します。 これは推奨されません。署名されていないユーザー ID は、簡単に偽造できるためです。 --no-allow-non-selfsigned-uid は、これを無効にします。

--allow-freeform-uid
    新しいユーザー ID を生成するときに、ユーザー ID の形式に関するすべてのチェックを無効にします。 このオプションは、ユーザー ID の事実上の標準形式が保証されないため、非常に特別な環境でのみ使用する必要があります。

--ignore-time-conflict
    GnuPG は通常、キーと署名に関連付けられたタイムスタンプが妥当な値であることを確認します。 ただし、時計の問題により、署名がキーよりも古いように見える場合があります。 このオプションを使用すると、これらのチェックは警告として扱われます。 タイムスタンプが原因でサブキーに問題がある場合は、--ignore-valid-from も参照してください。

--ignore-valid-from
    GnuPG は通常、将来作成されたサブキーは選択して使用しません。 このオプションにより、そのようなキーの使用が許可され、バージョン 1.0.7 よりも前の動作になります。 時計に問題がある場合にのみ、このオプションを使用しないでください。 署名のタイムスタンプに問題がある場合は、--ignore-time-conflict も参照してください。

--ignore-crc-error
    OpenPGP で使用される ASCII アーマーは、CRC チェックサムによって送信エラーから保護されます。 時々、CRC は送信チャネルのどこかで破損しますが、実際のコンテンツ(OpenPGP プロトコルによって保護されている)は問題ありません。 このオプションにより、GnuPG は CRC エラーを無視できます。

--ignore-mdc-error
    このオプションは、MDC 整合性保護の失敗を警告に変更します。 MDC を使用していない古いメッセージを復号化するために必要です。 また、メッセージが部分的に破損しているが、破損したメッセージからできるだけ多くのデータを取得する必要がある場合にも役立ちます。 MDC が欠落しているか、失敗している場合、それは攻撃の兆候である可能性があります。 注意して使用してください。 --rfc2440 も参照してください。

--allow-old-cipher-algos

古い暗号アルゴリズム(3DES、IDEA、CAST5など)は、64ビットのブロックを使用してデータを暗号化します。最新のアルゴリズムは、代わりに128ビットのブロックを使用します。これらの古いアルゴリズムに対する特定の攻撃を回避するために、同じキーを使用して150MiBを超えるデータを暗号化しないことを推奨します。この理由から、GnuPGは、このオプションが指定されていない限り、64ビットのブロックサイズを持つアルゴリズムを暗号化に使用することを許可しません。一部のコンプライアンスモードでは、このフラグを設定またはクリアするため、このフラグはコンプライアンスモードの設定後で使用する必要があります。

--allow-weak-digest-algos

既知の脆弱なダイジェストアルゴリズムで作成された署名は、通常、「無効なダイジェストアルゴリズム」というメッセージで拒否されます。このオプションにより、そのような弱いアルゴリズムで作成された署名の検証が可能になります。MD5は、デフォルトでGnuPGによって脆弱と見なされる唯一のダイジェストアルゴリズムです。また、--weak-digestを参照して、他のダイジェストアルゴリズムを拒否することもできます。

--weak-digest name

指定されたダイジェストアルゴリズムを弱いものとして扱います。弱いダイジェストアルゴリズムで作成された署名は、通常拒否されます。このオプションは、複数のアルゴリズムを弱いものとして扱う必要がある場合は、複数回指定できます。また、--allow-weak-digest-algosを参照して、弱いダイジェストの拒否を無効にすることもできます。MD5は常に弱いものと見なされ、明示的にリストする必要はありません。

--allow-weak-key-signatures

SHA-1を使用して作成されたサードパーティのキー署名に対する、わずかな衝突攻撃のリスクを回避するために、これらのキー署名は無効と見なされます。このオプションを使用すると、この制限をオーバーライドできます。

--override-compliance-check

これは一時的なオプションであり、現在は効果がありません。

--no-default-keyring

デフォルトのキーリングをキーリングのリストに追加しないでください。ただし、GnuPGはほとんどすべての操作でキーリングを必要とします。したがって、このオプションを使用し、--keyring経由で別のキーリングを提供しない場合、GnuPGはデフォルトのキーリングを使用します。

'common.conf'でuse-keyboxdオプションが有効になっている場合、キーリングは一切使用されず、すべてのキーはkeyboxdプロセスによって独自のデータベースで管理されます。

--no-keyring

キーリングを一切使用しません。これは、デフォルトとキーリングを指定するすべてのオプションをオーバーライドします。

--skip-verify

署名の検証ステップをスキップします。署名の検証が不要な場合、このオプションを使用すると、復号化を高速化できます。

--with-key-data

コロンで区切られたキーリスト(--with-colonsと同様)を出力し、公開キーデータも出力します。

--list-signatures
--list-sigs

--list-keysと同じですが、署名もリストされます。このコマンドの効果は、--list-keysに--with-sig-listを指定した場合と同じです。ただし、--check-signaturesとは対照的に、キー署名は検証されません。このコマンドを使用して、ローカルキーリングにない署名キーのリストを作成できます。例:


gpg --list-sigs --with-colons USERID | \
awk -F: '$1=="sig" && $2=="?" {if($13){print $13}else{print $5}}'

--fast-list-mode

リストコマンドの出力を高速化します。これは、一部の情報を省略することで実現されます。一部のアプリケーションでは、ユーザーIDや信頼情報が不要です。このオプションを使用すると、より高速なリスト表示が可能です。このオプションの正確な動作は、将来のバージョンで変更される可能性があります。情報が不足している場合は、このオプションを使用しないでください。

--no-literal

通常の使用を想定していません。ソースコードを参照して、どのような用途に使用できるかを確認してください。

--set-filesize

通常の使用を想定していません。ソースコードを参照して、どのような用途に使用できるかを確認してください。

--show-session-key

1つのメッセージで使用されたセッションキーを表示します。--override-session-key がその対応するオプションです。

キーエスクローは問題があると考えていますが、ユーザーは、すべての秘密鍵に対して暗号化されたメッセージを公開するのではなく、特定のメッセージの内容を開示するか、刑務所に行くかの選択肢を持つべきです。

このオプションは、攻撃的または不適切な暗号化されたメッセージを受信した場合に、メッセージングシステムの管理者に、送信された暗号文が不適切な平文に対応していることを証明し、管理者が違反ユーザーに対して措置を講じるのに役立ちます。

--override-session-key string
--override-session-key-fd fd

公開鍵ではなく、文字列またはファイル記述子 fd から読み取ったセッションキーを使用します。文字列の形式は、--show-session-key で出力される形式と同じです。このオプションは通常使用されませんが、誰かが暗号化されたメッセージの内容を開示するように強制した場合に役立ちます。このオプションを使用すると、秘密鍵を公開することなく、これを行うことができます。ただし、--override-session-key を使用すると、セッションキーがグローバルプロセステーブルを通じてすべてのローカルユーザーに公開される可能性があることに注意してください。多くの場合、このオプションを --no-keyring と組み合わせて使用​​すると便利です。

--ask-sig-expire
--no-ask-sig-expire

データ署名を作成するときに、有効期限をプロンプトで表示します。このオプションが指定されていない場合、--default-sig-expire で設定された有効期限が使用されます。--no-ask-sig-expire はこのオプションを無効にします。

--default-sig-expire

署名の有効期限に使用するデフォルトの有効期限。有効な値は、「0」で有効期限なし、「数字」の後に「d」(日数)、「w」(週)、「m」(月)、または「y」(年)を付けて(例:「2m」は2か月、「5y」は5年)、または「YYYY-MM-DD」の形式で絶対日付を指定します。デフォルトは「0」です。

--ask-cert-expire
--no-ask-cert-expire

キー署名を作成するときに、有効期限をプロンプトで表示します。このオプションが指定されていない場合、--default-cert-expire で設定された有効期限が使用されます。--no-ask-cert-expire はこのオプションを無効にします。

--default-cert-expire

キー署名の有効期限に使用するデフォルトの有効期限。有効な値は、「0」で有効期限なし、「数字」の後に「d」(日数)、「w」(週)、「m」(月)、または「y」(年)を付けて(例:「2m」は2か月、「5y」は5年)、または「YYYY-MM-DD」の形式で絶対日付を指定します。


--default-new-key-algo string

このオプションを使用して、キー生成のデフォルトアルゴリズムを変更できます。文字列は、--quick-add-keyコマンドに必要な引数と似ていますが、わずかに異なります。詳細はソースコードを参照する必要があります。高度なキー生成コマンドを使用して、キーアルゴリズムを直接指定できます。コンプライアンスモードを設定すると、このフラグが設定またはクリアされるため、コンプライアンスモードの設定後にのみ使用する必要があります。

--no-auto-trust-new-key

新しいキーを作成するときに、新しいキーの ownertrust が ultimate に設定されます。このオプションはこれを無効にし、ユーザーが ownertrust 値を手動で割り当てる必要があります。

--force-sign-key

このオプションは、--quick-sign-key--quick-lsign-key コマンド、および --edit-key の "sign" サブコマンドの動作を変更し、キー署名がすでに存在する場合でも、キー署名の作成を強制します。

--forbid-gen-key

このオプションは、グローバル設定ファイルで使用して、キー生成コマンドの使用を禁止することを目的としています。それらのコマンドは、Not Enabled のエラーコードで失敗します。

--allow-secret-key-import

このオプションは廃止されており、どこにも使用されていません。

--allow-multiple-messages

--no-allow-multiple-messages

これらのオプションは廃止されており、GnuPG 2.2.8 以降は効果がありません。

--enable-special-filenames

このオプションは、'-&n' の形式のファイル名(n は 0 以上の 10 進数)が、ファイルではなくファイル記述子 n を参照するモードを有効にします。

--no-expensive-trust-checks

実験的な使用のみ。

--preserve-permissions

秘密鍵リングのパーミッションをユーザー読み取り/書き込みのみに変更しないようにします。本当に理解している場合にのみ、このオプションを使用してください。

--default-preference-list string

デフォルトの優先順位リストを文字列に設定します。この優先順位リストは、新しいキーに使用され、--edit-key メニューの "setpref" のデフォルトになります。

--default-keyserver-url name

デフォルトのキーサーバー URL を name に設定します。このキーサーバーは、キー生成や優先順位の変更など、新しい自己署名をキーに書き込むときに、キーサーバー URL として使用されます。

--list-config

GnuPG のさまざまな内部構成パラメーターを表示します。このオプションは、GnuPG を呼び出してタスクを実行する外部プログラムを対象としており、一般的には役に立ちません。詳細については、ソースディストリビューションの doc/DETAILS ファイルを参照してください。--list-config--with-colons が設定されている場合にのみ使用できます。

--list-gcrypt-config

Libgcrypt のさまざまな内部構成パラメーターを表示します。

--gpgconf-list

このコマンドは --list-config と似ていますが、一般的には gpgconf ツールによって内部的にのみ使用されます。


--gpgconf-test

これは、ほとんどダミーアクションです。ただし、構成ファイルを解析し、構成ファイルが GnuPG の起動を妨げる場合に失敗します。したがって、これは構成ファイルの構文チェックを実行するために使用できます。

--chuid uid

現在のユーザーを uid に変更します。uid は数値または名前のいずれかです。これは、root アカウントから別のユーザーの GnuPG を実行するために使用できます。uid が現在の UID でない場合、標準の PATH が設定され、環境変数 GNUPGHOME がリセットされます。これをオーバーライドするには、--homedir オプションを使用できます。このオプションは、コマンドラインで使用した場合にのみ効果があります。 このオプションは、Windows では現在、まったく効果がありません。

非推奨のオプション

-t, --textmode
--no-textmode

入力ファイルをテキストとして扱い、OpenPGP 準拠のテキスト形式で標準の "CRLF" 行末文字で保存します。これにより、暗号化または署名されたデータがテキストであり、ローカルシステムで適切な行末文字に変換する必要があることを受信者に通知するための必要なフラグも設定されます。このオプションは、異なる行末文字の慣例を持つ 2 つのプラットフォーム間で通信する場合(UNIX 類似から Mac、Mac から Windows など)に役立ちました。--no-textmode はこのオプションを無効にし、デフォルトです。これはレガシーオプションであり、最新のソフトウェアでは使用すべきではありません。

--force-v3-sigs
--no-force-v3-sigs

--force-v4-certs
--no-force-v4-certs

これらのオプションは古くなっており、GnuPG 2.1 以降では効果がありません。

--show-photos
--no-show-photos

--list-keys、--list-signatures、--list-public-keys、--list-secret-keys、および署名の検証で、キーに添付されているフォト ID も表示するようにします。--photo-viewer も参照してください。これらのオプションは非推奨です。代わりに --list-options [no-]show-photos および/または --verify-options [no-]show-photos を使用してください。

--show-keyring

キーリストの先頭にキーリング名を表示して、特定のキーがどのキーリングにあるかを示します。このオプションは非推奨です。代わりに --list-options [no-]show-keyring を使用してください。

--show-notation
--no-show-notation

--list-signatures または --check-signatures のリスト、および署名に注釈が含まれている場合に、署名とともに注釈も表示します。これらのオプションは非推奨です。代わりに --list-options [no-]show-notation および/または --verify-options [no-]show-notation を使用してください。

--show-policy-url
--no-show-policy-url

--list-signatures または --check-signatures のリスト、および署名にポリシー URL が含まれている場合に、署名とともにポリシー URL も表示します。これらのオプションは非推奨です。代わりに --list-options [no-]show-policy-url および/または --verify-options [no-]show-policy-url を使用してください。

--personal-aead-preferences string

このオプションは非推奨であり、バージョン 2.3.9 以降では効果がありません。

--aead-algo name

このオプションは非推奨であり、バージョン 2.3.9 以降では効果がありません。

gpg -se -r Bob file
Bob ユーザーに対して署名して暗号化します。

gpg --clear-sign ファイル
プレーンテキストの署名を作成する

gpg -sb ファイル
分離署名を作成する

gpg -u 0x12345678 -sb ファイル
キー 0x12345678 を使用して分離署名を作成する

gpg --list-keys ユーザーID
キーを表示する

gpg --fingerprint ユーザーID
フィンガープリントを表示する

gpg --verify pgpファイル
gpg --verify 署名ファイル [データファイル]
ファイルの署名を検証し、データを出力しない。2 番目の形式は、分離署名に使用されます。署名ファイルは、ASCII でエンコードされた形式またはバイナリ形式であり、データファイルは署名されたデータです。データファイルが指定されていない場合、署名されたデータを保持するファイルの名前は、署名ファイルから拡張子 (".asc" または ".sig") を削除して構築するか、ユーザーにファイル名を尋ねます。--output オプションも使用されている場合、署名されたデータは、そのオプションで指定されたファイルに書き込まれます。標準出力に書き込むには、- を使用します。

ユーザー ID の指定方法

GnuPG にユーザー ID を指定する方法はいくつかあります。そのうちのいくつかは、gpg のみに有効で、残りは gpgsm のみに有効です。以下に、キーを指定する方法をすべて示します。

キー ID で。 この形式は、文字列の長さと内容、または 0x プレフィックスから推測されます。X.509 証明書のキー ID は、その SHA-1 フィンガープリントの最下位 64 ビットです。キー ID の使用は単なるショートカットであり、すべての自動処理ではフィンガープリントを使用する必要があります。

gpg を使用する場合、感嘆符 (!) を末尾に追加して、指定されたプライマリキーまたはセカンダリキーを使用し、使用するプライマリキーまたはセカンダリキーを推測しないようにすることができます。

最後の 4 行の例は、OpenPGP プロトコルによって内部で使用される形式で、キー ID を長い形式で示しています。--with-colons オプションを使用すると、長いキー ID を確認できます。

2345674
034E556E
0134756A
0AB123456

234ABBCC34567C4
0323456784E56EAB
01B3FED1347A5612
0234AABBCC34567C4

フィンガープリントで。 この形式は、文字列の長さと内容、または 0x プレフィックスから推測されます。 注意:gpgsm で利用できるのは 20 バイトのバージョンのフィンガープリントのみです(つまり、証明書の SHA-1 ハッシュです)。

gpg を使用する場合、感嘆符 (!) を末尾に追加して、指定されたプライマリキーまたはセカンダリキーを使用し、使用するプライマリキーまたはセカンダリキーを推測しないようにすることができます。

キー ID を指定する最適な方法は、フィンガープリントを使用することです。これにより、キー ID が重複した場合のあいまいさを回避できます。

1234343434343434434343434343434
1234343434343433434343434343734349A3434
012343434343434343434EAB3484343434343434
0E12343434343434343434EAB3484343434343434

gpgsm は、コロンを各ペアの 16 進数桁の間に挿入することも受け入れます。これは、X.509 フィンガープリントを提示する事実上の標準です。gpg は、キーリスト表示コマンドによって印刷された、スペースで区切られた SHA-1 フィンガープリントの使用も許可します。

OpenPGP ユーザー ID と完全に一致するもの。 これは、先頭に等号 (=) を付けて示されます。X.509 証明書には意味がありません。

=Heinrich Heine <_>

メールアドレスと完全に一致するもの。 これは、メールアドレスを通常どおり、左角括弧と右角括弧で囲んで示します。


<_>

メールアドレスの部分一致による検索。 検索文字列の前に @ を付けて指定します。これは部分文字列検索を使用しますが、メールアドレス(つまり、角括弧内)のみを考慮します。

@heinrichh

サブジェクトの DN の完全一致による検索。 これは、先頭にスラッシュを付け、RFC-2253 でエンコードされたサブジェクトの DN を続けて指定します。gpgsm --list-keys で出力される文字列は、読みやすくするために再配置および変更されているため使用できません。代わりに --with-colons を使用して、生の(ただし標準でエスケープされた)RFC-2253 文字列を出力してください。

/CN=Heinrich Heine,O=Poets,L=Paris,C=FR

発行者の DN の完全一致による検索。 これは、先頭にハッシュマークを付け、その後にスラッシュを付け、次に RFC-2253 でエンコードされた発行者の DN を続けて指定します。これにより、発行者のルート証明書が返されるはずです。上記の注意を参照してください。

#/CN=Root Cert,O=Poets,L=Paris,C=FR

シリアル番号と発行者の DN の完全一致による検索。 これは、ハッシュマーク、次にシリアル番号の 16 進数表現、次にスラッシュ、そして RFC-2253 でエンコードされた発行者の DN を続けて指定します。上記の注意を参照してください。

#4F03/CN=Root Cert,O=Poets,L=Paris,C=FR

キーグリップによる検索。 これは、アンパサンドの後に、40 個の 16 進数で表されるキーグリップが続きます。gpgsm は、--dump-cert コマンドを使用すると、キーグリップを出力します。

&D75F22C3F86E355877348498CDC92BD21010A480

部分文字列による一致。 これはデフォルトのモードですが、アプリケーションは、先頭にアスタリスクを付けて、これを明示的に示すことができます。大文字と小文字は区別されません。

Heine *Heine

`.` と `+` のプレフィックス

これらのプレフィックスは、末尾でアンカーされたメールアドレスの検索と、単語検索モードのために予約されています。まだ実装されておらず、これらを使用すると、予期しない動作になる可能性があります。

RFC-2253 形式の DN を使用することには、元のエンコードにマッピングできないという欠点がありますが、キーデータベースは、このエンコードをメタデータとして格納するため、これは問題ありません。

フィルター式

^ -import-filter および --export-filter オプションは、次の構文の式を使用します(角括弧はオプションの要素を示し、波括弧は繰り返しを示します。要素間の空白は許可されます)。

[lc] {[{flag}] PROPNAME op VALUE [lc]}

プロパティ名(PROPNAME)は、文字、数字、およびアンダースコアのみで構成できます。フィルターの種類の説明には、定義されているプロパティが記載されています。定義されていないプロパティが使用された場合、空の文字列と評価されます。特に明記されていない限り、VALUE は常に指定する必要があり、空の文字列にすることはできません。値の引用符は定義されていないため、値には && または || などの文字列を含めることはできません。これらは論理接続演算子として使用されます。-- フラグを使用して、この制限を解除できます。


数値は long int として計算されます。標準の C 構文が適用されます。lc は論理結合演算子であり、&& は連言、|| は選言です。式は連言から始まります。連言は選言よりも優先度が高くなります。VALUE が、いずれかの演算子で使用される文字で始まる場合、演算子の後にスペースが必要です。

サポートされている演算子(op)は次のとおりです。

`=~`    部分文字列が一致する必要があります。

`!~`    部分文字列が一致してはいけません。

`=` 完全な文字列が一致する必要があります。

`<>`    完全な文字列が一致してはいけません。

`==`    数値が一致する必要があります。

`!=`    数値が一致してはいけません。

`<=`    フィールドの数値が指定された値以下である必要があります。

`<` フィールドの数値が指定された値より小さい必要があります。

`>` フィールドの数値が指定された値より大きい必要があります。

`>=`    フィールドの数値が指定された値以上である必要があります。

`-le`   フィールドの文字列の値が指定された値以下である必要があります。

`-lt`   フィールドの文字列の値が指定された値より小さい必要があります。

`-gt`   フィールドの文字列の値が指定された値より大きい必要があります。

`-ge`   フィールドの文字列の値が指定された値以上である必要があります。

`-n`    値が空でない場合に真(値は許可されません)。

`-z`    値が空の場合に真(値は許可されません)。

`-t`    `PROPNAME != 0` のエイリアス(値は許可されません)。

`-f`    `PROPNAME == 0` のエイリアス(値は許可されません)。

フラグの値はスペースで区切ります。サポートされているフラグは次のとおりです。

`--`    `VALUE` は式の最後まで続きます。

`-c`    この部分での文字列の一致は、大文字と小文字を区別して行われます。

`-t`    先頭と末尾のスペースは `VALUE` から削除されません。オプションのスペースは、演算子の後に必要です。

フィルターオプションは、同じタイプのフィルターの複数の仕様を連結します。たとえば、次の4つのオプションは次のとおりです。

`--import-filter keep-uid="uid =~ Alfa"`
`--import-filter keep-uid="&& uid !~ Test"`
`--import-filter keep-uid="|| uid =~ Alpha"`
`--import-filter keep-uid="uid !~ Test"`

これは、次の式と同等です。

`--import-filter \
keep-uid="uid =~ Alfa" && uid !~ Test" || uid =~ Alpha" && "uid !~ Test"`

これにより、"Alfa" または "Alpha" の文字列を含むキー、または "test" の文字列を含まないキーのユーザー IDのみがインポートされます。

信頼値

信頼値は、所有者の信頼性とキーおよびユーザー ID の有効性を示すために使用されます。文字または文字列で表示されます。

`unknown`

所有者の信頼度は割り当てられていません/まだ計算されていません。

`e`
期限切れ

信頼度の計算に失敗しました。おそらく、キーが期限切れになったことが原因です。

`q`
未定義

計算に必要な情報が不足しています。

`n`
決して

このキーは決して信頼しないでください。

`m`
限定的

わずかに信頼できます。

`f`
完全

完全に信頼できます。

`u`
究極的

究極的に信頼できます。

`r`
取り消し済み

有効性のみの場合:キーまたはユーザー IDは取り消されています。

`?`
エラー

プログラムは不明な信頼値を検出しました。

ファイル

gpg の動作の特定の側面を制御するためのいくつかの設定ファイルがあります。特に明記されていない限り、これらは現在のホームディレクトリに配置されることが予想されます([オプション --homedir] を参照)。


gpg.conf

これは、GnuPGが起動時に読み込む標準の構成ファイルです。有効な長いオプションをすべて含めることができます。先頭の2つのハイフンは入力する必要がなく、オプションを省略することはできません。このデフォルト名は、コマンドラインで変更できます([gpg-option --options]を参照)。 このファイルをバックアップする必要があります。

common.conf

これは、GnuPGが起動時に読み込むオプションの構成ファイルです。GnuPGのすべてのコンポーネントに関連するオプションを含めることができます。現在の主な用途は、「use-keyboxd」オプションです。デフォルトのホームディレクトリ「~/.gnupg」が存在しない場合、GnuPGはこのディレクトリと「use-keyboxd」を含む「common.conf」ファイルを作成します。

大規模なインストールでは、定義済みのファイルをディレクトリ「/etc/skel/.gnupg」に配置して、新しいユーザーが動作する構成で開始できるようにすることが役立ちます。既存のユーザーの場合、これらのファイルを作成するための小さなヘルパースクリプトが提供されています([addgnupghome]を参照)。

内部的な目的のために、gpgはいくつかのファイルを作成および維持します。これらはすべて、現在のホームディレクトリ([option --homedir]を参照)にあります。gpgプログラムのみがこれらのファイルを変更できます。

~/.gnupg

これは、環境変数GNUPGHOMEまたはオプション--homedirが指定されていない場合に、デフォルトで使用されるホームディレクトリです。

~/.gnupg/pubring.gpg

レガシー形式の公開鍵リングです。このファイルをバックアップする必要があります。

このファイルが存在しない場合、gpgは新しいキーボックス形式にデフォルト設定し、「pubring.kbx」ファイルを作成します。ただし、そのファイルがすでに存在する場合、そのファイルもOpenPGPキーに使用されます。

「pubring.gpg」と「pubring.kbx」の両方のファイルが存在し、後者にOpenPGPキーが含まれていない場合、レガシーファイル「pubring.gpg」が使用されます。注意:GnuPG 2.1より前のバージョンは、新しいキーボックス形式を知らないため、常にファイル「pubring.gpg」を使用します。GnuPG 1.4を使用してアーカイブされたデータを復号化する必要がある場合は、このファイルを保持してください。

~/.gnupg/pubring.gpg.lock

公開鍵リングのロックファイルです。

~/.gnupg/pubring.kbx

新しいキーボックス形式の公開鍵リングです。このファイルはgpgsmと共有されます。このファイルをバックアップする必要があります。上記に、このファイルと前のファイルの関係について説明があります。

既存の「pubring.gpg」ファイルをキーボックス形式に変換するには、最初に所有者の信頼値をバックアップし、次に「pubring.gpg」を「publickeys.backup」に名前変更して、GnuPGのどのバージョンにも認識されないようにし、importを実行し、最後に所有者の信頼値を復元します。

$ cd ~/.gnupg
$ gpg --export-ownertrust >otrust.lst
$ mv pubring.gpg publickeys.backup
$ gpg --import-options restore --import publickeys.backup
$ gpg --import-ownertrust otrust.lst

~/.gnupg/pubring.kbx.lock

「pubring.kbx」のロックファイルです。

~/.gnupg/secring.gpg

GnuPG 2.1より前のバージョンで使用されていたレガシーの秘密鍵リングです。GnuPG 1以降では使用されません。GnuPG 1.4を使用してアーカイブされたデータを復号化する必要がある場合に保持しておくことをお勧めします。


~/.gnupg/secring.gpg.lock
レガシーの秘密鍵リングのロックファイル。

~/.gnupg/.gpg-v21-migrated
GnuPG 2.1 への移行が完了したことを示すファイル。

~/.gnupg/trustdb.gpg
トラストデータベース。このファイルをバックアップする必要はありません。代わりに、自分の信頼値をバックアップする方が良いです([option --export-ownertrust]を参照)。

~/.gnupg/trustdb.gpg.lock
トラストデータベースのロックファイル。

~/.gnupg/random_seed
内部の乱数プールの状態を保持するために使用されるファイル。

~/.gnupg/openpgp-revocs.d/
gpg が事前生成された失効証明書を保存するディレクトリ。ファイル名は、それぞれのキーの OpenPGP フィンガープリントに対応します。これらの証明書をバックアップし、プライマリの秘密鍵がディスクに保存されていない場合は、外部のストレージデバイスに移動することをお勧めします。これらのファイルにアクセスできる人は誰でも、対応するキーを失効できます。印刷して保管することをお勧めします。このディレクトリ内のすべてのファイルをバックアップし、バックアップを安全に保管してください。

操作は、いくつかの環境変数によってさらに制御されます。

HOME
デフォルトのホームディレクトリを特定するために使用されます。

GNUPGHOME
設定されている場合、代わりに `~/.gnupg` ではなく、このディレクトリが使用されます。

GPG_AGENT_INFO
この変数は廃止されました。GnuPG 2.1 より前のバージョンで使用されていました。

PINENTRY_USER_DATA
この値は、gpg-agent を介して pinentry に渡されます。カスタム pinentry に追加の情報を伝えるのに役立ちます。

COLUMNS
LINES
画面全体のサイズになるように、一部の表示のサイズを設定するために使用されます。

LANGUAGE
GNU によって使用されるだけでなく、W32 バージョンでは、レジストリを通じて行われる言語選択をオーバーライドするために使用されます。使用され、有効で利用可能な言語名(langid)に設定されている場合、翻訳ファイルは `gpgdir/gnupg.nls/langid.mo` からロードされます。ここで、`gpgdir` は gpg バイナリがロードされたディレクトリです。ロードできない場合、レジストリが試され、最後にネイティブの Windows ロケールシステムが使用されます。

GNUPG_BUILD_ROOT
この変数は、オペレーティングシステムがプロセスファイルの名前を正しく識別できない場合の、回帰テストスイートのヘルパーとしてのみ使用されます。

GNUPG_EXEC_DEBUG_FLAGS
この変数を使用すると、プロセス管理の診断を有効にできます。数値の 10 進値が想定されます。ビット 0 は一般的な診断を有効にし、ビット 1 は Windows 上で特定の警告を有効にします。

gpg が gpg-agent コンポーネントを呼び出す場合、gpg は一連の環境変数を gpg-agent に送信します。これらの変数の名前は、次のコマンドを使用して一覧表示できます。

gpg-connect-agent 'getinfo std_env_names' /bye | awk '$1=="D" {print $2}'

注意事項

gpg は、他のソフトウェアのバックエンドエンジンとしてよく使用されます。これを支援するために、明確な方法でこれを行うことができるマシンインターフェイスが定義されています。`--status-fd` および `--batch` オプションは、ほとんどの場合に必要です。

プログラムによる GnuPG の利用

GPGME の使用を検討してください。GPGME は、直接 gpg を呼び出すよりも優れた選択肢です。GPGME は、多くの暗号化操作のための、安定したバックエンドに依存しないインターフェイスを提供します。OpenPGP と S/MIME をサポートし、さまざまな GnuPG コンポーネントとの連携も可能です。

GPGME は C-API を提供し、C++、Qt、および Python 用のバインディングが付属しています。他の言語用のバインディングも利用可能です。

一時的なホームディレクトリ

場合によっては、特定の操作の影響を分離したいことがあります。たとえば、キーをインポートして検査したいが、キーをキーリングに追加したくない場合などです。GnuPG の古いバージョンでは、公開キーと秘密キーの両方の代替キーリングファイルを指定することが可能でした。ただし、最新の GnuPG バージョンでは、秘密キーの保存方法を変更し、より安全に秘密キーの情報を保護するようにしたため、このインターフェイスを維持することができませんでした。

推奨される方法は、一時的なホームディレクトリを使用することです。この手法は、すべてのバージョンの GnuPG で機能します。

一時ディレクトリを作成し、ニーズに合った構成ファイルを作成(またはコピー)します。次に、環境変数 GNUPGHOME またはオプション --homedir を使用して、gpg にこのディレクトリを使用させます。GPGME は、コンテキストのエンジン情報を変更することで、コンテキストごとにこれを行うことをサポートしています。次に、必要な操作を実行し、必要に応じてキー素材をインポートおよびエクスポートします。完了したら、ディレクトリを削除できます。起動されたすべての GnuPG バックエンドサービスは、これを検出し、シャットダウンします。

迅速なキー操作インターフェイス

GnuPG の最新バージョンには、インタラクティブなコマンド --edit-key を使用せずにキーを操作するためのインターフェイスがあります。このインターフェイスは主に GPGME のために追加されました(GPGME の使用を検討してください。手動の「プログラムによる GnuPG の利用」セクションを参照)。このインターフェイスは、「キーの管理方法」のサブセクションで説明されています。

自動キー生成

コマンド --generate-key をオプション --batch と組み合わせて使用すると、自動キー生成が可能です。これは、キーを生成するための最も柔軟な方法ですが、最も複雑でもあります。前のサブセクション「迅速なキー操作インターフェイス」で説明されているインターフェイスの使用を検討してください。

キーのパラメータは、標準入力から読み取るか、コマンドラインでファイルとして指定します。パラメータファイルの形式は次のとおりです。テキストのみ、行の長さは約 1000 文字に制限されます。UTF-8 エンコーディングを使用して、ASCII 以外の文字を指定する必要があります。空行は無視されます。先頭と末尾の空白は無視されます。ハッシュ記号(#)で行の先頭にある場合、コメント行として扱われます。制御ステートメントは、先頭にパーセント記号(%)を付けて示します。それらの引数は、キーワードから空白で区切られます。パラメータは、キーワードの後にコロン(:)を付けて指定します。引数は空白で区切ります。最初のパラメータは「Key-Type」である必要がありますが、制御ステートメントはどこにでも配置できます。パラメータの順序は、「Key-Type」を除くすべてのパラメータについて重要ではありません。パラメータは、生成されたキーブロック(プライマリキーとサブキー)にのみ使用されます。以前のセットからのパラメータは使用されません。いくつかの構文チェックが実行される場合があります。キーの生成は、パラメータファイルの終わりに達した場合、次の「Key-Type」パラメータが見つかった場合、または制御ステートメント「%commit」が見つかった場合に終了します。


制御ステートメント:

%echo text

テキストを診断情報として出力します。

%dry-run

実際のキー生成を抑制します(構文チェックに便利です)。

%commit

キー生成を実行します。次のパラメータで暗黙的なコミットが実行されます。

%pubring filename

キーをデフォルトまたはコマンドラインで指定されたキーリングに書き込まず、filenameに書き込みます。 これは、最初のコミットが行われる前に指定する必要があります。同じfilenameの重複指定は無視され、最後のfilenameがコミット時に使用されます。filenameは、新しいfilenameが使用されるまで使用され、すべてのキーはそのファイルに書き込まれます。新しいfilenameが指定された場合、そのファイルが作成(または既存のファイルを上書き)されます。

前述の「一時的なホームディレクトリ」セクションを参照して、より堅牢な方法で副作用を制御してください。

%secring filename

このオプションは、GnuPG 2.1以降では機能しません。

前述の「一時的なホームディレクトリ」セクションを参照してください。

%ask-passphrase
%no-ask-passphrase

このオプションは、GnuPGバージョン2.1以降では機能しません。

%no-protection

このオプションを使用すると、パスフレーズによる保護なしでキーを作成できます。このオプションは主に回帰テストを目的としています。

%transient-key

指定された場合、キーはより高速で、ややセキュリティの低い乱数ジェネレーターを使用して作成されます。このオプションは、短期間のみ使用され、完全な暗号強度を必要としないキーに使用できます。これは、「%no-protection」制御ステートメントと組み合わせて使用​​した場合にのみ有効になります。

一般的なパラメータ:

Key-Type: algo

プライマリキーのタイプを指定して、新しいパラメータブロックを開始します。アルゴリズムは、署名できるものである必要があります。これは必須のパラメータです。algoは、OpenPGPアルゴリズム番号またはアルゴリズム名の文字列のいずれかになります。algoに「default」を使用すると、デフォルトのキータイプが作成されます。この場合、「Key-Usage」を指定せず、「default」を「Subkey-Type」にも使用する必要があります。

Key-Length: nbits

生成されるキーのビット単位の長さを指定します。デフォルトは、gpg --gpgconf-listコマンドを実行することで返されます。ECCキーの場合は、このパラメータは無視されます。

Key-Curve: curve

生成されるキーの要求される楕円曲線。これはECCキーに必要なパラメータです。非ECCキーの場合は無視されます。

Key-Grip: hexstring

これはオプションであり、すでに存在するキーのCSRまたは証明書を生成するために使用されます。Key-Lengthが指定された場合、それは無視されます。

Key-Usage: usage-list

スペースまたはカンマで区切られたキーの使用法のリスト。許可される値は、「encrypt」、「sign」、および「auth」です。これは、キーフラグを生成するために使用されます。アルゴリズムがその使用法をサポートしていることを確認してください。OpenPGPでは、すべてのプライマリキーは認証できる必要があるため、ここにどのような使用法を指定しても、「cert」フラグが設定されます。「Key-Usage」が指定されず、「Key-Type」が「default」でない場合、その特定のアルゴリズムに対して許可されているすべての使用法が使用されます。指定されていないが、「default」が使用されている場合、使用法は「sign」になります。


Subkey-Type: algo

これにより、二次キー(サブキー)が生成されます。現在、1つのサブキーのみを処理できます。詳細は、上記の「Key-Type」も参照してください。

Subkey-Length: nbits

二次キー(サブキー)のビット単位の長さ。デフォルトは、コマンド「gpg --gpgconf-list」を実行することで返されます。

Subkey-Curve: curve

サブキーのキー曲線。‘Key-Curve’と同様です。

Subkey-Usage: usage-list

サブキーのキー使用リスト。‘Key-Usage’と同様です。

Passphrase: string

秘密キーにパスフレーズを指定する場合は、ここで入力します。デフォルトでは、Pinentryダイアログを使用してパスフレーズを求めます。

Name-Real: name
Name-Comment: comment
Name-Email: email

ユーザー名の3つの部分。UTF-8エンコーディングを使用してください。いずれかの値を指定しない場合、ユーザーIDは作成されません。

Expire-Date: iso-date|(number[d|w|m|y])

キー(およびサブキー)の有効期限を設定します。ISO日付形式(例: "20000815T145012")または、作成日から数えて日数、週数、月数、年数のいずれかで入力できます。特別な表記 "seconds=N" を使用して、作成からの秒数を直接指定することもできます。文字を指定しない場合、デフォルトは日数となります。OpenPGPで使用されるタイムスタンプの型にはオーバーフローチェックがないことに注意してください。したがって、指定された値が意味をなすことを確認してください。OpenPGPは時間間隔で機能しますが、GnuPGは内部的に絶対値を使用するため、表現できる最後の年は2105年です。

Creation-Date: iso-date

キーに格納される作成日を設定します。これはキー情報の計算にも使用されます。 "1986-04-26" のような日付、または "19860426T042640" のような完全なタイムスタンプを使用できます。時間はUTCと見なされます。特別な表記 "seconds=N" を使用して、エポックからの秒数を直接指定することもできます。指定しない場合、現在の時刻が使用されます。

Preferences: string

このキーの暗号、ハッシュ、および圧縮の優先値を設定します。これは、「--edit-key」メニューの「setpref」サブコマンドと同じタイプの文字列を想定しています。

Revoker: algo:fpr [sensitive]

生成されたキーに指定された取り消し者を​​追加します。Algoは、指定された取り消し者の​​公開鍵アルゴリズムです(例:RSA=1、DSA=17など)。fprは、指定された取り消し者の​​フィンガープリントです。fprには、スペースやコロンを含めることはできません。オプションの「sensitive」フラグは、指定された取り消し者を機密情報としてマークします。V4およびV5キーのみが、指定された取り消し者​​として指定できます。


Keyserver: string

これは、キーに使用する優先キーサーバーの URL を指定するオプションのパラメータです。

Handle: string

これは、KEY_CREATED および KEY_NOT_CREATED のステータス行でのみ使用されるオプションのパラメータです。文字列は最大 100 文字で、空白を含めることはできません。バッチキー生成で、キーパラメータブロックをステータス行に関連付けるのに役立ちます。

以下に、一時的なホームディレクトリでキーを作成する方法の例を示します。 $ export GNUPGHOME="$(mktemp -d)" $ cat >foo <<EOF %echo OpenPGP キーを生成します Key-Type: DSA Key-Length: 1024 Subkey-Type: ELG-E Subkey-Length: 1024 Name-Real: Joe Tester Name-Comment: with stupid passphrase Name-Email: _ Expire-Date: 0 Passphrase: abc # ここでコミットして、後で "完了" を出力できるようにします。 %commit %echo done EOF $ gpg --batch --generate-key foo [...] $ gpg --list-secret-keys /tmp/tmp.0NQxB74PEf/pubring.kbx ------------------------------sec dsa1024 2016-12-16 [SCA] 768895903FC1C44045C8CB95EEBDB71E9E849D0 uid [ultimate] Joe Tester (with stupid passphrase) <_> ssb elg1024 2016-12-16 [E]

デフォルトのアルゴリズムを使用してキーを作成するには、次のパラメータを使用します。 %echo デフォルトのキーを生成します Key-Type: default Subkey-Type: default Name-Real: Joe Tester Name-Comment: with stupid passphrase Name-Email: _ Expire-Date: 0 Passphrase: abc # ここでコミットして、後で "完了" を出力できるようにします。 %commit %echo done

バグ

古いシステムでは、このプログラムを setuid(root) としてインストールする必要があります。これは、メモリページをロックするために必要です。メモリページをロックすることで、オペレーティングシステムがメモリページ(パスフレーズやその他の機密情報が含まれている可能性がある)をディスクに書き込むのを防ぎます。セキュリティ上の問題がないという警告メッセージが表示されない場合は、オペレーティングシステムが root 権限なしでメモリをロックできます。プログラムは、ロックされたメモリを割り当てるとすぐに root 権限を放棄します。

また、一部のシステム(特にラップトップ)は、「ディスクへのサスペンド」(「セーフスリープ」または「休止状態」とも呼ばれます)を実行できます。これは、低電力状態または完全に電源を切った状態になる前に、すべてのメモリをディスクに書き込みます。オペレーティングシステムで保存されたメモリを保護するための対策が講じられていない限り、パスフレーズやその他の機密情報を後でそこから回復できる場合があります。

バグを報告する前に、まずメーリングリストのアーカイブで同様の問題を検索し、次に、バグがバグトラッカー(https://bugs.gnupg.org)にすでに報告されているかどうかを確認してください。

関連項目

gpgv(1), gpgsm(1), gpg-agent(1)

このツールの完全なドキュメントは、Texinfo マニュアルとして保守されています。GnuPG と info プログラムがサイトに正しくインストールされている場合、次のコマンドを実行すると

info gnupg

メニュー構造とインデックスを含む完全なマニュアルにアクセスできます。