Ein Build kann alle seine Abhängigkeiten herunterladen und dann beim Signieren eines JAR eine weitere Netzwerkanfrage benötigen. Diese Anfrage geht über den von der SignJar-Task von Ant gestarteten jarsigner-Prozess an die Zeitstempelbehörde.

SignJar bietet TSA-spezifische Proxy-Attribute. Innerhalb einer bestehenden Signierungskonfiguration sieht die relevante Form so aus:

<signjar jar="${jar.to.sign}"
         alias="${signing.alias}"
         keystore="${signing.keystore}"
         storepass="${signing.storepass}"
         tsaurl="https://tsa.example/"
         tsaproxyhost="proxy.example"
         tsaproxyport="8080" />

Die Werte sind Platzhalter für das genehmigte Signierungs-Setup des Builds und die TSA. Ant dokumentiert tsaproxyhost und tsaproxyport ab Version 1.9.5.

In Ant 1.10.15 prüft SignJar das Schema der TSA-URL und übersetzt diese Attribute in die entsprechenden HTTP- oder HTTPS-Proxy-Eigenschaften, die mit -J-D an jarsigner übergeben werden. Der Proxy-Host selbst ist ein Hostname, dessen Port separat angegeben wird. Wenn die genehmigte TSA öffentlich erreichbar ist und der Signierungsprozess einen nicht authentifizierten öffentlichen Vermittler verwenden darf, kann ein Eintrag aus einer HTTP-Proxy-Liste diese beiden TSA-Proxy-Attribute füllen.

Diese Kindprozess-Grenze ist auch in einem Maven-antrun-Build wichtig. Die Repository-Proxy-Konfiguration von Maven und Eigenschaften in der JVM, die Ant ausführt, sind kein Beweis dafür, dass der separat gestartete jarsigner die Route erhalten hat. Konfigurieren Sie die Task, die diesen Prozess erzeugt.

Ähnliche Artikel