Ok, muss ich stumm Ursache sein ich das schon gelesen habe: http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/Ich kann nicht Unterzeichnung dieses .NET-Assembly, was zu verstehen scheinen
Und ich es immer noch nicht ...
Angenommen, ich öffne die Eigenschaften meines Projekts und gehe zur Registerkarte "Signieren", dann überprüfe ich "Unterzeichnen Sie die Assembly" und erstellen Sie eine neue Assembly mit einem Passwort. Eine Datei mit starkem Namensschlüssel mit der Erweiterung .pfx mit den öffentlichen und privaten Schlüsseln wurde erstellt, und VS wird meine Assembly beim Kompilieren digital signieren, richtig?
Was ist mit dem privaten Schlüssel? Sollte nicht privat sein und ich, der Entwickler, der Einzige sein? Soll die Assembly nicht nur mit dem öffentlichen Schlüssel signiert werden?
Kann mir das jemand erklären? Grundsätzlich möchte ich die Assembly meines Projekts signieren und erlauben, dass Benutzer überprüfen, ob die Assembly wirklich von mir entwickelt wurde, wo ich der einzige bin, der den privaten Schlüssel behält (was ich denke, dass ich dazu sollte).
Tatsächlich ist die Verwendung von öffentlichen/privaten Schlüsseln ziemlich symmetrisch. Normale Codierung (nicht signieren) verwendet den öffentlichen Schlüssel. –
@Henk: Wenn Sie Verschlüsselung sprechen, ja, öffentlicher Schlüssel wird verwendet, um zu verschlüsseln, und privater Schlüssel wird verwendet, um zu entschlüsseln. Im Rahmen der Unterzeichnung ist es umgekehrt. Und ich bin nicht sicher, warum Sie das symmetrisch nennen würden ... das ganze Konzept der Verwendung eines Schlüssels zum Verschlüsseln/Unterschreiben und eines anderen Schlüssels zum Entschlüsseln/Verifizieren ist ziemlich asymmetrisch. – jrista
Unterschreiben ist effektiv die umgekehrte Verschlüsselung, das ist der symmetrische Teil. Aber Sie haben Recht, es heißt asymmetrische Kryptographie. –