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 je obstoječi KeyStore.PrivateKeyEntry. Navedite vrednosti računa posrednika iz vira poverilnic aplikacije in nato uporabite tega podpisnika v običajnem poteku ZipFile in izhodnega toka.

Predikat vrste prosilca ohranja preverjanje posrednika in cilja ločeno ter preprečuje, da bi izziv cilja prejel geslo posrednika; gostitelj in vrata omejujeta posrednika.

Sistemske lastnosti in privzeti Authenticator vplivajo na celotno JVM. Nastavite njihovo življenjsko dobo ob zagonu, namesto da bi jih preklapljali med sočasnimi opravili.

Javni jdk.security.jarsigner API se izogiba sun.security.tools.jarsigner.Main in starim postavitvam tools.jar. Primer uporablja HTTP TSA; HTTPS TSA potrebuje tudi svojo pot HTTPS in običajno politiko preverjanja in avtentikacije.

Sorodni članki