Excel のブックでのデジタル署名とコード署名の説明

概要

Microsoft Office Excel 2003 以降のバージョンの Excel では、ブックにデジタル署名したり、マクロ プロジェクトにコード署名したりできます。 これにより、ブックまたはマクロ プロジェクトに変更を加えた最後のユーザーであることを確認できます。

詳細

デジタル証明書とは

デジタル証明書と署名は、使用しようとしているファイルが信頼できるソースから取得されることを保証するのに役立ちます。 ファイルが改ざんされていないことを保証するのに役立ちます。

デジタル証明書は、ファイルが持つ ID です。 署名を検証するために、証明機関はファイルの作成者に関する情報を検証し、デジタル証明書を発行します。 デジタル証明書には、証明書の発行元に関する情報と、証明書を発行した証明機関に関する情報が含まれます。 デジタル証明書を使用してファイルに署名する場合、この ID は検証可能な形式でファイルと共に格納され、ユーザーに表示できます。

デジタル署名とは

Excel では、ブックの内容にデジタル署名を使用して、ブックが署名されてから変更および保存されていないことを確認します。 デジタル署名は、信頼できるソースによって作成されたブックやマクロを、望ましくない、または破損する可能性のあるブックやマクロ コード (ウイルス) と区別するのにも役立ちます。

デジタル署名は、公開証明書と、秘密キーによって暗号化された署名済みデータの値です。 値は、署名するデータに対して暗号化アルゴリズムによって生成される数値です。 このアルゴリズムを使用すると、結果の値を変更せずにデータを変更することがほぼ不可能になります。 そのため、データの代わりに値を暗号化することで、デジタル署名を使用すると、ユーザーはデータが変更されていないことを確認できます。

デジタル署名を使用するとどうなりますか?

署名付き Excel ブックを表示および編集できますが、署名を無効にせずに署名されたブックを変更および保存することはできません。 たとえば、ファイルに署名し、他のユーザーがファイルを表示できます。 ファイルが署名されたままである限り、他のユーザーは、ファイルが自分から来たものであり、変更されていないことを知っています。

ブックのデジタル署名は、Visual Basic for Applications (VBA) マクロ プロジェクトへのコード署名とは異なります。 ブックにコンテンツのデジタル署名を行うことも、同じブック内の VBA マクロ プロジェクトにコード署名することもできます。

デジタル署名できる Excel ファイル

任意の Excel ブックまたは Excel テンプレートにデジタル署名できます。 ただし、Microsoft Excel 2002 より前の Excel バージョンでは、デジタル署名は認識されません。

共有ブックにデジタル署名する場合、複数のユーザーがブックを変更できるため、Excel はデジタル署名を保持しません。 また、マクロ プロジェクトが共有ブックとして設定された後、Excel ではブック内のマクロ プロジェクトを作成または変更できないため、コード署名を行うことはできません。

デジタル署名を取得するにはどうすればよいですか?

デジタル署名を取得するには、まずデジタル証明書を取得する必要があります。

デジタル証明書またはコード署名 ID は、商用証明機関、または内部セキュリティ管理者または情報技術 (IT) プロフェッショナルから取得できます。

証明機関は、無料でデジタル証明書またはコード署名 ID を発行できます。 証明機関は、デジタル証明書を発行する前に、詳細な識別チェックを行います。

デジタル署名またはコード署名 ID を取得する方法の詳細については、次の Microsoft Web サイトを参照してください。

Microsoft 信頼されたルート証明書プログラム

Microsoft Office で提供されている SelfCert.exe ツールを使用して、個人用またはテスト目的で独自のデジタル証明書を作成できます。 ただし、この証明書は証明機関 (CA) によって認証されません。

ブックにデジタル署名を追加操作方法

ブックにデジタル署名を追加するには、実行している Excel のバージョンに応じて、次の手順に従います。

