デジタル証明書

MicrosoftOfficeなんかでデジタル証明書とかが良く出てくるようになったので、ちょっと調べてみた。

ここでの目的は
・公的に認められた認証局からの証明書でオレオレ証明でないこと
・メールのみではなく、Officeのファイルや.exeファイルなどに署名できること
を目的にしてます。最終的には VBA に署名できることが目的なんだけどね。
PKIに関する細かい仕組なんかはやってられないので省く。

クラス

VeriSign の提供しているデジタル証明書にはクラスがあって、

  • Class1:個人向け、メールアドレスのみの確認で発行。 使用目的はメールへの署名
  • Class2:企業内個人向け、帝国データバンクなどから企業の存在も確認して、企業に対して発行。 企業内のクライアント証明に使用
  • ・Class3:企業向、ダン アンド ブラッドストリートの評価に基づいた最低限の財務安定度を満たしてる企業に対して発行。 ウェブサーバで SSL 通信する場合とか、プログラムに署名するコードサイニングに使用。
という区分になってる様子。
他の認証局とかでも Class ってつかってるのかな?

プログラムに対する署名

で、ソフトウェアに署名するには Class3 が必要らしい。
いわゆる .exe ファイルとか、.jar ファイルに署名するにはコードサイニング証明書ってのが必要。
http://www.verisign.co.jp/codesign/index.html
.exe、.cab、.ocx、.dllに署名するには Microsoft Authenticode署名ツール用の証明書が必要で、\94500円(1年)。 .jar には Netscape Netscape Signigtool 用の証明書が必要で、同じく\94500(1年)、pdfファイルに対する署名には 三菱電機のMisty Guardがあって、その証明書がまたまた \945000円(1年)。 たけぇ…
もちろんお金払えば済む話じゃなくて、これらの証明書は Class3 だからその企業の財務安定度なんかの審査も必要になるわけで、個人で手を出せるもんじゃないね。

でまぁ審査といっても個人経営してるような小さいウェブショッピングサイトでも申請すれば通るもののようだし、むちゃくちゃ敷居が高いと言うほどのものでもない様子。

http://sqs.cmr.sfc.keio.ac.jp/tdiary/20051003.htmlもあるようだけど、Windowsでは標準で認証されないようなので、いまのところは関係ないという事で。

メールに対する署名

今回の目的からすると半分余談なんだけど、メールに対する署名について。
メールに対する署名は Class3 なんかに比べると遥かに楽で、メールアドレスとクレジットカードがあれば、VeriSignから Class1 の証明書は取得できる。 お値段 USドルで $19.95、微妙なお値段。
その他に@niftyなんかが月額200円とかで証明書発行サービスをやってたりもする。 VeriSign自体が60日間の無料サービスをやってたりするのでお試しにはいいかも知れない。シマンテック・ウェブサイトセキュリティ(旧日本ベリサイン)【セキュリティ・電子証明書・SSL/TLS】

とりあえず上記の VeriSign の無料サービスを使用して Class1 の証明書を1つ手にいれて、OutlookExpressで送受信してみた。 あんまり面白いものじゃないんだけど、これでメールの署名とか、暗号化は出来るし、Officeの文章に対する署名もこれで出来る様子。 Mewでもこの証明書が使えるなら、ちょっといいかも知れない。
とはいえ、GnuPG なんかもあるし、メールの署名と暗号化だけなら、別段 VeriSign から証明書を買うほどの必要性があるわけでもない。

で、まぁ

あれこれと調べてると、やっぱり Microsoft の Office なんかに署名するには Class2 か Class3 の証明書が必要になるらしい。
Microsoft API and Reference Catalog
個人でも selfcert.exe というプログラムを使用して署名ができるようになるみたいだけど、その方法を使ったところで結局のところオレオレ証明以外の何者でもないわけで。 個人で活動する以上 Class2 とかの証明書の取得は不可能と。 簡単に取得されるようじゃ証明書の役割果たさないからそれはそれでいいんだけどね。

証明書を取得するためには会社がいるというわけで、証明書のために会社を作るという本末転倒な所業にでるのはあまりにもアレすぎるよなぁ…