キャビネット ファイルとは?

キャビネットとは .cab という拡張子の付いた単一のファイルであり、これには 1 つのライブラリに所属する一連の圧縮ファイルが格納されます。キャビネット ファイルは、ユーザーのシステムにコピーすべきインストール ファイルを格納するのに使用します。1 つの圧縮ファイルのサイズが非常に大きい場合は、複数の .cab ファイルに分割して格納することもできます。

弊社では長年、ソフトウェアを圧縮してディスクで配布するために .cab ファイルを使用してきました。最初は、製品と一緒に出荷されるフロッピー ディスクの枚数を減らすのが目的でした。しかし現在では、インターネット サーバーや企業イントラネット サーバーに格納されている Web コンテンツのファイル サイズを小さくして、そのダウンロードにかかる時間を短くするために .cab ファイルを使用しています。

キャビネットに格納される代表的なものの 1 つに、.inf ファイルがあります。このファイルには、詳しいインストール情報が格納されます。.inf ファイルでは、.cab ファイル内の他のファイルを参照しても、別の URL にある他のファイルを参照してもかまいません。

Internet Explorer 管理者キット ブラウザ パッケージに格納するカスタム .cab ファイルには、すべてデジタル署名が施されていなければなりません。

デジタル署名

.cab ファイルには、ActiveX コントロールの場合と同様に、デジタル署名を施すことができます。デジタル署名は、ソフトウェア開発者の責務を表明するものです。署名により、ソフトウェア ベンダーの名前とファイルが関連付けられます。.cab にデジタル署名を施すには、ソフトウェア開発者向けの .cab ツールセットに入っている新しい Authenticode 技術を使用します。これは、オープンな規格です。

.cab ファイルを使用すれば、ユーザーは 1 つの認証だけで複数のファイルをダウンロードすることができるため、使い勝手がよくなります。この技術の詳細については、Internet Client SDK を参照してください。

自分のコンポーネントがユーザーのシステムに損害を与えたときは、デジタル署名により、自分を認証した会社を通して通知されます。自分の署名は、セットアップ ウィザードを使用して自分のコントロール コンポーネントのインターネット セットアップを作成するときに組み込むことができます。

コントロールに "スクリプトの安全性" というマークを付けると、HTML ページ上のスクリプトがそのコントロールを使用してユーザーのコンピュータに損害を与えたり、ユーザーに隠れて情報を引き出したりできないということをユーザーに宣言することになります。

コントロールに "初期化時の安全性" というマークを付けると、HTML の作成者が HTML ページの初期化時にそのコントロールに無効なデータを与えてもユーザーのコンピュータに損害を与えることがないということをユーザーに宣言することになります。

注意


"コード署名" 用のユーティリティ群を使用すると、デジタル証明を使用して .cab ファイル全体に署名を施すことができます。

キャビネット ファイルと IExpress ツール

Internet Explorer 管理者キットには、キャビネット ファイルの構築と IExpress 技術の活用のためのツール セットが入っています。また、Internet Client SDK でも、一連のツールや情報が提供されています。

.cab 形式

.cab 内の圧縮ファイルは、それぞれが単一のフォルダに格納されています。1 つのキャビネット ファイルには、フォルダを 1 つまたは複数個格納したり、1 つのフォルダの中の一部分を格納したりできます。したがって、圧縮ファイルが 1 つの .cab に入りきらない場合、その圧縮ファイルは 1 つのフォルダにして、複数の .cab ファイルに格納することができます。そのときの一連の .cab ファイルを、セットといいます。それぞれの .cab ファイルには、論理的に隣接する .cab ファイルの名前情報が入っています。

インターネット コンポーネント ダウンロードで使用される .cab 形式は、非商用の Lempel-Ziv 圧縮形式に基づいています。

.cab ファイルへの署名

.cab ファイルに署名が施されていると、.inf ファイルや .ini ファイルを含むキャビネット内のファイルが信頼できるものと見なされます。これには、次の 2 つの利点があります。

  1. 信頼できる .cab ファイルに強力な .inf ファイルを格納できます。
  2. .cab ファイル全体に署名を施せば、圧縮により、デジタル証明の検証に要する時間が短縮されます。

Java クラス用のデジタル署名 .cab ファイルの作成

Java クラス用のデジタル署名 .cab ファイルを作成するには、Java SDK の Cabinet Development Kit と ActiveX SDK の Code Signing Kit に入っている一連のツールを使用します。Java クラス用の .cab ファイルを使用すれば、ダウンロードが高速になり、インストールもより安全に実行できます。