Сборка может загрузить все свои зависимости, а затем при подписании 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 получил маршрут. Настройте задачу, которая создаёт этот процесс.

Похожие статьи