Ant SignJar: направление запросов метки времени через прокси
Настройте прокси, который использует запрос метки времени Ant SignJar, вместо того чтобы предполагать, что настройки запуска сборки доходят до jarsigner.
Сборка может загрузить все свои зависимости, а затем при подписании JAR ей потребуется ещё один сетевой запрос. Этот запрос отправляется в орган меток времени через процесс jarsigner, запускаемый задачей SignJar в Ant.
SignJar предоставляет специфичные для TSA атрибуты прокси. В существующей конфигурации подписи соответствующая форма такова:
<signjar jar="${jar.to.sign}"
alias="${signing.alias}"
keystore="${signing.keystore}"
storepass="${signing.storepass}"
tsaurl="https://tsa.example/"
tsaproxyhost="proxy.example"
tsaproxyport="8080" />
Значения — это заполнители для утверждённой конфигурации подписи сборки и TSA. Ant документирует tsaproxyhost и tsaproxyport начиная с версии 1.9.5.
В Ant 1.10.15 SignJar проверяет схему URL-адреса TSA и преобразует эти атрибуты в соответствующие свойства прокси HTTP или HTTPS, передаваемые jarsigner с помощью -J-D. Сам хост прокси — это имя хоста, а его порт указывается отдельно. Если утверждённый TSA общедоступен и процессу подписи разрешено использовать неаутентифицированный публичный посредник, запись из списка HTTP-прокси может заполнить эти два атрибута прокси TSA.
Эта граница дочернего процесса важна и в сборке Maven antrun. Конфигурация прокси репозитория Maven и свойства в JVM, выполняющей Ant, не доказывают, что отдельно запущенный jarsigner получил маршрут. Настройте задачу, которая создаёт этот процесс.