mimegpgはGnuPGを利用して、MIMEフォーマットの電子メールを 暗号化あるいは復号化、署名を行うツールです。 mimegpgには暗号用のコードは含まれておらず、暗号化や復号化には GnuPGユーティリティを用いています。
-sオプションは署名を行います。-Eあるいは the -eオプションは電子メールを暗号化します。 -Eあるいは-eオプションと -sオプションを同時に指定すると暗号化と署名の両方を行います。-dオプションは復号化します。 -cオプションは署名を確認します。
mimegpgはフィルタとして動作します。 標準入力からMIMEフォーマットのメッセージを読み込みます。 , which must be a MIME-formatted message. mimegpg は署名、暗号化、復号化を行い、 署名、暗号化、復号化されたMIMEメッセージを標準出力へ出力します。
mimegpgへの入力はMIME化された電子メールのメッセージでなければならず、 そのヘッダは "Mime Version: 1.0" でなければなりません。 たとえメッセージが添付ファイルを持たない場合でもです。 メッセージが添付ファイルを含む場合には、 それぞれが独立に署名・暗号化されます。
mimegpgは自動的に適切なオプションで GnuPG を起動します。 mimegpgのオプションの後に --を続けると、その後ろの引数はGnuPGへの追加のオプションとなります。 -E/-eオプションはたいてい GnuPG の -r オプションが必要となりますので、この方法で渡します。
The -p オプションはパスフレーズを入力するファイルデスクプリタ番号を指定します。 他の GnuPG へのオプションは、意味のあるものならば "--" の後に指定できます。 (mimegpgは自動的に指定された動作に必要なオプションを付加します。) "--no-tty" オプションは mimegpgをノンインタラクティブに実行したい場合に役立ちます。 パスワードで保護された秘密キーは通常--no-ttyでは使えませんが、-pを指定すれば使えるようになります。
-sオプションでMIMEメッセージに署名します。 -Eオプションで暗号化します。両方を使うと署名して暗号化します。 --の後に、GnuPG へのオプションを指定します。 -Eオプションは最低でも1つのGnuPGの-r オプションを必要とします。
-Eオプションではメッセージと添付ファイルをまとめて、 1つの暗号化されたMIMEオブジェクトとして生成します。 メールソフトウェアによっては、 このようなまとめられた中身を扱えないことがあります。 -eオプションではメッセージとそれぞれの添付ファイルを別々に暗号化します。
もしパスワードで保護された秘密キーを用いる場合には、 GnuPGからパスワード要求プロンプトが表示されます。 なお、-sオプションと-eオプション (-Eオプションは除く)の場合、 複数のパスワード要求が表示されます。mimegpgはMIMEメッセージに添付を含む場合にはGnuPGを複数回起動します。 GnuPGはMIMEメッセージの各セクションごとに起動され、 そのたびにパスワードを要求します。 なお元のメッセージのヘッダ部分 (MIME自身のヘッダを除く) は暗号化されません。 しかしmessage/rfc822 でのMIMEの中身 - メッセージの各セクション - はヘッダと中身がすべて暗号化・署名されます。
-dオプションはMIMEメッセージ中の暗号化部分を復号化します。-cオプションは署名がつけられた部分を確認します。 -cオプションと-dオプションは同時に指定できます。 -dオプションは multipart/encryptedというMIME部分を探して、これを復号化しようとします。 -cは multipart/signedというMIME部分を探して、この署名を確認しようとします。
-cオプションと-dオプションは multipart/signedと multipart/encryptedの MIME部分を multipart/x-mimepgpに置き換え、 "xpgpstatus"というアトリビュートを付加します。 このアトリビュートには GnuPG の終了コードがセットされます。 復号化や署名の確認が成功した場合には終了コードは0になります。 0でない終了コードは 署名が確認できなかったり復号化できなかったことを示します。
置き換えられたmultipart/x-mimepgpの最初のセクションは text/plainで、GnuPG からのメッセージが含まれます。 2番目のセクションが復号化されたか認証された内容です。 mimegpgは署名の確認が失敗した場合でもその内容を添付します。 ( xpgpstatusアトリビュートを確認してください。) 復号化に失敗した暗号化部分は(当然)添付されません。
注:すでにメッセージ中に存在するx-mimegpgのMIMEセクションは、 混乱を防ぐため暗黙のうちにmultipart/mixedに変更されます。 (復号の結果として得られた場合を除く。)