Pregunta

Tengo una solución que consta de cinco proyectos, cada uno de los cuales se compila en ensamblajes separados.En este momento los estoy firmando en código, pero estoy bastante seguro de que lo estoy haciendo mal.¿Cuál es la mejor práctica aquí?

  • Firme cada uno con una clave diferente;asegúrese de que las contraseñas sean diferentes
  • Firme cada uno con una clave diferente;usa la misma contraseña si quieres
  • Firma cada uno con la misma clave
  • Algo completamente diferente

Básicamente, no estoy muy seguro de qué les afecta "firmar", o cuáles son las mejores prácticas aquí, por lo que sería bueno una discusión más general.Todo lo que realmente sé es que FxCop me gritó, y fue fácil de solucionar haciendo clic en la casilla de verificación "Firmar este ensamblaje" y generando un archivo .pfx usando Visual Studio (2008).

¿Fue útil?

Solución

Si su único objetivo es evitar que FxCop le grite, entonces ha encontrado la mejor práctica.

La mejor práctica para firmar sus ensamblajes es algo que depende completamente de sus objetivos y necesidades.Necesitaríamos más información como su implementación prevista:

  • Para uso personal
  • Para uso en PC de redes corporativas como aplicación cliente
  • Ejecutándose en un servidor web
  • Ejecutando en SQL Server
  • Descargado a través de Internet
  • Vendido en un CD envuelto en plástico retráctil.
  • Subido directamente a un cerebro cibernético
  • Etc.

Generalmente se utiliza la firma de código para verificar que los ensamblajes provengan de una fuente confiable específica y no hayan sido modificados. Entonces cada uno con la misma clave está bien. Ahora bien, cómo se determina esa confianza e identidad es otra historia.

ACTUALIZAR: La forma en que esto beneficia a sus usuarios finales cuando realiza la implementación a través de la web es si ha obtenido una certificado de firma de software de una autoridad certificadora.Luego, cuando descarguen sus ensamblajes, podrán verificar de dónde provienen. Emporio de software de Domenic, y no han sido modificados ni dañados en el camino.También querrás firmar el instalador cuando se descargue.Esto evita la advertencia que muestran algunos navegadores de que se ha obtenido de una fuente desconocida.

Tenga en cuenta que pagará por un certificado de firma de software.Lo que obtienes es que la autoridad certificadora se convierte en el tercero de confianza que verifica que eres quien dices ser.Esto funciona gracias a una red de confianza que se remonta a un certificado raíz instalado en su sistema operativo.Hay algunas autoridades de certificación para elegir, pero querrás asegurarte de que sean compatibles con los certificados raíz del sistema operativo de destino.

Otros consejos

La diferencia más obvia entre ensamblados firmados y sin firmar está en una aplicación ClickOnce.Si no lo firma, los usuarios recibirán un aterrador cuadro de diálogo de advertencia de "Editor desconocido" la primera vez que ejecuten su aplicación.Si lo has firmado con un certificado de una autoridad confiable, luego ven un diálogo que da menos miedo.Hasta donde yo sé, firmar con un certificado que usted mismo genera no afecta la advertencia de "Editor desconocido". SSL instantáneo de Comodo tiene ejemplos de los diálogos.

Hay algunas diferencias más sutiles.Debe firmar un ensamblado antes de poder instalarlo en la caché global de ensamblados (GAC), donde varias aplicaciones pueden compartirlo.La firma es parte integral de la seguridad de acceso al código (CAS), pero no he encontrado a nadie que pueda hacer que CAS funcione.Estoy bastante seguro de que tanto GAC como CAS funcionan bien con los certificados que genera usted mismo.

Ayuda porque el ejecutable espera un ensamblado con nombre seguro.Impide que cualquiera sustituya maliciosamente en otra asamblea a una de las suyas.Además, el usuario puede otorgar permisos CAS a un ensamblado según el nombre seguro.

No creo que debas distribuir el archivo .pfx, mantenlo seguro para renunciar a la asamblea.

Es importante mantener su archivo PFX en secreto ya que contiene la clave privada.

Si esa clave se pone a disposición de otros, cualquiera puede firmar ensamblados o programas que se hagan pasar por usted.

Para asociar su nombre con sus ensamblados (a los ojos de Windows), necesitará obtener un certificado digital (la parte del archivo PFX que contiene su nombre) firmado por una autoridad confiable.

En realidad obtendrás un nuevo certificado, pero con la misma información.

Tendrá que pagar por este certificado (probablemente anualmente), pero el Autoridad certificada responderá efectivamente de su existencia (después de haberles enviado por fax copias de su pasaporte o permiso de conducir y una factura nacional).

La firma se utiliza para identificar de forma única un ensamblaje.Más detalles están en Cómo:Firmar una asamblea (Visual Studio).

En términos de mejores prácticas, está bien usar la misma clave siempre que los ensamblados tengan nombres diferentes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top