UpyoGPGWrapperの機能をターミナルで行う場合の方法について

1. バージョンの確認

ここに書かれている文章はMac OS X Tigerを想定しております。

あらかじめGPG 1.4.1とGPGMail 1.1.1がインストールされている前提で進めますので、まずはインストールを行ってください。現在の最新版はGPG 1.4.7、GPGMail 1.1.2ですがほぼ同じです。

[GnuPG]
GNU Privacy Guard 1.4.7
http://macgpg.sourceforge.net/

[GPGMail]
GPGMail 1.1.2 (v46)
http://www.sente.ch/software/GPGMail/English.lproj/GPGMail.html

次にGPGが正しくインストールされていることを確認する目的で、バージョンの確認を行います。

Mac OS Xの[アプリケーション]→[ユーティリティ]の中にある[ターミナル](Terminal)を起動します。そして、下記の赤字の部分を入力して(<return>はリターンキーを押すことを表します。)鍵の生成を行います。の文字はコメントです。

$ gpg --version<return>
gpg (GnuPG) 1.4.1
Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512
Compression: Uncompressed, ZIP, ZLIB, BZIP2

このように表示されれば問題ありません。

1. 自分のGPGキーペアの生成

UpyoGPGWrapperで

Mac OS Xの[アプリケーション]→[ユーティリティ]の中にある[ターミナル](Terminal)を起動します。そして、下記の赤字の部分を入力して(<return>はリターンキーを押すことを表します。)鍵の生成を行います。の文字はコメントです。

$ gpg --gen-key<return>
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)

Your selection? 1
<return>
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.

What keysize do you want? (2048) 2048
<return>※暗号強度です大きいほど堅牢なものになります。
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years

Key is valid for? (0) 0
<return>※数字のゼロです。
Key does not expire at all
Is this correct? (y/N) y
<return>
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: UPYOLIC SOFT
<return>※名前/ハンドルネームをアルファベットで入力します
Email address: info@upyolic.com
<return>※メールアドレスをアルファベットで入力します
Comment: UPYOLIC SOFT
<return>※なくても構いません。ない場合はそのまま<return>を押します。
You selected this USER-ID:
"UPYOLIC SOFT <info@upyolic.com>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
<return>※正しければアルファベットoを入力します
You need a Passphrase to protect your secret key.
**********<return> ※パスフレーズ(パスワードと違い" "<スペース>なども使用可能)を入力します。
**********<return> ※もう一度パスフレーズを入力します。このパスフレーズは忘れてはなりません。
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++..+++
++++++++++++++++++++++..+++++++++++++++++++++++++.+++++.++++++++++
+++++>++++++++++.>.+++++..........................................
..................................................+++++

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
++++++++++++++++++++++++++++++.+++++++++++++++.+++++.+++++.+++++++
+++..++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++
+++++++++++++++.+++++>.++++++++++>+++++>+++++.....................
.............>+++++<+++++.>+++++<+++++.......... ..+++++^^^
gpg: key 6F746C66 marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0 valid: 11 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 11u
pub 1024D/6F746C66 2005-09-19
Key fingerprint = 27BE D930 D5CF 2173 4616 6655 88EE 4F98 6F74 6C66
uid UPYOLIC SOFT <info@upyolic.com>
sub 2048g/1C2925BC 2005-09-19

これでinfo@upyolic.com用の鍵ができました。複数のメールアカウントを使用している場合は、同様の手順で複数の鍵を生成しておきます。

生成した公開鍵は、Terminal上で gpg -a --export 'info@upyolic.com' のようにすることで表示させることができます。

