linux における google chrome でのSSL証明書のバックアップ方法

ひっさびさにはてなに書くから記法がわかりません!

市民権もすっかり剥奪されて奴隷階級に身をやつしております今日この頃、皆様お元気でしょうか。母の日にはベタにカーネーション送りましたよ!!そんなわけで google chrome でのSSL証明書のバックアップ方法についてです。

なんで?って、そりゃ StartSSL で証明書を取得したのはいいけど、google chrome で取得してみたら、どうやってクラアント証明書のバックアップをとっていいのか途方に暮れてしまったからです。windows だとどうか分からないけど、linuxchrome だと、「オプション」→「高度な設定」→「セキュリティ」→「証明書の管理」をたどると下記の絶望的なページに飛ばされます。

http://code.google.com/p/chromium/wiki/LinuxCertManagement

さて、つまりは「GUIなんてまだ用意してねーぜ!」ということ(2010年5月現在)だそうなので、自分で頑張って NSS Shared DB と格闘してくれよ!ハハハ!!という話です。さすがは「高度な設定」を名乗るだけはあるよねー。ではどうせすぐに忘れちゃう私のために以下にバックアップ方法をまとめておきます。

まずは準備だ!

最早すっかり Ubuntu っ子になったので、下記で何も考えずに libnss3-tools をインストールしましょう。

sudo apt-get install libnss3-tools

他のディストロの場合は上の LinuxCertManagement のやり方に従うこと。

証明書の一覧を眺めるよ

とりあえず証明書としてどんなものが入っているか確認するよ。私の場合、他の証明書は入れてないから、StartSSLで作成した証明書だけが入ってるからとっても分かり易い感じです。

keita% certutil -d sql:$HOME/.pki/nssdb -L                        [/home/keita]


Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

StartCom Free Certificate Member's StartCom Class 1 Primary Intermediate Client CA ID u,u,u

というわけで、「StartCom Free Certificate Member's StartCom Class 1 Primary Intermediate Client CA ID」がニックネームです。このニックネームというのがなんだか重要そうだから、覚えておいてね!

いよいよバックアップを!!

必要なニックネームを取得したから、次のようにして、バックアップを取り出します。

keita% pk12util -d sql:$HOME/.pki/nssdb -o backup.p12 -n "StartCom Free Certificate Member's StartCom Class 1 Primary Intermediate Client CA ID"
Enter password for PKCS12 file: 
Re-enter password: 
pk12util: PKCS12 EXPORT SUCCESSFUL

これで backup.p12 というファイルがお手元に作成されます。パスワードを聞かれるけど、空でも一応大丈夫みたい。万一失くした時に備えて設定しておいた方がいいと思いますけどねー。ちなみにこの .p12 なファイルってなに?と思ったので調べてみたら、PKCS #12 という鍵と証明書をパッケージしたファイルフォーマットなのだそうです。SSL関係は用語がむずかしくて覚えられそうにない...

http://ja.wikipedia.org/wiki/PKCS

まとめ

さて、これでバックアップがとれて安心ですね。firefox でやればこんな苦労はしないで済むのに...と思うでしょうが、私の場合、そう思った時には手遅れだったの仕方ないのです。だってこの手順を踏まないと firefox に証明書を移すこともできないわけで。

ちなみにこの証明書を firefox に移すためには、「設定」→「詳細」→「暗号化」→「あなたの証明書」→「インポート」で作成した .p12 なファイルを読み込んで下さい。多分他のブラウザも似たようなところから読み込めるんだと思います。