Un build peut télécharger toutes ses dépendances puis avoir besoin d'une autre requête réseau pendant la signature d'un JAR. Cette requête part vers l'Autorité d'horodatage via le processus jarsigner lancé par la tâche SignJar d'Ant.

SignJar fournit des attributs de proxy propres au TSA. Dans une configuration de signature existante, la forme pertinente est la suivante :

<signjar jar="${jar.to.sign}"
         alias="${signing.alias}"
         keystore="${signing.keystore}"
         storepass="${signing.storepass}"
         tsaurl="https://tsa.example/"
         tsaproxyhost="proxy.example"
         tsaproxyport="8080" />

Les valeurs sont des espaces réservés pour la configuration de signature approuvée du build et pour le TSA. Ant documente tsaproxyhost et tsaproxyport à partir de la version 1.9.5.

Dans Ant 1.10.15, SignJar inspecte le schéma de l'URL du TSA et traduit ces attributs en propriétés de proxy HTTP ou HTTPS correspondantes transmises à jarsigner avec -J-D. L'hôte du proxy est lui-même un nom d'hôte, son port étant fourni séparément. Si le TSA approuvé est accessible publiquement et que le processus de signature est autorisé à utiliser un intermédiaire public non authentifié, une entrée d'une liste de proxys HTTP peut renseigner ces deux attributs de proxy TSA.

Cette frontière de processus enfant compte aussi dans un build Maven antrun. La configuration de proxy du dépôt Maven et les propriétés de la JVM qui exécute Ant ne prouvent pas que le jarsigner lancé séparément a reçu la route. Configurez la tâche qui crée ce processus.

Articles similaires