Ant SignJar: タイムスタンプ要求をプロキシ経由でルーティングする
Ant SignJar のタイムスタンプ要求が使うプロキシを設定します。ビルドランチャーの設定が jarsigner に届くと仮定しないでください。
ビルドはすべての依存関係をダウンロードした後、JAR への署名中にさらに別のネットワーク要求を必要とすることがあります。その要求は、Ant の SignJar タスクが起動する jarsigner プロセスを経由してタイムスタンプ機関へ送られます。
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 はバージョン 1.9.5 以降、tsaproxyhost と tsaproxyport を文書化しています。
Ant 1.10.15 では、SignJar が TSA URL のスキームを検査し、これらの属性を -J-D で jarsigner に渡される対応する HTTP または HTTPS プロキシプロパティに変換します。プロキシホスト自体はホスト名で、ポートは別に指定します。承認済みの TSA が公開されて到達可能で、署名プロセスが認証なしの公開仲介者を使用できる場合、HTTP プロキシリストのエントリでこれら 2 つの TSA プロキシ属性を埋められます。
この子プロセスの境界は Maven antrun ビルドでも重要です。Maven のリポジトリプロキシ設定や Ant を実行する JVM のプロパティは、別に起動された jarsigner が経路を受け取った証拠にはなりません。そのプロセスを作るタスクを設定してください。