Compartir a través de


Cómo: Firmar ensamblados para sitios Web precompilados

Actualización: noviembre 2007

Puede firmar digitalmente los ensamblados generados por la herramienta Compilación de ASP.NET (Aspnet_compiler.exe) para ayudar a mejorar la seguridad de la aplicación Web. Al firmar un ensamblado con un nombre seguro, será más difícil introducir código malintencionado en la aplicación. Para obtener más información sobre las ventajas de utilizar ensamblados firmados, vea Ensamblados con nombre seguro.

Cuando firma un ensamblado con el modificador -keyfile o -keycontainer, también debe especificar que se aplique el atributo AllowPartiallyTrustedCallersAttribute al ensamblado mediante el modificador -aptca. Si no especifica el modificador -aptca, el proceso de ASP.NET no puede llamar al ensamblado y Aspnet_compiler.exe genera una excepción.

El procedimiento descrito en este tema utiliza un par de claves con nombre seguro así como los modificadores y parámetros de Aspnet_compiler.exe. Para obtener más información sobre esta herramienta, vea Herramienta de compilación de ASP.NET (Aspnet_compiler.exe). Para obtener más información sobre las claves con nombre seguro, vea Crear y utilizar ensamblados con nombre seguro.

Para obtener más información sobre la precompilación, vea Compilación previa de sitios Web ASP.NET.

Para firmar los ensamblados para un sitio Web precompilado

  1. Cree un par de claves con nombre seguro o un contenedor de claves. Para obtener más información sobre cómo crear una clave con nombre seguro, vea Cómo: Crear un par de claves privada y pública.

  2. Abra una ventana de comandos y vaya a la carpeta que contiene .NET Framework.

    .NET Framework está instalado en la ubicación siguiente.

    %windir%\Microsoft.NET\Framework\version
    
  3. Ejecute el comando aspnet_compiler escribiendo lo siguiente en el símbolo del sistema.

    aspnet_compiler -v virtualPathtargetPath -keyfile keyFile.snk -aptca
    

    El parámetro virtualPath indica la ruta de acceso virtual de Servicios de Internet Information Server (IIS) al sitio Web, el parámetro targetPath indica la ruta de acceso física al directorio del sitio Web compilado y keyFile.snk indica el nombre del archivo de clave.

    Si utiliza un contenedor de claves, escriba en el símbolo del sistema lo que figura a continuación.

    aspnet_compiler -v virtualPathtargetPath -keycontainer keyContainer.snk -atpca
    

    Si el sitio Web no es una aplicación de IIS y, por lo tanto, no tiene ninguna entrada en la metabase de IIS, escriba en el símbolo del sistema lo que figura a continuación.

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

    En este caso, el parámetro physicalOrRelativePath hace referencia a la ruta de acceso completa del directorio donde están ubicados los archivos del sitio Web, o bien, una ruta de acceso relativa al directorio actual. El operador . (punto) se permite en el parámetro physicalOrRelativePath. El modificador -v especifica la raíz que el compilador utilizará para resolver las referencias a la raíz de la aplicación, por ejemplo, con el operador ~ (tilde). Cuando se especifique el valor de / para el modificador -v, el compilador resolverá las rutas de acceso utilizando la ruta de acceso física como raíz.

    Si utiliza un contenedor de claves, escriba en el símbolo del sistema lo que figura a continuación.

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

    El parámetro targetPath es una ruta de acceso física al directorio de destino.

Vea también

Tareas

Cómo: Precompilar sitios Web ASP.NET

Otros recursos

Compilación previa de sitios Web ASP.NET