一応、Linux サーバ上で Windowsユーザの公開鍵をインポートして、その鍵を使いテキスト文書を暗号化。そのテキスト文書を Windows 側で秘密鍵を使って復号する流れはうまくいった。
まず、事前に、
<Windows 側>
・Windows ユーザに GnuPG, WinPT をインストール
・WinPTでキーペア(秘密鍵/公開鍵)作成。
・WinPTで公開鍵をエクスポート(テキストファイルで出力)
<Linux(CentOS)側>
・GnuPG をインストール
・gpg コマンドでキーペア(秘密鍵/公開鍵)作成。(実際、公開鍵は必要ないんだけど、ついでに(^^;)
・Windows ユーザの公開鍵をキーリストにインポート
・インポートした公開鍵にサイン
という手順で準備が必要。
あとは、gpg コマンドを使ってサーバにて暗号化、クライアントにて複合化するだけ。
■UNIX側で暗号化
$ cat > test.txt
Fear me you lords and lady preachers
I descend upon your Earth from the skies
I'll take you to the seven seas of Rhye
^D
$ cat test.txt|gpg -ear "NIPPON TAROU <pgp-taro@metandsuit.com>" -o test_asc
$ cat test_asc
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.9 (GNU/Linux)
hQIOAwILQ0QnW9j3EAgAlGiBKyNXw0jlexOXsr22lNZuHc7OAGXF/3B9hWlPuEEV
on2VezAEbU37xoDUMiTYNrrTm3WReBYExwyp3Ipuqd8cZT30ZQt0E+X5A0IPs+/i
aGH/iHe+vqNHy354fg0qHvFfWX+zayekXHfxKtNV3Xh+T2Ktg2Qs0AVEccVhIWIc
LynrSjWXe+9ddfkFLo2DEhsm7tfA53uQpWehiI67p4l3F10hS+aHAqWVoMXK0pY4
to0RobCyE0AwYKDEhaX6UryMMfZgIj7KmDAKbD84IVt22ur8+BMocCnSKeKa1zMg
gD4E6/ECSt9I1n8vNe48xVzzG4rWuNwME1AWUFBiKQf8DNdy8p9Bd0SMWyCs1FqL
0I0K+8qjZEOJFYjA65M2blD3DqupQyDIoxb6C4VFKoiEqNQrrtgPasooTfu2L46c
LFV8H8HMpgwpE+ZbeKUhm1Yds8aoY3YS5ZfKt+KBwnoYABYTMtDHE3tcvlLL8fQb
RsmpFBxhXeuV7jOxfheCDxiFTOtBP5vdmrd1lca9VKLuZ5t9SJsDIJB7C6UCaLMJ
26XloOfsMM6Sx7MPXIytKTYsK6455Al9KHJlXBUw4PHHCqt9WnCg/4xdgrXS0uYm
b1od5DM2Z80LyUpr1bksIa0Dvy38wDFwqhxJGOIoDn7VpIuZpxSxbzQPvmwenlQQ
lNKfAcfS2xq9F62GnOqTbhzRPZeQGqhh1g3q54iGM+DhiN7SF6wod/Pfwsn0UDH6
jMeIfjAnJZIpifbG22V0FPyOYMMcMSuoa91++uOC40C94ZTMeFVBGKik0ue9dBl1
V6w0g1yhl8PTVTSU9/vCKT33Qet5f/o/h4YoOXb7cAihIgrPipRNFDL955xo/yFF
n/BxAJRFcBzzxH4Pe7MGQ2Ky
=RK6B
-----END PGP MESSAGE-----
暗号化されてる。
■Windows 側で複合化
C:\GnuPG>gpg E:\暗号化済みTEXT.txt
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:"NIPPON TAROU <pgp-taro@metandsuit.com>"
2048ビットELG-E鍵, ID 275BD8F7作成日付は2008-09-08 (主鍵ID 707C68C1)
パスフレーズを入力:(鍵を作ったときのパスフレーズ)
gpg: 2048-ビットELG-E鍵, ID 275BD8F7, 日付2008-09-08に暗号化されました
"NIPPON TAROU <pgp-taro@metandsuit.com>"
gpg: E:\暗号化済みTEXT.txt: 未知の拡張子
新しいファイル名を入力してください: decode.txt
C:\GnuPG>type decode.txt
Fear me you lords and lady preachers
I descend upon your Earth from the skies
I'll take you to the seven seas of Rhye
C:\GnuPG>
ばっちり。
未知の拡張子とか言われてるのは、.asc にすればよかったのかな?
さて、後は
・メールフォームCGI の中で暗号化コマンドがちゃんと実行されるかテスト。(shell に nologin を指定した状態でも)
・Windows 側に GUI で復号できる仕組みの導入。(ベストなのは、Outlook プラグインで、メールを表示した状態でボタン一発復号)
てなことが必要。