ការកំណត់ប្រូកស៊ីសម្រាប់សំណើត្រាពេលវេលាជាមួយ Java 9+ JarSigner API
ប្រើការកំណត់ JarSigner សាធារណៈរបស់ Java 9+ ជាមួយការត្រួតពិនិត្យអ្នកស្នើ ម៉ាស៊ីន និងច្រករបស់ប្រូកស៊ី ជំនួសឱ្យថ្នាក់ពាក្យបញ្ជាខាងក្នុង។
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 ទាំងមូល។ កំណត់រយៈពេលជីវិតរបស់ពួកវានៅពេលចាប់ផ្តើម ជំនួសឱ្យការប្តូរវាជុំវិញការងារស្របគ្នា។
API jdk.security.jarsigner សាធារណៈជៀសវាង sun.security.tools.jarsigner.Main និងប្លង់ tools.jar ចាស់។ ឧទាហរណ៍ប្រើ HTTP TSA; HTTPS TSA ក៏ត្រូវការផ្លូវ HTTPS របស់វា និងគោលការណ៍ផ្ទៀងផ្ទាត់ និងសម្គាល់អត្តសញ្ញាណធម្មតាដែរ។