Ok, devo essere motivo stupido ho già letto questo: http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/Non riesco a capire questo assembly .NET firma cosa
E io ancora non capisco ...
Diciamo che apro le proprietà del mio progetto e vado alla scheda "Firma", quindi controllo "Firma l'assemblaggio" e creo un nuovo assieme con una password. È stato creato un file chiave con un nome forte con estensione .pfx, con le chiavi pubbliche e private e VS firma digitalmente il mio assembly durante la compilazione, giusto?
E la chiave privata? Non dovrebbe essere privato e io, lo sviluppatore, essere l'unico ad averlo? Non si dovrebbe firmare l'assemblaggio solo con la chiave pubblica?
Qualcuno può spiegarmi questo? Fondamentalmente, voglio firmare l'assemblaggio del mio progetto e consentire agli utenti di verificare se l'assemblaggio è stato realmente sviluppato da me, dove sono l'unico a mantenere la chiave privata (che penso che dovrei).
In realtà, l'uso di chiavi pubbliche/private è abbastanza simmetrico. La codifica normale (non firmata) utilizza la chiave pubblica. –
@Henk: Se si parla di crittografia, sì, la chiave pubblica viene utilizzata per crittografare e la chiave privata viene utilizzata per decrittografare. Nell'ambito della firma, è invertito. E non sono sicuro del perché lo chiamereste simmetrico ... l'intero concetto di usare una chiave per cifrare/firmare e un'altra chiave per decifrare/verificare è abbastanza asimmetrica. – jrista
La firma è efficacemente la crittografia al contrario, questa è la parte simmetrica. Ma hai ragione, si chiama crittografia asimmetrica. –