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 ni KeyStore.PrivateKeyEntry iliyopo. Toa thamani za akaunti ya proksi kutoka chanzo cha vitambulisho vya programu, kisha tumia kisaini hiki katika mtiririko wake wa kawaida wa ZipFile na mtiririko wa matokeo.

Kihusishi cha aina ya mwombaji hutenganisha uthibitishaji wa proksi na lengwa, kikizuia changamoto ya lengwa kupokea nenosiri la proksi; mwenyeji na bandari huzuia mpatanishi.

Sifa za mfumo na Authenticator chaguo-msingi huathiri JVM nzima. Weka muda wa uhai wao wakati wa kuanza badala ya kuzibadilisha kuzunguka kazi zinazofanyika kwa wakati mmoja.

API ya umma jdk.security.jarsigner huepuka sun.security.tools.jarsigner.Main na mipangilio ya zamani ya tools.jar. Mfano hutumia HTTP TSA; HTTPS TSA pia huhitaji njia yake ya HTTPS na sera ya kawaida ya ukaguzi na uthibitishaji.

Makala zinazohusiana