セキュリティレベルを設定しよう」でマクロのセキュリティについて紹介しました。その中で、マクロの署名に使われるデジタル証明書について簡単に紹介致しました。今回は、このデジタル証明書について詳しく解説します。なお、解説で使用するExcelのバージョンは2003です。バージョンによる違いについても、最後にまとめています。

デジタル証明書とは?

デジタル証明書は、マクロなどに対する署名が「本人のものであるかどうか」を証明するためのデータで、「公開鍵暗号方式」と呼ばれる暗号方式を利用した技術です。

デジタル証明書の役割(その1)作成者の確認

デジタル証明書には、「ファイル作成者に関する情報」や「証明書を発行した証明機関に関する情報」、「証明書のID」や「有効期間」などが記載されています。デジタル証明書による署名が付いていれば、ファイル作成者が信頼できるかどうかを確認できます。

デジタル証明書の役割(その2)ファイル改ざんの確認

ファイルにデジタル証明書による署名が付いている場合、署名を無効にしないと、ファイルの内容を変更して保存することができません。従って、署名が有効になっている間は内容が変更されていない、ということになります。つまり、ファイルが改ざんされたかどうかを確認できる、というわけです。

デジタル証明書を取得するには

デジタル証明書は、「認証局(CA)」と呼ばれる認証機関がファイル作成者に関する詳細な情報を検証して発行します。認証局については、下記のURLで参照できます。
http://msdn2.microsoft.com/en-us/library/ms995347.aspx

※日本法人を持つ企業(VeriSign, Inc.など)も含まれています

その他、デジタル証明書のしくみを導入している会社であれば、組織内のセキュリティ管理者やIT担当者が発行している場合があります。

テスト用のデジタル証明書を作成できる!

Microsoft Officeの「VBAプロジェクトのデジタル署名」機能を使うと、テスト用にデジタル証明書を作成できます。
「VBAプロジェクトのデジタル署名」機能を実行すると、デジタル証明書を作成する「SelfCert.exe」ファイルが実行されます。


もちろん、ここで作成したデジタル証明書は、認証局 (CA) によって認証されたものではないので、配布してもなんの効力もありません。しかし、デジタル証明書がどのようなものなのか確認できますし、デジタル証明書を作成したパソコン内のブックやマクロであれば、個人的もしくはテストの目的で、その効力を確認できます。

>次ページで、テスト用のデジタル証明書を作成してみましょう!