Ok, debo ser causa mudo ya he leído esto: http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/Me parece que no puede entender esto NET cosa firma
Y todavía no lo entiendo ...
Digamos que abro las propiedades de mi proyecto y voy a la pestaña "Firma", luego marque "Firmar el ensamblaje" y generaré un nuevo ensamblaje con una contraseña. Se creó un archivo de clave de nombre fuerte con la extensión .pfx, con las claves pública y privada, y VS firmará digitalmente mi ensamblaje al compilar, ¿verdad?
¿Qué pasa con la clave privada? ¿No debería ser privado y yo, el desarrollador, ser el único en tenerlo? ¿No debería la asamblea estar firmada solo con la clave pública?
¿Alguien me puede explicar esto? Básicamente, quiero firmar el ensamblaje de mi proyecto y permitir que los usuarios comprueben si el ensamblado fue realmente desarrollado por mí, donde soy el único que guarda la clave privada (que creo que se supone que debo).
En realidad, el uso de claves públicas/privadas es bastante simétrico. La codificación normal (sin firmar) utiliza la clave pública. –
@Henk: si está hablando de encriptación, sí, la clave pública se usa para encriptar, y la clave privada se usa para descifrar. En el ámbito de la firma, se invierte. Y no estoy seguro de por qué llamaría a eso simétrico ... el concepto completo de usar una clave para encriptar/firmar y otra clave para descifrar/verificar es bastante asimétrico. – jrista
La firma es efectivamente encriptación en reversa, esa es la parte simétrica. Pero tienes razón, se llama criptografía asimétrica. –