Microsoft Office Excel 2007

  1. [Microsoft Office] ボタンをクリックし、[準備] をポイントし、[デジタル署名の追加] をクリックします。

  2. [OK] をクリックします。

    ブックが変更され、まだ保存されていない場合、または Excel 2007 ブック形式で保存されていない場合は、次のメッセージが表示されます。

    署名を追加する前に、デジタル署名をサポートする形式でブックを保存する必要があります。
    ブックを Microsoft Office Excel ブックとして保存しますか?

  3. [ はい ] をクリックして、[ 名前を付けて保存 ] ダイアログ ボックスを表示します。 デジタル署名を追加するには、 Excel ブック (*.xlsx) 形式でファイルを保存する必要があります。

  4. ブックを保存すると、[ デジタル ID の取得 ] ダイアログ ボックスが表示されます。 使用するデジタル ID の種類を選択し、[OK] をクリック します

選択したデジタル ID の種類に必要な手順を完了すると、Excel ブックが署名されます。

注:

  • デジタル ID を追加した後でブックを保存すると、デジタル ID が削除されます。 たとえば、ブックにデジタル署名した後に [Microsoft Office] ボタン をクリックし、[ 名前を付けて保存 ] をクリックすると、次のメッセージが表示されます。

    このブックのコピーを保存すると、コピー内のすべての署名が無効になります。

    続行しますか? [はい] をクリックすると、ブックのコピーからデジタル ID が削除されます。

  • 署名されたブックを閉じてから再度開くと、Excel タイトル バーにブック名の後に [読み取り専用] (角かっこ) という単語が表示されます。 さらに、デジタル ID アイコンがステータス バーに表示され、デジタル署名がブックに追加されたことを示す [署名] 作業ウィンドウが表示されます。

    署名されたブックで変更が行われていないことを確認するには、[署名] 作業ウィンドウに署名者が表示されることを確認します。

Excel 2003

  1. [ツール] メニューの [オプション] をクリックします。

  2. [ セキュリティ ] タブで、[ デジタル署名] をクリックします。

  3. [追加] をクリックします。

    ブックが変更され、まだ保存されていない場合、または Excel 2003 ブック形式で保存されていない場合は、次のメッセージが表示されます。

    このブックは、デジタル署名する前に Microsoft Excel ブックとして保存する必要があります。 ブックを保存しますか?

  4. [ はい ] をクリックして、[ 名前を付けて保存 ] ダイアログ ボックスを表示します。 デジタル署名を追加するには、ファイルを Microsoft Excel ブック形式で保存する必要があります。

  5. ブックを保存すると、[証明書の 選択 ] ダイアログ ボックスが表示されます。 使用する証明書を選択し、[OK] をクリック します

  6. [ OK] を クリックして、[ デジタル署名 ] ダイアログ ボックスを閉じます。

これで Excel ブックが署名されました。

注:

  • デジタル署名を追加した後にブックを保存すると、デジタル署名が削除されます。 たとえば、ブックにデジタル署名した後、[ファイル] メニューの [保存] をクリックすると、次のメッセージが表示されます。

    保存すると、ブック内のすべてのデジタル署名が削除されます。

    続行しますか? [はい] をクリックすると、デジタル署名がブックから削除されます。

  • 署名されたブックを閉じてもう一度開くと、Excel タイトル バーにブック名の後に [Signed, unverified] という単語が (角かっこで囲まれて) 表示されます。 これは、デジタル署名がブックに追加されたことを示します。

署名されたブックで変更が行われていないことを確認するには、次の手順に従います。

  1. [ツール] メニューの [オプション] をクリックします。
  2. [ セキュリティ ] タブで、[ デジタル署名] をクリックします。
  3. [ 署名 ] タブの [次のドキュメントに署名者が デジタル署名 済み] の一覧に表示されている場合は、デジタル署名がファイルに追加されてからファイルが変更されていないことを確認できます。

コード操作方法マクロ プロジェクトに署名しますか?

Visual Basic for Applications マクロ プロジェクトに署名するには、次の手順に従います。

  1. 署名するマクロ プロジェクトを含むブックを開きます。

  2. Alt キーを押しながら F11 キーを押して、Visual Basic Editor を開きます。

  3. [プロジェクト] エクスプローラーで、署名するプロジェクトを選択します。

  4. [ ツール ] メニューの [ デジタル署名] をクリックします。

  5. 次のいずれかの操作を行います。

    • デジタル証明書を以前に選択していない場合、または別の証明書を使用する場合は、[ 選択] をクリックして証明書を選択し、[ OK] を 2 回クリックします。
    • 現在の証明書を使用するには、[ OK] をクリックします