Visual Studio 2005 Service Pack 1のデジタル署名について

先日のVisual Studio 2005 Service Pack 1 製品版リリースの記事に関連して、ある方から「ダウンロードしたVisual Studio 2005のSP1にデジタル署名がついていないのでは?」とご連絡を受けました。

こちらで調査した結果、いくつかわかった件についてより多くの方に共有した方が良いと判断し、その回答をこちらに掲載します。

最初に結論から言ってしまえば、実はデジタル署名は正しくついていることを、こちらでは再度確認しています。ただし、今回のようなご指摘を受ける合理的な理由があることも同時に認識しました。それについて今回詳細をご紹介したいと思います。

まず今回ご指摘を受けた問題の詳細です。
確認手順は下記のようになります。

  1. Microsoft Visual Studio 2005 Service Pack 1から VS80sp1-KB926602-X86-JPN.exe をダウンロードする。
  2. エクスプローラの中でダウンロードしたファイルをポイントし、右クリックで [プロパティ] を選択する。
  3. [VS80sp1-KB926602-X86-JPN.exe のプロパティ]のボックスの中に [デジタル署名] というタブが表示されるか確認する。

通常デジタル署名された実行ファイル等のプロパティには [デジタル署名] というタブが表示され、署名情報の詳細を確認することができるはずです。もし [デジタル署名] というタブが見つからなければ、そのファイルにはデジタル署名がないと判断することができます。

ちなみにマイクロソフトでは、自社サイトからダウンロード可能な実行ファイルやキャビネット ファイル (.cab ファイル) 等にはすべて自社のデジタル署名を付加することが義務付けられています。

さていかがでしょうか? 手順 3 のところで [デジタル署名] というタブを見つけられない方が、他にもいらっしゃるかもしれません。

こちらで確認したところでは、Windows XP と Windows 2003 Server 上では [デジタル署名] タブが見つからないことがあるようです。ところが Windows Vista 上では今のところ確実に [デジタル署名] タブが出てきて、署名の詳細情報を確認できます。一方 Visual Studio のテスト担当者の話としては、「経験上、ある程度サイズの大きいファイルの場合、Windows XP などではデジタル署名の確認ができないことがある」と言うことでした。今回のファイルの場合、サイズが400MBを超えていますので、それに該当するかもしれません。

今回の話は以上です。まとめますと、最も単純確実にデジタル署名を確認するにはWindows Vista を使いましょうという、ちょっと申し訳ない話になります。あまり歯切れの良い結論にならず、本当に申し訳ないのですが、客観的な状況としてはこの通りです。

最後に、この場を借りまして今回のような情報を提供するきっかけになるご連絡を下さった方に、お礼申し上げたいと思います。