2010-07-24 4 views

Antwort

16

Der Punkt, an dem eine JAR-Datei signiert wird, besteht darin, zu verifizieren, dass sie nicht manipuliert wurde. Sobald eine JAR-Datei signiert wurde, können Sie überprüfen, ob diese Datei von jemand anderem geändert wurde. Dies stellt sicher, dass die Datei von der Person stammt, die sie ursprünglich signiert hat. Wenn jemand die Datei zwischenzeitlich geändert hat, schlägt der Signaturüberprüfungsprozess fehl. Sie können überprüfen, this article für weitere Details darüber, wie public key cryptography könnte verwendet werden, um digitale Signatur durchzuführen.

5

Wenn Sie eine JAR-Datei signieren, können Sie zeigen, dass es Sie signiert hat und nicht jemand anderes.

Es ist die gleiche Idee, wenn Sie ein Dokument unterschreiben - nur Sie können Ihre Unterschrift schreiben. Andere Leute können es unterschreiben, aber sie werden es mit ihre Signatur signieren, nicht deins.

Mit handschriftlichen Unterschriften kann ein erfahrener Fälscher lernen, Ihre Unterschrift zu kopieren. Mit digital signatures ist es viel schwieriger, eine Kopie zu erstellen, weil Sie den privaten Schlüssel dieser Person erhalten müssen. Ohne den privaten Schlüssel können Sie keine Signatur erstellen, die wie ihre aussieht.

5

Das Signieren eines Jars bindet den Inhalt an ein bestimmtes Zertifikat zurück. Was beweist dieses Zertifikat?

Wenn der private Schlüssel für das Zertifikat gestohlen wurde, dann nicht sehr viel. Es gibt manipulationssichere Geräte zur Aufbewahrung privater Schlüssel. Oft liegen private Schlüssel jedoch oft auf Entwicklermaschinen. Diese Maschinen sind wahrscheinlich nicht gut geschützt.

Ein Zertifikat kann selbst von einer bekannten Certificate Authority (CA) signiert sein. Der Endbenutzer hat also ein gewisses Vertrauen darauf, dass der Inhalt den behaupteten Ursprung hat. Die Anzahl der Verifizierungen, die der Inhaber des Zertifikatsschlüssels ist, variiert. Dies hat zu einem Wettlauf nach unten geführt, bei dem CAs Verfahren vereinfachen, um niedrigere Preise anzubieten.

Auch für nicht verifizierte Zertifikate haben unterschiedliche Inhalte, die mit demselben Zertifikat signiert sind, einen gemeinsamen Ursprung. Wenn Sie also die Entscheidung treffen, einem Zertifikat zu vertrauen, können Sie mehr Inhalte desselben Ursprungs erhalten, ohne anderen zu vertrauen.

+1

Sie meinen privaten Schlüssel, kein Zertifikat, in den meisten der oben genannten. – EJP

+0

@EJP Zertifikat wie den privaten Schlüssel einschließend? Der Signiermechanismus des Vertrauens ist nicht wirklich meine Spezialität. –

+1

Sie haben ein Zertifikat, das öffentlich ist und den öffentlichen Schlüssel und einen privaten Schlüssel enthält. In einem Java Keystore ist der private Schlüssel auch in ein Cert eingepackt, aber das ist nur ein Implementierungsdetail, es kommt nie so raus, und Sie wären in erster Linie besorgt über Diebstahl des gesamten Keystores oder (irgendwie) des privaten Schlüssels. Über den Diebstahl von Zertifikaten zu sprechen macht keinen Sinn, sie sind öffentlich. – EJP