Een build kan al zijn afhankelijkheden downloaden en daarna tijdens het ondertekenen van een JAR nog een netwerkverzoek nodig hebben. Dat verzoek gaat naar de Tijdstempelautoriteit via het jarsigner-proces dat de SignJar-taak van Ant start.

SignJar biedt TSA-specifieke proxyattributen. Binnen een bestaande ondertekeningsconfiguratie is de relevante vorm:

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

De waarden zijn plaatsaanduidingen voor de goedgekeurde ondertekeningsopstelling van de build en de TSA. Ant documenteert tsaproxyhost en tsaproxyport vanaf versie 1.9.5.

In Ant 1.10.15 onderzoekt SignJar het schema van de TSA-URL en vertaalt deze attributen naar de overeenkomstige HTTP- of HTTPS-proxyeigenschappen die met -J-D aan jarsigner worden doorgegeven. De proxyhost zelf is een hostnaam, met de poort apart opgegeven. Als de goedgekeurde TSA publiek bereikbaar is en het ondertekeningsproces een niet-geverifieerde publieke tussenpartij mag gebruiken, kan een vermelding uit een HTTP-proxylijst die twee TSA-proxyattributen invullen.

Deze grens van het kindproces is ook belangrijk in een Maven antrun-build. De proxyconfiguratie van de Maven-repository en de eigenschappen in de JVM die Ant uitvoert, zijn geen bewijs dat de apart gestarte jarsigner de route heeft gekregen. Configureer de taak die dat proces aanmaakt.

Gerelateerde artikelen