2013-02-28 3 views
5

Ich möchte die Zeitmarke Option -tsa der Java-jarsigner-Tool verwenden. Der Zeitstempel-Dienst, den ich im Sinn habe, erfordert eine Authentifizierung. Zu diesem Zweck erhalten Sie einen personalisierten Soft-Token, um sich auf dem Zeitstempel-Server zu identifizieren.Signieren von jar mit Zeitstempel und Authentifizierung auf dem Zeitstempel-Server

Meine Frage: Wird diese Authentifizierung vom Tool jarsigner unterstützt? Mit anderen Worten: Unterstützt jarsigner RFC 3161 (Time-Stamp Protocol) und RFC 2246 (Authentifizierung)?

Es gibt eine Option -tsacert des jarsigner. Die Dokumentation besagt:

Wenn "-tsacert alias" in der Befehlszeile beim Signieren einer JAR-Datei angezeigt wird, wird ein Zeitstempel für die Signatur generiert. Der Alias ​​identifiziert das öffentliche Schlüsselzertifikat der TSA im Keystore, der gerade aktiv ist. Das Zertifikat des Eintrags wird auf eine Subject Information Access-Erweiterung geprüft, die eine URL enthält, die den Speicherort der TSA angibt.

Was mich verwirrt ist die Formulierung "ein Timestamp wird für die Signatur generiert". Was bedeutet das? Auch die Formulierung "das Alias ​​identifiziert das öffentliche Schlüsselzertifikat der TSA" ist verwirrend: Es scheint, dass es verwendet wird, um den Zeitstempel zu verifizieren (weil es ein öffentlicher Schlüssel ist), den Anforderer nicht zu identifizieren (weil es kein privater Schlüssel ist).

Außerdem: Das Zertifikat, mit dem ich unterschreiben möchte, ist nicht ein Soft-Token, sondern ist auf einer Smartcard gespeichert. Es kann nicht in einen Keystore exportiert werden. Daher muss ich die Optionen -keystore NONE -storetype PKCS11 verwenden. Ich denke, dass aus diesem Grund die Option -tsacert alias nicht verwendet werden kann, da es einen echten Schlüsselspeicher benötigt, der das Soft-Token enthält.

Antwort

1

Signierte JAR-Datei-Gültigkeit ist durch die Gültigkeit des Zertifikats begrenzt, das zum Signieren verwendet wird.

Timestamping kann nur sagen, wenn die JAR-Datei signiert wurde.

Zum Signieren der JAR-Datei ist pvtkey ein Muss. Für Timestamping wird technisch kein Schlüssel benötigt, nur ein Hash davon.

Siehe den Link unten für mehr https://www.digistamp.com/technical/how-a-digital-time-stamp-works/

Danke.

+0

Der Zeitstempel-Server, den ich zum Zeitpunkt der Frage verwenden wollte, benötigt ein separates Zertifikat, um den Client beim Server zu authentifizieren. Die Frage bezog sich auf dieses Zertifikat, nicht auf das, das zum Signieren der JAR-Datei verwendet wurde. – Claude

Verwandte Themen