Cilësimet e përfaqësuesit për kërkesat e vulës kohore në Java 9+ JarSigner API
Përdorni konfigurimin publik të JarSigner në Java 9+ me kontrolle të kërkuesit, hostit dhe portës së përfaqësuesit në vend të klasave të komandave të brendshme.
System.setProperty("http.proxyHost", "proxy.example");
System.setProperty("http.proxyPort", "8080");
java.net.Authenticator.setDefault(new java.net.Authenticator() {
@Override
protected java.net.PasswordAuthentication getPasswordAuthentication() {
if (getRequestorType() == RequestorType.PROXY
&& "proxy.example".equalsIgnoreCase(getRequestingHost())
&& getRequestingPort() == 8080) {
return new java.net.PasswordAuthentication(
proxyUser, proxyPassword.toCharArray());
}
return null;
}
});
var signer = new jdk.security.jarsigner.JarSigner.Builder(signingEntry)
.tsa(java.net.URI.create("http://tsa.example/"))
.build();signingEntry është KeyStore.PrivateKeyEntry ekzistues. Jepni vlerat e llogarisë së përfaqësuesit nga burimi i kredencialeve të aplikacionit, pastaj përdorni këtë nënshkrues në rrjedhën e tij normale ZipFile dhe rrjedhën e daljes.
Kallëzuesi i llojit të kërkuesit mban vërtetimin e përfaqësuesit dhe të destinacionit të ndara, duke penguar që një sfidë e destinacionit të marrë fjalëkalimin e përfaqësuesit; hosti dhe porta kufizojnë ndërmjetësin.
Vetitë e sistemit dhe Authenticator-i i parazgjedhur ndikojnë në të gjithë JVM-në. Përcaktoni jetëgjatësinë e tyre në nisje në vend që t''i ndërroni rreth punëve të njëkohshme.
API publik jdk.security.jarsigner shmang sun.security.tools.jarsigner.Main dhe paraqitjet e vjetra tools.jar. Shembulli përdor HTTP TSA; HTTPS TSA gjithashtu kërkon rrugën e vet HTTPS dhe politikën e zakonshme të verifikimit dhe vërtetimit.