Una compilación puede descargar todas sus dependencias y luego necesitar otra solicitud de red mientras firma un JAR. Esa solicitud va a la Autoridad de Sellos de Tiempo a través del proceso jarsigner que lanza la tarea SignJar de Ant.

SignJar proporciona atributos de proxy específicos de TSA. Dentro de una configuración de firma existente, la forma relevante es:

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

Los valores son marcadores de posición para la configuración de firma aprobada de la compilación y la TSA. Ant documenta tsaproxyhost y tsaproxyport desde la versión 1.9.5.

En Ant 1.10.15, SignJar inspecciona el esquema de la URL de la TSA y traduce estos atributos a las propiedades de proxy HTTP o HTTPS correspondientes que se pasan a jarsigner con -J-D. El host del proxy es un nombre de host, y su puerto se proporciona por separado. Si la TSA aprobada es accesible públicamente y el proceso de firma puede usar un intermediario público no autenticado, una entrada de una lista de proxies HTTP puede rellenar esos dos atributos de proxy de TSA.

Este límite de proceso hijo también importa en una compilación Maven antrun. La configuración de proxy del repositorio de Maven y las propiedades del JVM que ejecuta Ant no demuestran que el jarsigner lanzado por separado haya recibido la ruta. Configure la tarea que crea ese proceso.

Artículos relacionados