Ensamblados con nombre seguro

Actualización: noviembre 2007

Un nombre seguro está formado por la identidad del ensamblado (nombre de texto sencillo, número de versión e información de referencia cultural, si se proporciona), además de una clave pública y una firma digital. Se genera a partir de un archivo del ensamblado (el archivo que contiene el manifiesto del ensamblado, que, a su vez, contiene los nombres y códigos hash de todos los archivos que componen el ensamblado) mediante la clave privada correspondiente. Microsoft® Visual Studio® .NET y otras herramientas de programación que se incluyen en Kit de desarrollo de software de Windows (SDK) pueden asignar nombres seguros a un ensamblado. Los ensamblados con el mismo nombre seguro tienen que ser idénticos.

Para garantizar que un nombre es exclusivo globalmente, firme el ensamblado con un nombre seguro. En concreto, los nombres seguros cumplen los siguientes requisitos:

  • Garantizan la exclusividad del nombre al basarse en pares de claves únicas. Nadie puede generar un nombre de ensamblado igual, porque un ensamblado generado con una clave privada tiene un nombre distinto al de un ensamblado generado con otra clave privada.

  • Protegen la procedencia de la versión de un ensamblado. Un nombre seguro garantiza que otra persona no puede crear una versión posterior de un ensamblado. Los usuarios pueden estar seguros de que una versión del ensamblado que están cargando procede del mismo editor que creó la versión con la que se construyó la aplicación.

  • Proporcionan una comprobación de integridad importante. Al pasar las comprobaciones de seguridad de .NET Framework, se garantiza que el contenido del ensamblado no se ha modificado desde que se construyó. Sin embargo, tenga presente que los nombres seguros no implican de por sí un nivel de confianza como el que proporcionan, por ejemplo, una firma digital y un certificado.

Cuando se hace referencia a un ensamblado con nombre seguro, se espera obtener ciertas ventajas como la protección de las versiones y los nombres. Si el ensamblado con nombre seguro hace referencia a un ensamblado con nombre sencillo, que no tiene estas ventajas, se pierden tales ventajas y se vuelve a los conflictos de DLL. Por tanto, los ensamblados con nombre seguro sólo pueden hacer referencia a otros ensamblados con nombre seguro.

Vea también

Tareas

Cómo: Firmar un ensamblado con un nombre seguro

Conceptos

Caché de ensamblados global