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
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.
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
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