署名された Office VBA プロジェクトを使用する

Microsoft Office 2000/Visual Basic プログラマーズ ガイド   

Microsoft Office では、デジタル署名はユーザーのセキュリティ設定、および "信頼のおけるソース" と呼ばれる既知の確認済みの証明書のリストと併用されます。ユーザーのセキュリティ レベルおよび信頼のおけるソースのリストはユーザーのコンピュータで維持されますが、管理者による制御を受ける場合もあります。デジタル署名の使用に関する管理制御を最大限にするためには、管理者はユーザーのセキュリティ設定をロックし、変更できないようにすることができます。通常この操作は、署名された VBA プロジェクトのマクロのみが実行されるように [高] の設定を強制する場合に使用されます。さらに、管理者は信頼のおけるソースのリストに承認された証明書を追加し、リストをロックしてユーザーが新しい信頼のおけるソースを追加できないようにすることができます。

Word、Excel、PowerPoint、および Outlook のセキュリティ設定は Internet Explorer で使用されている設定と同じです。Office 2000 には、マクロが含まれるドキュメントに関連する 3 種類のセキュリティ設定が用意されています。

  • [高]   信頼できる証明書を使用して署名されたマクロのみが自動的に実行されます。署名されていないマクロは通知なしで無効になります。信頼のおけるソースのリストに含まれない署名でマクロが署名されている場合は、ダイアログ ボックスが表示されます。ユーザーがこの時点で実行できる操作は、システム管理者の設定内容によって異なります。

    • システム管理者が、信頼のおけるソースのリストをロックしていない場合、以前は信頼されていなかった、署名されたドキュメントを開いたときに、ユーザーは現在の署名を信頼のおけるソースのリストに追加することができます。

    • システム管理者が信頼できる署名を追加した後で信頼のおけるソースのリストをロックした場合、ユーザーは、信頼のおけるソースのリストに新しい署名を追加することはできません。既存の信頼できる証明書を使用して署名されたマクロのみが実行されます。

    • 信頼できる署名をまったく追加せずにシステム管理者が信頼のおけるソースのリストをロックした場合、マクロは実行されません。

  • [中]   信頼できる証明書を使用して署名されたマクロのみが自動的に実行されます。新しい署名が信頼のおけるソースのリストに追加された場合、高の設定で説明されている同様の管理規制が適用されますが、[中] の設定においては署名の存在にかかわらずマクロを実行することができます。

  • [低]   ユーザーに対して警告は表示されません。各種ドキュメントが開かれ、すべてのマクロが有効になります。この設定は、ユーザーがアンチウィルス ソフトウェアをインストールし、デジタル署名を使用しない場合にのみ使用してください。

セキュリティ レベルを設定する

セキュリティの設定を行うには、[ツール] メニューの [マクロ] をポイントし、[セキュリティ] をクリックして図 17.2 に示されているダイアログ ボックスを表示します。

17.2 [セキュリティ] ダイアログ ボックス

以下の表は、[セキュリティ レベル] タブで選択する各設定で、さまざまな種類のドキュメントおよび署名確認の結果に対するマクロ ウィルス保護の動作の概要を示しています。いずれの設定においても、アンチウィルス ソフトウェアがインストールされ、ドキュメントにマクロが含まれている場合は、ドキュメントが開かれて確認が開始する前に既知のウィルスのスキャンが実行されます。

ドキュメントの種類および確認結果


マクロなしの場合 ドキュメントは開きます。 ドキュメントは開きます。 ドキュメントは開きます。
署名されていないマクロの場合 マクロは通知なしで自動的に無効になり、ドキュメントまたは Outlook アプリケーションが開きます。 マクロを有効または無効にする選択を要求するメッセージが、ユーザーに対して表示されます。 選択を要求するメッセージは表示されません。マクロは有効になります。
信頼のおけるソースからの署名されたマクロで、確認が成功した場合 マクロは自動的に有効になり、ドキュメントまたは Outlook アプリケーションが開きます。 マクロは自動的に有効になり、ドキュメントまたは Outlook アプリケーションが開きます。 選択を要求するメッセージの表示または確認はありません。マクロは有効になります。
信頼できない作成者からの署名されたマクロで、確認が成功した場合 証明書に関する情報のダイアログ ボックスが表示されます。ユーザーが [セキュリティの警告] ダイアログ ボックスの [この作成者のマクロを常に信頼する] チェック ボックスをオンにして、作成者および認証局を信頼する場合のみマクロが有効となります。ネットワーク管理者は信頼するソースのリストをロックして、ユーザーが作成者をリストに加え、ドキュメントまたは Outlook VBA プロジェクトのマクロを有効にすることを防ぐことができます。 証明書に関する情報のダイアログ ボックスが表示されます。マクロを有効または無効にする選択を要求するメッセージが、ユーザーに対して表示されます。オプションとして、ユーザーは、[セキュリティの警告] ダイアログ ボックスの [この作成者のマクロを常に信頼する] チェック ボックスをオンにして、作成者および認証局を信頼することができます。 選択を要求するメッセージの表示または確認はありません。マクロは有効になります。
信頼できない作成者からの署名されたマクロで、ウィルス感染の可能性があるために確認が失敗した場合。 ユーザーはウィルス感染の可能性を警告されます。マクロは自動的に無効になります。 ユーザーはウィルス感染の可能性を警告され、マクロは自動的に無効になります。 選択を要求するメッセージの表示または確認はありません。マクロは有効になります。
信頼できない作成者からの署名されたマクロで、公開鍵が見つからないため、または互換性のない暗号方法が使用されたために確認ができない場合。 ユーザーは確認が不可能であることを警告されます。マクロは自動的に無効になります。 ユーザーは確認が不可能であることを警告されます。マクロを有効または無効にする選択を要求するメッセージが、ユーザーに対して表示されます。 選択を要求するメッセージの表示または確認はありません。マクロは有効になります。
信頼できない作成者からの署名されたマクロで、証明書が失効した後、または取り消された後に署名された場合。 ユーザーは署名が失効または取り消されたことを警告されます。マクロは自動的に無効になります。 ユーザーは署名が失効または取り消されたことを警告されます。マクロを有効または無効にする選択を要求するメッセージが、ユーザーに対して表示されます。 選択を要求するメッセージの表示または確認はありません。マクロは有効になります。

