Más específicamente, un conjunto de biblioteca de clases. Mis pensamientos iniciales:¿Quién debe poseer la clave privada utilizada para firmar un ensamblado .NET cuando su proyecto es de código abierto?
- Haga que algunos administradores designados realicen toda la firma de la asamblea. Pero luego, cuando se escriben las correcciones de fallas y las nuevas versiones, los binarios finalmente dependen de que estén cerca (incluso si es solo un pequeño cambio por razones privadas).
- La clave podría estar públicamente disponible. Pero eso va en contra de las prácticas de criptografía de clave pública y usted pierde la ventaja de la confianza y la identidad.
- Permita que los desarrolladores finales y los distribuidores lo firmen con sus propias claves. Pero luego pierde la modularización ya que cada nueva firma lo hace incompatible con algunas de las otras versiones.
Claro, no podría firmar el montaje. Pero si otro proyecto que requiere que su ensamblado sea firmado hace referencia a su biblioteca, obtendrá un error de compilación.
Dije: "¡Dame las llaves!" –