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 നിലവിലുള്ള KeyStore.PrivateKeyEntry ആണ്. ആപ്ലിക്കേഷന്റെ ക്രെഡൻഷ്യൽ ഉറവിടത്തിൽ നിന്ന് പ്രോക്സി അക്കൗണ്ട് മൂല്യങ്ങൾ നൽകുക, തുടർന്ന് ഈ സൈനർ അതിന്റെ സാധാരണ ZipFile, ഔട്ട്പുട്ട് സ്ട്രീം പ്രവാഹത്തിൽ ഉപയോഗിക്കുക.

അഭ്യർത്ഥക-തരം പ്രവചനം പ്രോക്സി, ലക്ഷ്യ പ്രാമാണീകരണം വേർതിരിച്ചു നിർത്തുന്നു, ലക്ഷ്യത്തിൽ നിന്നുള്ള വെല്ലുവിളിക്ക് പ്രോക്സി പാസ്വേഡ് ലഭിക്കുന്നത് തടയുന്നു; ഹോസ്റ്റും പോർട്ടും ഇടനിലക്കാരനെ പരിമിതപ്പെടുത്തുന്നു.

സിസ്റ്റം പ്രോപ്പർട്ടികളും ഡിഫോൾട്ട് Authenticator-ഉം മുഴുവൻ JVM-നെയും ബാധിക്കുന്നു. സമകാലിക ജോലികൾക്കിടയിൽ അവ മാറ്റുന്നതിനു പകരം ആരംഭത്തിൽ അവയുടെ ആയുസ്സ് നിശ്ചയിക്കുക.

പൊതു jdk.security.jarsigner API sun.security.tools.jarsigner.Main ഉം പഴയ tools.jar ക്രമീകരണങ്ങളും ഒഴിവാക്കുന്നു. ഉദാഹരണം HTTP TSA ഉപയോഗിക്കുന്നു; HTTPS TSA-യ്ക്കും അതിന്റെ HTTPS പാതയും സാധാരണ പരിശോധന, പ്രാമാണീകരണ നയവും ആവശ്യമാണ്.

അനുബന്ധ ലേഖനങ്ങൾ