Ant SignJar: kieruj żądania znacznika czasu przez proxy
Skonfiguruj proxy używane przez żądanie znacznika czasu Ant SignJar, zamiast zakładać, że ustawienia launchera kompilacji docierają do jarsignera.
Kompilacja może pobrać wszystkie swoje zależności, a następnie podczas podpisywania JAR potrzebować jeszcze jednego żądania sieciowego. To żądanie trafia do Urzędu Znacznika Czasu przez proces jarsigner uruchamiany przez zadanie SignJar programu Ant.
SignJar udostępnia atrybuty proxy specyficzne dla TSA. W istniejącej konfiguracji podpisywania odpowiednia forma jest następująca:
<signjar jar="${jar.to.sign}"
alias="${signing.alias}"
keystore="${signing.keystore}"
storepass="${signing.storepass}"
tsaurl="https://tsa.example/"
tsaproxyhost="proxy.example"
tsaproxyport="8080" />
Wartości są symbolami zastępczymi zatwierdzonej konfiguracji podpisywania kompilacji i TSA. Ant dokumentuje tsaproxyhost i tsaproxyport od wersji 1.9.5.
W Ant 1.10.15 SignJar sprawdza schemat adresu URL TSA i tłumaczy te atrybuty na odpowiednie właściwości proxy HTTP lub HTTPS przekazywane do jarsignera za pomocą -J-D. Sam host proxy to nazwa hosta, a jego port jest podawany osobno. Jeśli zatwierdzona TSA jest publicznie dostępna, a proces podpisywania może korzystać z nieuwierzytelnionego publicznego pośrednika, wpis z listy proxy HTTP może wypełnić te dwa atrybuty proxy TSA.
Ta granica procesu potomnego ma znaczenie także w kompilacji Maven antrun. Konfiguracja proxy repozytorium Maven i właściwości w JVM uruchamiającej Ant nie są dowodem, że osobno uruchomiony jarsigner otrzymał trasę. Skonfiguruj zadanie, które tworzy ten proces.