इस लेख के अनुसार : https://blogs.oracle.com/java-platform-group/planning-safe-removal-of-under-used-endorsed-extension-directories

जावा 9 में jre/lib/ext हटा दिया गया।

मेरी समस्या यह है कि मैं जारसिग्नर का उपयोग कर रहा हूं, जो पिछले जावा संस्करणों में मेरे प्रदाता जार को jre/lib/ext फ़ोल्डर में मिला था।

jarsigner -tsa timestamp.digicert.com -verbose -keystore NONE -storetype PKCS11 
      -storepass null -providername <MY_PROVIDER_NAME> <JAR_FILE> <CERTIFICATE_NAME> 

मैं इसे कैसे सुलझाऊं?

5
Saar peer 21 नवम्बर 2017, 15:25

2 जवाब

सबसे बढ़िया उत्तर

मैं अंतत: https://docs.oracle.com/javase/9/security/howtoimplaprovider.htm#JSSEC-GUID-7C304A79-6D0B-438B-A02E-51648C909876

निम्नलिखित करने की आवश्यकता है (केवल यह निर्दिष्ट करना कि Java9 के लिए नया क्या है):

चरण 4 का पालन करें और एक मॉड्यूल घोषणा जोड़ें:

module com.foo.MyProvider {
    provides java.security.Provider with p.MyProvider;
    requires java.security.jgss;
}

Jarsigner चलाते समय मॉड्यूल-पथ के साथ चलता है:

jarsigner -J--module-path -J<PATH_TO_PROVIDER_JAR> -J--add-modules -J<MODULE_NAME>
-tsa timestamp.digicert.com -verbose -keystore NONE -storetype PKCS11 -storepass null -providername <MY_PROVIDER_NAME> <JAR_FILE> <CERTIFICATE_NAME> 
1
Saar peer 3 पद 2017, 15:35

में परिवर्तन स्थापित JDK/JRE छवि रनटाइम छवियों को साथ लाता है जिसमें निर्देशिकाएं शामिल हैं -

conf — इसमें .properties, .policy, और अन्य प्रकार की फ़ाइलें शामिल हैं डेवलपर्स, नियोक्ता और अंतिम उपयोगकर्ताओं द्वारा संपादित करने का इरादा है। इन फ़ाइलें पहले lib निर्देशिका या इसकी उपनिर्देशिकाओं में पाई जाती थीं।


JDK9 के भीतर java.security फ़ाइल (.../Home/conf/security के अंतर्गत स्थित) SunPKCS11 प्रदाता को डिफ़ॉल्ट प्रदाताओं की सूची में सूचीबद्ध करती है

security.provider.13=SunPKCS11

#SunPKCS11 कॉन्फिगरेशन रेफरेंस गाइड के तहत बताता है कि प्रदाता को कैसे जोड़ा जाए जो jdk.crypto.cryptoki मॉड्यूल।

इसलिए, आदर्श रूप से जावा9 में भी sunpkcs11 प्रदाता के लिए पथ को कॉन्फ़िगर करने की आवश्यकता नहीं होनी चाहिए।


जोड़ने और उदाहरण देने के लिए कि कैसे प्रदाताओं को मॉड्यूल में बंडल किया जाता है, इसमें JEP 220: मॉड्यूलर रन-टाइम इमेज से

सुरक्षा-नीति फ़ाइलें और कोडसोर्स एपीआई के अन्य उपयोग अनुमति देने के उद्देश्य से विशिष्ट मॉड्यूल के नाम के लिए jrt URL का उपयोग कर सकते हैं। अण्डाकार-वक्र क्रिप्टोग्राफ़ी प्रदाता, जैसे, अब jrt URL द्वारा पहचाना जा सकता है

jrt:/jdk.crypto.ec 

अन्य मॉड्यूल जिन्हें वर्तमान में सभी अनुमतियां दी गई हैं, लेकिन वास्तव में उनकी आवश्यकता नहीं है, उन्हें तुच्छ रूप से डी-विशेषाधिकार प्राप्त किया जा सकता है, अर्थात, उन्हें आवश्यक अनुमतियां दी जाती हैं।

1
Naman 23 नवम्बर 2017, 05:10