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 отримав маршрут. Налаштуйте завдання, яке створює цей процес.