Compartir a través de


CA2210: Los ensamblados deben tener nombres seguros válidos

Nombre de tipo

AssembliesShouldHaveValidStrongNames

Identificador de comprobación

CA2210

Categoría

Microsoft.Design

Cambio problemático

No

Motivo

Un ensamblado no está firmado con un nombre seguro, el nombre seguro no puede comprobarse o no es válido sin la configuración de Registro actual del equipo.

Descripción de la regla

Esta regla recupera y comprueba el nombre seguro de un ensamblado.Se produce una infracción si cualquiera de los siguientes condiciones es verdadera:

  • El ensamblado no tiene un nombre seguro.

  • El ensamblado se modificó después de la firma.

  • El ensamblado tiene firma retardada.

  • El ensamblado se firmó incorrectamente o la firma produjo un error.

  • El ensamblado exige una configuración del Registro para pasar la comprobación.Por ejemplo, la herramienta de nombre seguro (Sn.exe) se utilizó para pasar por alto la comprobación para el ensamblado.

El nombre seguro protege los clientes de cargar inconscientemente un ensamblado con el que se ha alterado.Los ensamblados sin nombres seguros sólo deben implementarse en escenarios muy limitados.Si se comparten o se distribuyen ensamblados que no están correctamente firmados, el ensamblado puede manipularse, el Common Language Runtime podría no cargar el ensamblado o el usuario podría deshabilitar la comprobación del equipo.Un ensamblado sin nombre seguro tiene los inconvenientes siguientes:

  • No se pueden comprobar sus orígenes.

  • El Common Language Runtime no puede advertir a los usuarios si se ha modificado el contenido del ensamblado.

  • No se puede cargar en la caché global de ensamblados.

Tenga en cuenta que cargar y analizar un ensamblado con firma retardada, debe deshabilitar la comprobación para el ensamblado.

Cómo corregir infracciones

Para crear un archivo de clave

Use uno de los procedimientos siguientes:

Para firmar un ensamblado con un nombre seguro en Visual Studio

  1. En Visual Studio, abra la solución.

  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse en un proyecto y, a continuación, seleccione Propiedades.

  3. Haga clic en la ficha Firma y active la casilla Firmar el ensamblado.

  4. En Elija un archivo de clave de nombre seguro, seleccione Nuevo.

    Aparece la ventana Crear clave de nombre seguro.

  5. En Nombre del archivo de clave, escriba un nombre para la clave de nombre seguro.

  6. Elija si desea proteger la clave con una contraseña y, a continuación, haga clic en Aceptar.

  7. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto y, a continuación, seleccione Compilar.

Para firmar un ensamblado con un nombre seguro fuera de Visual Studio

Cuándo suprimir advertencias

Sólo debe suprimir una advertencia de esta regla si el ensamblado se usa en un entorno donde la manipulación del contenido no es un problema.

Vea también

Tareas

Cómo: Firmar un ensamblado con un nombre seguro

Referencia

Sn.exe (Herramienta de nombre seguro)

System.Reflection.AssemblyKeyFileAttribute

System.Reflection.AssemblyKeyNameAttribute