相互運用と依存アセンブリに完全信頼のアクセス許可を付与する

Office 2003 スマート タグ SDK

相互運用と依存アセンブリに完全信頼のアクセス許可を付与する

これまでに説明したとおり、Visual Studio Tools for Office ローダは "明示的に信頼される" アセンブリを必要とします。つまり、Visual Studio Tools for Office ローダによって読み込まれ実行を許可されるアセンブリの場合、完全に信頼されていることを示す固有の証拠エントリをポリシー内に持つ必要があります。これまでに取り上げてきたこれらの証拠の例としては、アセンブリが固有の証明書によって署名されていること、固有のフォルダまたは共有から実行されること、特定の厳密な名前を持っていることなどが挙げられます。

Office 2003 プライマリ相互運用アセンブリ (PIA)

Visual Studio Tools for Office ローダの Beta 2 で Office 2003 プライマリ相互運用アセンブリ (PIA) を使用したことのある場合、PIA を使用するには、これに完全信頼のアクセス許可を明示的に付与する必要があることをご存知のはずです。ここで重要な点は、Office 2003 リリースでは PIA を実行するために完全な信頼を付与する必要がないということです。Office 2003 PIA (後で説明する 2 つを除く) には実行のための特別なアクセス許可が既に付与されています。したがって、ユーザーがこれらに完全な信頼を明示的に付与する必要はないのです。

メモ  Office 2003 PIA の取得、使用、トラブルシューティング方法の詳細については、「Office 2003 プライマリ相互運用アセンブリ (PIA)」を参照してください。

ただし、何らかの理由で Office dao.dll および mscomctl.dll の PIA を使用する必要がある場合、これらが他のすべての Office 2003 PIA とは異なるキーによって署名されていることに注意します。この特定のキーは、他のすべての Office 2003 PIA の署名に使用されているキーとは異なり、特別なアクセス許可が付与されていません。

メモ  Office dao.dll および mscomctl.dll PIA は、それぞれ Microsoft Access (DAO 使用時) および Microsoft Office Web Components で使用されます。これらをマネージ スマート タグ ソリューションで使用する可能性はほとんどありません。

つまり、dao.dll および mscomctl.dll PIA をスマート タグ ソリューションで使用する必要がある場合、ユーザーが自分でこれらに完全な信頼を付与する必要があります。そうでなければ、完全信頼のアクセス許可がないために Visual Studio Tools for Office ローダがこれらを読み込まず、スマート タグ ソリューションは実行されません。次に、コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用して、署名キーに基づいてこれら 2 つの PIA に対して一度に完全な信頼を付与する方法の例を示します。

caspol -m -ag My_Computer_Zone -strong -file C:\WINDOWS\assembly\GAC\dao\10.0.4504.0__31bf3856ad364e35\dao.dll -noname -noversion FullTrust -n "DAO and OWC PIAs" -d "Microsoft Office DAO and OWC PIAs"

相互運用アセンブリ

使用可能なプライマリ相互運用アセンブリ (PIA) が存在しないために、相互運用アセンブリ (IA) を使用する必要がある場合は、IA に完全信頼のアクセス許可を付与する必要があります。IA は tlbimp.exe を使用して独自のキーで作成でき、署名キーに基づいて信頼することができます。IA を明示的に信頼していない場合、完全信頼のアクセス許可がないために Visual Studio Tools for Office ローダがこれを読み込まず、スマート タグ ソリューションは実行されません。

その他の依存アセンブリ

マネージ スマート タグ アセンブリ内で他のアセンブリを呼び出している場合、呼び出されるアセンブリにも完全信頼のアクセス許可を付与する必要があります。そうでなければ、完全信頼のアクセス許可がないために Visual Studio Tools for Office ローダがこれらを読み込まず、スマート タグ ソリューションは実行されません。

重要  スマート タグ アセンブリに署名を行い、そのスマート タグ アセンブリに対して署名キーに基づいて完全な信頼を付与する場合、IA と他の依存アセンブリの署名には同じキーを使用することをお勧めします。この方法であれば、IA と他の依存アセンブリを信頼するために、個々の署名キーによる別々のセキュリティ ポリシーを追加する必要がなくなります。スマート タグ アセンブリ、IA (IA を使用する場合)、およびその他の依存アセンブリの署名に同じキーを使用すれば、そのキーを信頼するための .NET セキュリティ ポリシーは一度設定するだけで済みます。また、これと同じキーを使用して署名されたアセンブリにはすべて、これ以降、完全な信頼が自動的に付与されます。つまり、署名キーまたはソフトウェア発行元に基づいてアセンブリに完全な信頼を付与するための .NET セキュリティ ポリシーの設定は、一度限りの作業になるのです。