PGP には電子署名機能があります。 電子署名は、ファイルの改ざんや他人の成りすましを防ぎ、インターネッでのセキュリティ対策に有効です。 電子署名の検証は [暗号ファイルの復号化、署名の検証をする] をご覧ください。
ファイルに電子署名する基本コマンドは "pgp -s 署名したいファイル" です。 パスフレーズを聞いてくるので入力してください。
暗号化した出力ファイルの形式をテキスト形式にするには "pgp -ea" のように a オプションをつけます。 これをしないと、署名した出力ファイルはバイナリ形式となり、メールや Web Page で文書として送信、公開することはできません。
以降、a オプションを指定し、テキスト形式で出力することを前提とします。
メールや文書に署名するには "pgp -eat 署名するファイル" とします。
次のような内容の "plain.txt" というテキストファイルに署名する場合の例です。
これは平文ファイルです。 暗号化できるかな?
C:\PGP>pgp -sat plain.txt Pretty Good Privacy(tm) 2.6.3i - Public-key encryption for the masses. (c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-01-14 International version - not for use in the USA. Does not use RSAREF. Current time: 1998/11/23 00:42 GMT A secret key is required to make a signature. You need a pass phrase to unlock your RSA secret key. Key for user ID: Taro Yamada <taro@mail.hoehoe.ne.jp> 1024-bit key, key ID A88D8CCD, created 1998/11/22 Enter pass phrase: パスフレーズ (表示されない) Enter pass phrase: Pass phrase is good. Just a moment.... Clear signature file: plain.asc C:\PGP>
"入力ファイル名.asc" という名前の署名されたファイルができます。
これが署名付きの文書ファイルです。
入力ファイルが "plain.txt" の場合 "plain.asc" となります。
署名されたファイルの内容は次のようになります。
-----BEGIN PGP SIGNED MESSAGE----- これは平文ファイルです。 暗号化できるかな? -----BEGIN PGP SIGNATURE----- Version: 2.6.3i Charset: noconv iQCVAwUBNliuv7ZewyCojYzNAQEwYAQAlPDhCI08/tLZ/ZA8Dci9YCMw9Ge1c7eM XmwSNvmrUqYo7B6DnxOo0oIgNL0oasy8GScun0l7HuHAjCyrSf0LvQVv85mpp1or IRjtMi3nwD4+RPY9w+QCazWsP36jeShtXx1tK1r7L70wWyFHElavEPM/45xLDNp3 RZLHmh536NQ= =q6VX -----END PGP SIGNATURE-----
署名したいファイルと署名を分けて作ることもできます。 "pgp -sba 署名するファイル" とします。
文書に署名したときのコマンドで署名すると、署名したファイルと署名が一緒になった 1つのファイルとして作成されますが、それでは都合の悪いことがあります。 このコマンドで署名すると、画像やプログラムファイルもテキスト形式になるので、PGP を使用していない人には扱うことができなくなってしまいます。
自作の画像、プログラム、圧縮ファイル (ZIP, LZH) などのファイルに署名して、Web Page などで公開したいときにはそれでは不便です。 この場合、署名したいファイルと署名を分けて作ります。
コマンド入力後の操作はテキストファイルのときと同じです。
"入力ファイル名.asc" という名前の署名のみのファイルができるので、このファイルを、署名した画像、プログラム、圧縮ファイル (ZIP, LZH) などのファイルといっしょに公開します。
メーラーが PGP に対応している場合は、メーラーの仕様書にしたがってください。
メーラーが PGP に対応していない場合は、まず送る本文を書き、 "pgp -sat 書いた本文ファイル" とし、本文に署名します。
"元のファイル名.asc" という署名ファイルができます。
この署名ファイルをメールで送信するには 2つの方法があります。
このファイルの中身 (テキスト形式) をメールの本文として送ります。 Windows なら、コピー & ペースト を使えば簡単にできるでしょう。
署名ファイルをメーラーのファイル添付機能を利用して、メールに添付して送ります。 添付機能の使い方はメーラーの仕様書にしたがってください。
署名ファイルを受けとった人は、あなたの公開鍵を使って検証します。
ファイルを署名と同時に暗号化するコマンドは "pgp -se 署名、暗号化するファイル" です。
普通の署名や暗号化と同様に、a オプションを指定することで、署名、暗号化ファイルをテキスト形式で出力できます。
C:\PGP>pgp -sea 署名と暗号化したいファイル
まず、電子署名するためにパスフレーズを聞いてくるので入力してください。 次に、暗号化するために送り先のユーザー ID を聞いてくるので入力してください。
"入力ファイル名.asc" という名前の署名と暗号化されたファイルができます。
入力ファイルが "plain.txt" の場合 "plain.asc" となります。
PGP は文書が EUC, ASCIIコード (半角アルファベット) で書かれていることを前提としています。
[PGP 導入時] の CONFIG.TXT の設定をしないと、Windows や DOS で標準の 日本語 Shift-JIS では正しく署名 / 検証できないことがあります。
もし検証できないときは、"pgp -sat" のかわりに "pgp -sa" としてください。
日本語文章ファイルは、1行が長すぎると、テキストファイルではなくバイナリファイルとして扱われます。
ライセンスの関係上、標準ではバージョン 2.6 以上の PGP で暗号化や署名したものは、それ以下のバージョンの PGP では復号できません。逆は可能です。