1 # -*- coding: utf-8-unix -*-
4 #+EMAIL: hideki@hidekisaito.com
5 #+DESCRIPTION: Emacs Builds prepared by Hideki Saito
6 #+KEYWORDS: Emacs, software, OSS, compile, build, binaries
8 #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style.css" />
9 #+HTML_HEAD: <script type="text/javascript">
11 #+HTML_HEAD: var _gaq = _gaq || [];
12 #+HTML_HEAD: _gaq.push(['_setAccount', 'UA-114515-7']);
13 #+HTML_HEAD: _gaq.push(['_trackPageview']);
15 #+HTML_HEAD: (function() {
16 #+HTML_HEAD: var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
17 #+HTML_HEAD: ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
18 #+HTML_HEAD: var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
20 #+HTML_HEAD: </script>
23 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
24 #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
26 #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:h
27 #+EXPORT_SELECT_TAGS: export
28 #+EXPORT_EXCLUDE_TAGS: noexport
29 #+HTML_LINK_UP: index.html
30 #+HTML_LINK_HOME: index.html
34 <script type="text/javascript"><!--
35 google_ad_client = "ca-pub-6327257212970697";
36 /* GNU Privacy Guard講座Banner */
37 google_ad_slot = "2155169100";
38 google_ad_width = 970;
39 google_ad_height = 90;
42 <script type="text/javascript"
43 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
47 * GNU Privacy Guardのダウンロード
49 :ID: d5b364da-88f5-4908-afd1-0fcb929c4a64
52 まずGNU Privacy Guardをダウンロードする必要があります。ダウンロードはGNU Privacy Guard
53 Homepageよりダウンロードしてください。コンパイルする必要があるものとバイナリでダウンロードできるものもあります。これはプラットフォームによって違ってくるのでご使用のオペレーティングシステムにあったものをダウンロードしてください。
57 :ID: 9fe261c8-6a71-44be-84e7-df0670a23903
60 ダウンロードの終了後、まずは自分の秘密鍵と公開鍵を生成する必要があります。コマンドラインでgpgと入力してみて何か反応があればパスが通っている証拠ですのでプログラムが実行されている場合はCtrl-Cを押して終了して下さい。この時に反応がないようであればインストールしたフォルダにパスが通るようにしてください。次にgpg–gen-keyと入力します。
64 :ID: 9f2ab36a-6ff2-4f2f-9e76-638c54b37eaf
67 鍵の生成を開始して、まず入力を求められるのが鍵の種類です。この画面では1を選択します。2は署名のみのキーで、3はElGamal方式のみを使用するものですが基本的には1を選択してください。
71 :ID: f10be8f0-14e5-4d97-a10e-1145d5dcc562
74 次に鍵の長さを設定します。鍵は長い物ほど強固なセキュリティを実現します。しかしあまりにも長すぎると計算に時間がかかりすぎるものとなります。1024が標準となっていますが将来性などを考えると2048程度が適当です。
78 :ID: d73deef8-0297-4b3b-96c5-dcfbe082b614
81 鍵の有効期限はいつまでその鍵が有効かを指定します。通常の場合は永久的に有効な0を指定すると問題ないでしょう。特に期限が必要であればここで指定してください。
82 個人情報の設定 ここでは名前、電子メール、名前に付随するメモを入力します。これにより鍵に名前のついたヘッダを追加することができます。
86 :ID: c4244d8b-134b-452e-89a8-1cde2df71270
89 次にパスフレーズを設定します。パスフレーズはパスワードと違いスペースなどを含むものも可能で長さも事実上無制限です。これは大事なパスワードですので覚えやすく紙に書かなくてもよく、かつ分かりにくいものにするようにしてください。
93 :ID: f7d4655e-74a4-4182-baa8-bc1f0794e3c9
96 ここで乱数の生成が開始されます。乱数生成中はしばらくかかります。この時に他の作業をしていても問題ありません(作業をすることによりキーボードの入力やマウスの動きなども乱数発生に使用されます)
100 :ID: 9369e781-01d8-4a1b-a1d0-d8bfae60517d
103 お疲れさまでした、これで鍵の生成は終了です。
107 :ID: 8abed0fd-ae64-4c18-bb33-70fd3edf83a6
110 鍵を生成した後、破棄証明書を作っておきます。これは鍵を無効化する時に使用します。これは次のように入力することで行えます。
113 gpg -o revcert.asc –gen-revoke userid
116 太字のところに適当なものを入れてください。revcert.ascのところには任意のファイル名、useridのところには名前かその一部に変えてください。これにより指定したファイル名のファイルに破棄証明書が作成されるのでこれはなくさないようにどこかにしまって置いてください。この時、HDには保存せず、フロッピーなどに保存して安全な場所にしまっておくといいです。この破棄証明書は不正に使用されると誰でも鍵を無効化してしまうことができるので取り扱いには注意してください。
117 鍵を破棄する場合は 万が一、パスワードの漏洩などで鍵を破棄する必要がある場合は次のように鍵を破棄します。
119 gpg --import revcert.asc
122 これは重要ですので覚えておいてください。この後、この破棄した公開鍵を公開鍵サーバに送るとその鍵は破棄されます。
126 :ID: aec94a61-d924-4164-9b55-ac1d14daf32d
129 鍵を生成したらこれを公開鍵サーバに登録しておくことにより他の人が公開鍵を入手することが可能です。これによりあなた宛のメールなどに暗号化したメッセージを送信したりすることができるようになります。ここではKeyserver.netを使用して説明していきます。まず次のように入力します。
132 gpg -o pubkey.asc -a –export userid
135 コンソールよりコピー・ペーストが可能な場合次のようにすることで公開鍵をコンソールに出力することができます。
137 gpg -a --export userid
139 上記のコマンドラインを使用した場合はテキストエディタなどで指定したファイルを開き、内容をコピーしてください。
140 次に「Keyserver.net」のリンクを辿ってください。次に「ADD A KEY」をクリックし、表示された「Paste your key
141 here:」のボックスに上記の公開鍵を貼り付けてください。「Submit this key to the
142 keyserver」を押すと登録が完了します。
146 :ID: 4d5762e3-6041-4ad9-82ee-8b424a559150
149 他の人に暗号化したメッセージを送るのには相手の公開鍵を入手する必要があります。これも公開鍵サーバですることができます。登録するときに使用したページの「公開鍵の検索」で名前を入力することにより検索できます。次にコマンドラインに次のように入力してください。
150 gpg –import pubkey.asc コンソールに貼り付けることができる場合は gpg –import
151 とすることによりコンソールに貼り付けることができます。この時エンターキーを押した後に貼り付けてください。この鍵を入手後、鍵の指紋をチェックする必要があります。これが異なる場合、鍵が改変されたか鍵を正しく入手できていません。大抵のホームページなどでは下図のような表示があります。
152 入手した鍵の指紋を表示するのには次のように入力します。
156 すると次のように表示されますのでこの指紋が一致することを確認します。このキーを使う前に鍵署名をする必要があります。鍵署名にはExportableなものとLocalなものがあります。Exportableはその鍵を他の人に渡すとその署名も同時に渡すことになります。Localなものは他の人に渡してもその署名は渡されません。普通はLocalな署名を使うとよいでしょう。これをするには次のようにします。
159 gpg --lsign-key userid(Local署名)
163 gpg --sign-key userid(Exportable署名)
166 次に信用データーベースを更新する必要があります。信用データーベースというのは鍵に対する信用性を示すものです。まず次のように入力します。このデータベースは他と共有されることはなく、鍵の信用は使用者が思う信用であり、他人と共有される性質のものではありません。
168 ここで指定される信用は間接的にその鍵が署名する他の鍵の信用度の計算に使用されます。例えば保有している鍵が自分の鍵により署名された鍵のみで構成されたものである場合など、特に信用を設定する必要はありません。
171 gpg --edit-key userid
174 次にコマンドの入力を求められますのでそこでtrustと入力します。そうすると次のようなリストが表示されます。
177 1 = Don’t know 2 = I do NOT trust 3 = I trust
178 marginally 4 = I trust fully s = please show me more information m =
179 back to the main menu
182 この鍵を完全に信用しない場合は2、ある程度信用する場合は3、完全に信用(例えば実際に本人に会ったことがありその本人に確認がとれている場合など)する場合は4を選択します。
187 :ID: c63bf3e7-93f6-474c-a60b-cc099de39943
190 次に暗号化をしてみます。ファイルを暗号化する方法とインタラクティブにコンソールから入力する方法がありますがどちらも基本的には同じようにします。ファイルを暗号化する場合は次のようにします。
193 gpg -ea filename (暗号化したファイルを画面に出力する場合)
197 gpg -o filename.asc -ea filename(暗号化したファイルをファイルに出力する場合)
200 どちらの場合も受取人を指定するように表示されるのでその時に名前、またはその一部を入力します。これをコマンドラインに含めることもできます。
203 gpg -r receipient -ea filename(暗号化したファイルを画面に出力する場合)
206 gpg -o filename.asc -r receipient -ea filename(暗号化したファイルをファイルに出力する場合)
209 コンソールから入力する場合は次のようにします。
214 次にメッセージを入力しCtrl-DもしくはCtrl-Z(プラットフォームによって違います)そしてファイルの場合と同じように受取人の名前を入力します。この場合も上記のケースと同じように-oや-rオプションを使用できます。
215 暗号化をする時に同時に署名もする場合は上記のそれぞれのオプションの-eaを-seaに変えることにより可能です。署名のみすることも可能です。その場合は-seaを-saとします。署名する時に–clearsignとすることによりGnuPGが無くても読める署名をすることができます。