次の方法で共有


方法 : プリコンパイルされた Web サイトのアセンブリに署名する

更新 : 2007 年 11 月

ASP.NET コンパイル ツール (Aspnet_compiler.exe) によって作成されたアセンブリにデジタル署名して、Web アプリケーションのセキュリティを高めることができます。厳密な名前でアセンブリに署名すると、攻撃者は、アプリケーション内に不正なコードを投入することがより難しくなります。署名されたアセンブリを使用する利点の詳細については、「厳密な名前付きアセンブリ」を参照してください。

-keyfile または -keycontainer のいずれかのスイッチでアセンブリに署名した場合、-aptca スイッチを使用して AllowPartiallyTrustedCallersAttribute 属性をアセンブリに適用することも必要です。-aptca スイッチを指定しない場合、アセンブリは ASP.NET プロセスによって呼び出すことができないため、Aspnet_compiler.exe により例外がスローされます。

このトピックの手順では、厳密な名前付きキー ペア、および Aspnet_compiler.exe のスイッチとパラメータを使用します。このツールの詳細については、「ASP.NET コンパイル ツール (Aspnet_compiler.exe)」を参照してください。厳密な名前付きキーの詳細については、「厳密な名前付きアセンブリの作成と使用」を参照してください。

プリコンパイルの詳細については、「ASP.NET Web サイトのプリコンパイル」を参照してください。

プリコンパイルされた Web サイトのアセンブリに署名するには

  1. 厳密な名前付きキー ペアまたはキー コンテナを作成します。厳密な名前付きキーの作成方法の詳細については、「方法 : 公開キーと秘密キーのキー ペアを作成する」を参照してください。

  2. コマンド ウィンドウを開き、.NET Framework を含むフォルダに移動します。

    .NET Framework は、次の場所にインストールされています。

    %windir%\Microsoft.NET\Framework\version
    
  3. コマンド プロンプトで次のように入力して aspnet_compiler コマンドを実行します。

    aspnet_compiler -v virtualPathtargetPath -keyfile keyFile.snk -aptca
    

    virtualPath パラメータは、Web サイトのインターネット インフォメーション サービス (IIS: Internet Information Services) 仮想パスを示し、targetPath パラメータは、コンパイル済み Web サイトのディレクトリの物理パスを示し、keyFile.snk は、キー ファイルの名前を示します。

    キー コンテナを使用する場合は、コマンド プロンプトで次のように入力します。

    aspnet_compiler -v virtualPathtargetPath -keycontainer keyContainer.snk -atpca
    

    Web サイトが IIS アプリケーションではないために IIS メタベースにエントリがない場合は、コマンド プロンプトで次のように入力します。

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -keyfile keyFile.snk -aptca
    

    この場合、physicalOrRelativePath パラメータは、Web サイトのファイルが格納されているディレクトリに対する完全修飾パスまたは現在のディレクトリに対する相対パスを表します。physicalOrRelativePath パラメータでは、ピリオド (.) 演算子を使用できます。-v スイッチには、ティルダ (~) 演算子などを使用して、コンパイラがアプリケーションルートの参照を解決するために使用するルートを指定します。-v スイッチに / 値を指定すると、コンパイラはルートに物理パスを使用してパスを解決します。

    キー コンテナを使用する場合は、コマンド プロンプトで次のように入力します。

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -keycontainer keyContainer.snk -aptca
    

    targetPath パラメータは、格納先ディレクトリへの物理パスです。

参照

処理手順

方法 : ASP.NET Web サイトをプリコンパイルする

その他の技術情報

ASP.NET Web サイトのプリコンパイル