他の人あてに暗号化したメッセージを私も復号化できるようにするには?従来の暗号化では、あなたは暗号化されたファイルに対してPGPを実行して、暗号化に使ったパスフレーズを入力すれば、メッセージが読める。PGPの公開鍵暗号化を使うと、あなた自身のためにも暗号化しない限り不可能だ。文書化されていない設定、EncryptToSelf(自己への暗号化)がある。あなたの鍵が解読されるなら、「クラッカー」はあなたが受け取ったものだけではなく、あなたが送ったメッセージもすべて読めるっようになってしまうということに注意してほしい。私はUnix用PGPで鍵を作れないのか?一番ありそうなのは、PGPが公開鍵束と秘密鍵束のファイルを作れないために起こる現象だろう。環境変数PGPPATHが定義されていないなら、PGPはこれらのファイルを、あなたのホームディレクトリのサブディレクトリ".pgp"に置こうとする。必要なディレクトリが作れなければ、つまりディレクトリがまだなければ、PGPは鍵生成後壊れてしまう。これは、書き込み禁止ディレクトリにPGPPATHを指定していても起こる。PGPPATH環境変数を、あなたの鍵束のある場所に指定する。PGPで文書にクリア署名するとき、「ダーシ+スペース」が私の本文に追加される。MESSAGE-----"(とその関連)ヘッダのために、こういうものができる。"を取り除き、もともとの出力を書き出すことになる。"などの「特別な」句で始まる行にも追加される。これらの行は、メール基準に沿うようなメールプログラムでさまざまに「無視」されかねないからだ。なると署名が無効になってしまう。複数ファイルを同時に暗号化するには?PGPは、ふつうは、コマンドラインでは一つのファイルだけを受け入れる。多くのプラットフォームでは、「バッチ」でプログラムを呼び出すことができる。これを使えば、複数ファイルをPGPで自動的に呼び出すことができる。MS-DOSとOS/2では、以下のとおり。ユーザーIDこれらのファイルをすべて暗号化するのにパスフレーズを指定するために、文書化されていない"-z"オプションを使って、この方法で従来の暗号化を行なうこともできる。-z"パスフレーズ"UNIXでは、以下の通り。useriddoneいくつかのシェルやフロントエンドは、通常、複数ファイルを一度に暗号化できるようになっている。パスフレーズを自動的にPGPに渡すには?このためには3とおりの方法がある。簡単なのは、おそらく、環境変数PGPPASSにパスフレーズを含めることだろう。これはまったく安全ではない。あなたの環境にアクセスできる人は誰でも、あなたのパスフレーズを見ることができる。これは、あなたの昼食中にやってきて、パソコンで"set"と入力すれば、誰でもわかる。UNIXのいくつかの変形では、他の人の環境を試すことができてしまう。別のオプションとしては、特にシェルに有用だが、-zオプションを使うものである。いった「特殊」文字がパスフレーズに含まれるときは、引用符で囲むこと。コマンド命令と混同されるかもしれないからだ。これは、マルチユーザーシステムではさらに安心できない。オプションで渡された命令も含めて、あなたが起動しているプログラムを誰でも見ることができるからだ。いいが、一番複雑な方法は、PGPPASSFD環境変数を使う方法である。この変数は、パスフレーズの含まれるファイルを指定する「ファイル記述子数」を含んでいる。これは、適切にファイルのパーミッションを設定するなら、スーパーユーザー以外からパスフレーズを守る。pgp262配布版のappnotesファイルに、これについてのことが見つかるだろう。PGPPASSFDを0に設定すれば、pgpはスタート直後にstdinからパスフレーズを読むだろう。added:PGPに任意のファイルからパスフレーズを得させるために、ファンキーなシェル・リダイレクションも使える。変数を定義するための正確な命令はシェルによる。/my/passphrase/fileこの最後の例は、標準入力もユーザーが使えるという利点がある。Noで答えることができるのだ。ファイルは、PGPが新しいランダムなセッション鍵を生成するために使われる。その後、これは新しいランダムデータで満たされる。ウィルスチェッカーは、もちろんそのファイルが変更されたことを検出するだろう。そのファイルは"bin"拡張子がついているので、これは実行可能ファイルであるとほとんどの検出ソフトは判断し、そしてウィルスの可能性があると報告するだろう。このファイルはPGPがいくつかのランダムデータを読むためだけにしか使われないので、実行不能である。あなたのウィルススキャンソフトの"除外"リストにいれるのが安全だ。すればスキップしてくれるだろう。Randseed=C:\PGP\RANDOM.SRCをconfig.txtファイルに追加する手もある。これでランダム・ビットを格納するのに、'randseed.bin'ではなく、'random.src'ファイルを使うようPGPに命じるものである。'randseed.bin'を削除しても何の問題もない。次に何かを暗号化するときに、いくつかランダムなキー入力を要求し、再びファイルを生成するだけのことである。2.6.2.の本当のバグである。秘密鍵束を見つけることができても、あなたの秘密鍵が見つからないと言ってくる。これは、散発的に起こるかもしれない。その理由は、あなたがもし1セットを設定していたらユーザーID、そうでなければ空白文字列を示すと思われる未初期化ポインタにある。空白文字の場合、それは初期化されず、RAMのランダム・エリアを示す。このエリアがNULLバイトで始まっていたら、すべてがうまくいき、MacPGPはsecring.pgpの最初の秘密鍵を使うだろう。MacPGPはあなたのユーザーIDがランダムながらくただと認識し、あなたの秘密鍵を見つけれないというのである。TZ変数の設定法は?TZ環境変数は、あなたのコンピューターの存在している時間帯を示す。これで、PGPはGMT(グリニッジ標準時)のためのタイムスタンプを生成することができ、別の時間帯の誰かが署名を調べて署名が未来のものだとか、別の正しくない時間だとかいう心配もなくなる。これはあなたのAUTOEXEC.BATファイル(DOS)か、CONFIG.SYSファイル(OS/2)で指定する。他のOSではマニュアルを参照のこと。場合、以下のリストから設定を使えるだろう。TZ=JST-9)他の国のためには、TZの完全な形式が使われることになる。公式には次のようになる。TZ=SSS[+|-]nDDD,sm,sw,sd,st,em,ew,ed,et,shift'SSS','n','DDD'は、短縮形の値である。長い形では、他の値が特定されなければならない。'sm'は夏時間の開始月(1〜12)'sw'は開始週(1〜4で月頭から、-1〜-4で月末から)。0はその月の特別な日が指定される。'sd'は開始日('sw'がゼロでなければ0〜6[0が日曜日]、'sw'が0なら1〜31)'st'は深夜から数えての開始時刻を秒数で(たとえば3600が01:00)'em','ew','ed','et'は、夏時間の終わる時刻であり、同じ値をとる。'shift'は夏時間でずれる時間を秒数で入れる(たとえば、夏時間に1時間が追加されるのであれば3600)。1995年の英国では、設定はこうなる。PGPコマンドが働いたかどうかを知るには?普通、PGPは「インタラクティヴ」モードで起動するから、何がどこで、また場合によってはなぜ、うまくいかないかを画面で常に読むことができる。PGPをバッチファイルやバックグラウンドで使いたいとき、命令がうまくいっているかどうかを知る必要があるだろう。code"を使うことである。オプションもつけよう)。PGPは、すべてうまくいけば0を返してくるし、何かうまく行かなければ1を返してくる。codeのリストがある。これは常に予期したようには動かないようだ。5.0はrandseed.binファイルを常にいつも更新し続けているシステムのイベントを使っている。これらのイベントは、ディスク・アクセス、キー入力、マウスの動き、その他の適切なランダムなものである。チェックするなら、PGPを使っていなくても、randseed.binの最終更新時刻がしばしば変わっていることがわかるだろう。2.6.xの後継互換である。2.6.xで作られたものすべてを利用できる。5.x出力を利用できる。RSA鍵のDSSかElGamalの証明書については、少々問題がある。2.6.xの鍵束チェック(-kc)は、いくつかの奇妙なエラーを報告する。この(どうでもいい)バグを修正してある。5.xは完全に相互互換的である。Magazine/ソースコード暗号関係リンク。