$ gpg -a --export 'info@upyolic.com'<return>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (Darwin)
mQGiBEMuEFcRBACf5t+IiRdjxWnB7tmkEplElFbVPNPsP5eqVeoULjEqfTiyAYVK
023we97WwAlhHTBM3NOmo+ZBMjZ8zUabHGLCpn9lR+obkstKEkmCs816t7CgGKhm
u0rwDAf3vUaOFL8v7hGPuvn02xYE+t0Gx+R7aLdBTYuFhmgJpeYYfx/3YwCg+Cgi
vPinizOeeFIs/jZ7SuuJfasD/1pcEYMs71bi9vVfbTkFpILpG/JOzBO2oGWXJyDa
qMQOH7hXMYrD8KpgxCYbvcRwMVa5kaJ1HFuS64Fmzt0yBMvFHQ9+IpQe4cRHQNFL
IUp3Ws4bwExtDeP4NlmfjYPaSs0VV2gt5yMa6/Y230dQw1jCJtzgaHs2chqocwh4
cub/A/wK6BhJ3rHa4R3ZBCiizAtqMQc0XCxFW+2wlCqgQ/WZoaTwM327sO6V5gnN
lwRqyQYXjL/wKCza1UFyF0528ctt/5jpQI8YSAvDakgvbzAn5f7PYxhLgRYQI1LH
LeZ8sSxPKaXQYdLRj7gv8+FLmzgkyLAlkekHGcCD8N45cos4C7QfVVBZT0xJQyBT
T0ZUIDxpbmZvQHVweW9saWMuY29tPoheBBMRAgAeBQJDLhBXAhsDBgsJCAcDAgMV
AgMDFgIBAh4BAheAAAoJEIjuT5hvdGxmblwAniy/fVX3132SkY48zZkbi8t8GwUf
AKCNEDudsT0FPTrusiUC4Bl0ESXePrkCDQRDLhBcEAgAv1oAWd0yEiwHQ/E3l7GR
aJgs2kuuC7sj+OMhPQf+GUho0P3Bvdg5wfsTeXIxSm00NlL6fUqM58CpBXHHp0fO
NTS1T3XlHKESRaBna93c1nTf4v/eSUPKUJv0Agv5vXsYRSb7uW9KI9HaYBEDGrx5
wFvWUNaROjdOAit7JuyOrPFcsyXnv+CSg2s+MraXqtEJWu2MUm6CrBMXcEnSVq65
Y2vhrg8J6hvei1bb6gSn9HokXwzZwSDovMiT1eT74t3RuEvFGTFpZoj6FnQl4Rvh
ycQeVMrru2fjxjXujwR617UKRYiRVxqbiZvPacyB/TYiG1LMMZuw2FCkgUGgm8oy
awADBQf/ZR01i7R2/XE8PSqlBpzJ2PTGWzvo/GnCUX7pOwO+ZmsmRTLSSUwUR+0Y
Iw5yLY79j+YctSXr1w+eUd9e/j1IPsepqLn5iAP3ButFVrQDSpAv2FbTIGhqWzur
smFtH4QiOXjBP2TVFODxvPYI9gW/NUX+7NeUaTIZexdyoyHeFnkhkSDebVbvNfv1
oXMuSijtlEQ562rzHPDgR8j3tPQIBmvyU4UjMHNxyFKO3AWsllzo84B+2EfYpALT
DMAkqD571oqqBH/Zxw93M460Xpaa4o1RlOk2gmFgU1fjgDkzeo4dH5NBZQkL4WV8
KCq1jMYtyT91rgfLPtu7S0vlhsbIp4hJBBgRAgAJBQJDLhBcAhsMAAoJEIjuT5hv
dGxmnPIAnjwkmyxYuKIfh4+TdbUoeuz++4GrAKCvavWKHmN6nLepgA/SE7s2/Foh
2A==
=mM1g
-----END PGP PUBLIC KEY BLOCK-----

この-----BEGIN PGP PUBLIC KEY BLOCK-----から-----END PGP PUBLIC KEY BLOCK-----までの部分をマウスで選択し、[アップル]+[C]でクリップボードにコピーしたり、Terminal上で gpg -a --export 'info@upyolic.com' > info.pub.txt とすることでinfo.pub.txtファイルに公開鍵をエクスポートすることができます。これで、生成したGPGキーペアのうち、あなたの公開鍵を誰でも利用することができ、暗号化メールをあなた宛に送信することができるようになります。

これでは、まだ自分宛にしか暗号化したメールを送ることができませんので、ほかの人の公開鍵を導入して暗号化メールを使えるようにします。

2. ほかの人の公開鍵をインポートする

例えば、公開鍵をメールで受け取り、info.pub.txtというファイルでホームディレクトリに保存されたとします。Terminalで gpg --import info.pub.txt のようにすることでインポートすることができます。

$ gpg --import info.pub.txt<return>

3. インポートした公開鍵に信頼する署名を行う

インポートしただけではまだ使用することができません。この公開鍵を信頼して署名することで初めて利用できるようになります。

$ gpg --edit-key 'info@upyolic.com'<return>
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Secret key is available.
pub 1024D/6F746C66 created: 2005-09-19 expires: never usage: CS
trust: ultimate validity: ultimate
sub 2048g/1C2925BC created: 2005-09-19 expires: never usage: E
[ultimate] (1). UPYOLIC SOFT <info@upyolic.com>
Command> trust<return>
pub 1024D/6F746C66 created: 2005-09-19 expires: never usage: CS
trust: ultimate validity: ultimate
sub 2048g/1C2925BC created: 2005-09-19 expires: never usage: E
[ultimate] (1). UPYOLIC SOFT <info@upyolic.com>
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision? 5
<return>
Do you really want to set this key to ultimate trust? (y/N) y
<return>
※これでこの公開鍵を信頼する設定ができました。次にサインをします。
pub 1024D/6F746C66 created: 2005-09-19 expires: never usage: CS
trust: ultimate validity: ultimate
sub 2048g/1C2925BC created: 2005-09-19 expires: never usage: E
[ultimate] (1). UPYOLIC SOFT <info@upyolic.com>
Command> sign
<return> 
pub 1024D/6F746C66 created: 2005-09-19 expires: never usage: CS
trust: ultimate validity: ultimate
Primary key fingerprint: 27BE D930 D5CF 2173 4616 6655 88EE 4F98 6F74 6C66
UPYOLIC SOFT <info@upyolic.com>
Are you sure that you want to sign this key with your
key "UPYON <uuppyyoonn@upyolic.com>" (xxxxxxxx)
Really sign? (y/N) y<return>
You need a passphrase to unlock the secret key for
user: "UPYON <uuppyyoonn@upyolic.com>"
1024-bit DSA key, ID xxxxxxxx, created 2004-08-16
**********<return> ※パスフレーズを入力します。
Command> save<return>

これでインポートした鍵を利用して暗号化されたメールを送信することができます。