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 ۋە چىقىرىش ئېقىمى خىزمەت ئېقىمىدا ئىشلىتىڭ.

تەلەپ قىلغۇچى تۈرى شەرتى ۋاكالەتچى ۋە نىشان دەلىللەش نى ئايرىپ تۇتىدۇ، نىشاننىڭ خىرىسىنىڭ ۋاكالەتچى پارولىنى ئېلىشىنى توسىدۇ؛ host ۋە port ۋاسىتىچىنى چەكلەيدۇ.

سىستېما خاسلىقلىرى ۋە سۈكۈتتىكى Authenticator پۈتۈن JVM غا تەسىر كۆرسىتىدۇ. ئۇلارنىڭ ئۆمرىنى قوزغىتىش چېغىدا بەلگىلەڭ، پاراللېل خىزمەتلەر ئەتراپىدا ئالماشتۇرماڭ.

ئاشكارا jdk.security.jarsigner API sun.security.tools.jarsigner.Main ۋە كونا tools.jar تىزىلىشىدىن ساقلىنىدۇ. مىسال HTTP TSA نى ئىشلىتىدۇ؛ HTTPS TSA غىمۇ ئۆزىنىڭ HTTPS يولى ۋە ئادەتتىكى دەلىللەش ۋە سالاھىيەت دەلىللەش سىياسىتى كېرەك.

مۇناسىۋەتلىك ماقالىلەر