Java 9+ JarSigner API-ல் நேர முத்திரை கோரிக்கைகளுக்கான ப்ராக்ஸி அமைப்புகள்
உள் கட்டளை வகுப்புகளுக்குப் பதிலாக ப்ராக்ஸி கோரிக்கையாளர், ஹோஸ்ட் மற்றும் போர்ட் சோதனைகளுடன் Java 9+ இன் பொது JarSigner அமைப்பைப் பயன்படுத்தவும்.
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 பாதை மற்றும் வழக்கமான சரிபார்ப்பு மற்றும் அங்கீகாரக் கொள்கை தேவை.