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.
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