信頼のおけるソースの身分証明を行う

[セキュリティ] ダイアログ ボックスの [信頼のおけるソース元] タブには、ユーザーにより過去に受け入れられたでデジタル証明、またはネットワーク管理者により以前インストールされたすべてのデジタル証明が一覧表示されます。ユーザーは、信頼のおけるソースを直接このダイアログ ボックスに追加するのではなく、新しい作成者からの署名されたドキュメントを初めて開くときに、[この作成者のマクロを常に信頼する] チェック ボックスをオンにすることにより、新しい証明書をリストに追加することができます。管理者は信頼のおけるソースのリストをロックして、ユーザーがリストに新しい作成者を追加できないようにすることができます。このため、現在のリストで承認された証明書を使用して署名されたマクロのみが実行可能になります。

[信頼のおけるソース元] タブには、既定でオンになっている [すべての組み込み済みのアドインとテンプレートを信頼する] チェック ボックスがあります。このチェック ボックスがオンになっている場合、次の表に含まれるすべての場所にあるすべてのアドインおよびテンプレートのマクロは、セキュリティ レベルの確認の対象から除外されます。これは、これらのアドインおよびテンプレートが既に信頼できるものであるとみなされるためです。ここでは Microsoft Office によりインストールされるすべてのテンプレートおよびアドインが含まれます。

インストール先 メモ
C:\Program Files\Microsoft Office\
Templates\<言語 ID> サブフォルダ
日本語版の言語 ID サブフォルダ名は 1041 です。
C:\Windows\Application Data\
Microsoft
\Templates
このフォルダは、Windows 95 または Windows 98 を使用し、ユーザー プロファイルが有効でない場合のみ使用されます。
C:\<Windows フォルダ>\Profiles\<ユーザー名>
\Application Data\Microsoft\
Templates
このフォルダは、Windows NT Workstation または Windows NT Server を使用する場合、または Windows 95 あるいは Windows 98 を使用し、ユーザー プロファイルが有効である場合に使用されます。
C:\Program Files\Microsoft Office\
Office\Library
このフォルダは、Microsoft Office によってインストールされたアドインに使用されます。
C:\Program Files\Microsoft Office\
Office\AddIns
このフォルダは、Microsoft Office によってインストールされたアドインに使用されます。
C:\Program Files\Microsoft Office\
Office\Startup
このフォルダは Word テンプレートにのみ使用されます。
C:\Program Files\Microsoft Office\
Office\XLStart
このフォルダは Excel ブックおよびアドインにのみ使用されます。
Excel 代替フォルダ名 この場所は、[ツール] メニューの [オプション] にある [全般] タブの [XLSTART 代替フォルダ名] ボックスで指定することができます。

すべてのアドインおよびテンプレートに対して署名を必要とする場合は、[すべての組み込み済みのアドインとテンプレートを信頼する] チェック ボックスをオフにします。

重要   Excel では、[すべての組み込み済みのアドインとテンプレートを信頼する] チェック ボックスをオフの状態で、セキュリティ レベルが [中] または [高] に設定されている場合、上記の表に含まれる場所からロードされ、XLM マクロ (Excel 4.0 のマクロ) が含まれる任意のアドインを使用可能に設定することを要求するメッセージが、ユーザーに対して表示されます。XLM マクロが含まれるブックまたはアドインには署名できないため、これらのアドインを有効にするように要求されます。Analysis ToolPak および Solver アドインなど Excel 2000 用にインストールされたアドインのいくつかにもこの動作が適用されます。

メモ   [すべての組み込み済みのアドインとテンプレートを信頼する] チェック ボックスをオンにしても Excel のテンプレートに影響はありません。コードが含まれる、インストール済みの Excel のテンプレートは既定により信頼できないものと見なされます。

ユーザーまたは管理者が、インストールされたアドインおよびテンプレートもセキュリティ レベルの設定に基づいて評価する必要があると判断した場合は、[すべての組み込み済みのアドインとテンプレートを信頼する] チェック ボックスをオフにすることができます。この場合、セキュリティ レベルが [高] に設定されていると仮定した場合、署名およびインストールされたテンプレートおよびアドインのマクロのみが実行されます。Office 2000 アプリケーションで作成されたアプリケーション固有のアドイン (.dot, .xla, および .ppa) は、Visual Basic Editor の [ツール] メニューにある [デジタル署名] を使用して署名することができますが、COM アドイン (COM DLL として作成されたアドイン) は Microsoft Internet Client Software Development Kit (SDK) の Signcode.exe ユーティリティを使用して署名する必要があります。Microsoft Internet Client SDK のダウンロードまたは注文については、https://msdn.microsoft.com/developer/sdk/inetsdk/asetup/default.htm を参照してください。旧バージョンの Microsoft Office で作成され既にインストールされているテンプレートおよびアドインは、実行する前に、対応する Office 2000 アプリケーションで開いて署名する必要があります。また、管理者は [すべての組み込み済みのアドインとテンプレートを信頼する] チェック ボックスの設定をロックして、ユーザーによる変更を防ぐことができます。