Ant SignJar: dirigera tidsstämpelförfrågningar via en proxy
Konfigurera proxyn som tidsstämpelförfrågan från Ant SignJar använder i stället för att anta att inställningarna för build-startaren når jarsigner.
En build kan ladda ner alla sina beroenden och sedan behöva ytterligare en nätverksförfrågan när en JAR signeras. Den förfrågan går till Tidsstämpelmyndigheten via jarsigner-processen som SignJar-uppgiften i Ant startar.
SignJar tillhandahåller TSA-specifika proxyattribut. Inom en befintlig signeringskonfiguration är den relevanta formen:
<signjar jar="${jar.to.sign}"
alias="${signing.alias}"
keystore="${signing.keystore}"
storepass="${signing.storepass}"
tsaurl="https://tsa.example/"
tsaproxyhost="proxy.example"
tsaproxyport="8080" />
Värdena är platshållare för buildens godkända signeringsuppsättning och TSA:n. Ant dokumenterar tsaproxyhost och tsaproxyport från version 1.9.5.
I Ant 1.10.15 undersöker SignJar schemat för TSA-URL:en och översätter dessa attribut till motsvarande HTTP- eller HTTPS-proxyegenskaper som skickas till jarsigner med -J-D. Själva proxyvärden är ett värdnamn, och dess port anges separat. Om den godkända TSA:n är offentligt nåbar och signeringsprocessen får använda en oautentiserad offentlig mellanhand, kan en post från en HTTP-proxylista fylla i dessa två TSA-proxyattribut.
Denna gräns för barnprocessen är också viktig i en Maven antrun-build. Mavens proxykonfiguration för arkivet och egenskaperna i JVM:en som kör Ant är inget bevis för att den separat startade jarsignern fick rutten. Konfigurera uppgiften som skapar den processen.