2011-12-05 26 views
8

Tengo una solución C# que contiene múltiples bibliotecas de clase C#. Estoy realizando una investigación recientemente y se sugiere que los ensamblados producidos desde mis bibliotecas se firmen, lo que los hace firmar con un nombre seguro. En primer lugar, me pregunto si es mejor que progrese con eso. Las bibliotecas que salen de estas bibliotecas de clase se usan en muchos otros proyectos.beneficio de firmar dll con nombre seguro

Si se aconseja de mi pregunta anterior que sí, debería firmar mi dll, el .snk que uso, ¿se puede utilizar esto para cada una de las bibliotecas de clase en la solución? ¿O debe ser una clave por biblioteca de clase?

+1

Para su primera pregunta, vea http://stackoverflow.com/questions/1197133/anything-wrong-with-not-signing-a-net-assembly y http://stackoverflow.com/questions/721340/strong -sambles-firmados – Otiel

Respuesta

3

A veces, la firma de un ensamblaje es un requisito. Esto es cierto si desea GAC su ensamblaje, o si un ensamblaje firmado desea hacer referencia a otro ensamblaje.

Puede reutilizar el mismo archivo .snk, y al hacerlo obtendrá el mismo Token de clave pública para todos los ensamblados.

1

Es esencial si tiene la intención de colocar el conjunto en el GAC para que lo use una gran cantidad de conjuntos.

Es ventajoso si se lo va a dar a los usuarios para que lo utilicen en lugar de instalarlo, ya que ofrece cierto grado de seguridad de que realmente es el archivo el que dijo que les estaba dando, en lugar de uno manipulado.

Es bueno usar pocos (quizás solo uno) archivos SNK por entidad (individual, colectiva, grupo de código abierto o empresa) porque si alguien confía en usted (ya sea "usted" significa individuo, compañía, etc.) y por lo tanto, confían en una clave pública que están seguros de que es suya, y luego confiarán en ella la próxima vez también. No querrá firmar cheques con una firma manuscrita diferente cada vez, ¿verdad?

Cuestiones relacionadas