जब मेरा एप्लिकेशन जावा से आरएसए एल्गोरिदम प्रदाता कक्षा लोड करने का प्रयास करता है तो मुझे एक त्रुटि आई। अपवाद ढेर के रूप में अनुवर्ती है:SunTlsRsaPremasterScrecret KeyGenerator उपलब्ध नहीं है
javax.jms.JMSException: RSA premaster secret error
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1255)
at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1350)
at org.apache.activemq.ActiveMQConnection.setClientID(ActiveMQConnection.java:388)
at com.trendmicro.tmsm.TMSMAgent.open(TMSMAgent.java:63)
Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:97)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:634)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:226)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:115)
at java.io.DataOutputStream.flush(DataOutputStream.java:106)
at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:167)
at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:237)
at org.apache.activemq.transport.WireFormatNegotiator.sendWireFormat(WireFormatNegotiator.java:168)
at org.apache.activemq.transport.WireFormatNegotiator.sendWireFormat(WireFormatNegotiator.java:84)
at org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:74)
at org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:715)
at org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:115)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: java.security.NoSuchAlgorithmException: SunTlsRsaPremasterSecret KeyGenerator not available
at javax.crypto.KeyGenerator.<init>(DashoA13*..)
at javax.crypto.KeyGenerator.getInstance(DashoA13*..)
at com.sun.net.ssl.internal.ssl.JsseJce.getKeyGenerator(JsseJce.java:223)
at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:89)
... 22 more
मैं त्रुटि संदेश googled है और पदों के सबसे क्योंकि JVM sunjce_provider.jar नहीं मिल सकता है यह कहते हैं। हालांकि, मैं फ़ाइल/लाइब्रेरी/जावा/होम/lib/ext फ़ोल्डर में फ़ाइल पा सकता हूं।
प्लेटफ़ॉर्म मैक ओएस एक्स 10.6 और जावा संस्करण 1.6.0_17 है।
मेरे प्रश्न हैं:
- क्यों JVM खोज नहीं करता/पुस्तकालय/जावा/घर/lib/जार फ़ाइलों के लिए ext?
- क्या हम किसी भी कॉन्फ़िगरेशन फ़ाइल को संशोधित करके CLASSPATH या java.ext.dirs प्रॉपर्टी को बदल सकते हैं?
- इस समस्या को हल करने के लिए कोई सुझाव?
अग्रिम धन्यवाद।
यह मेरे लिए भी काम करता है। मुझे प्राथमिकताएं -> जावा -> स्थापित जेआरई से सभी जेआरई प्रविष्टियों को हटाना पड़ा। यह मुझे अंतिम को हटाने की अनुमति नहीं देगा, इसलिए मुझे एक अलग नाम के साथ एक बार वापस जोड़ना था और फिर मूल को हटा देना था। फिर उन सभी को फिर से जोड़ें। – Gray
मेरे पास एक सिमलिंक फ़ोल्डर में मेरी ओर इशारा किया गया था जो जेडीके को इंगित करता था। ग्रहण के लिए सही फ़ोल्डरों को हटाने और पढ़ने के लिए मेरे लिए समस्या हल हो गई। –
विंडोज 7, जेडीके 1.8.0_05 पर एक्लिप्स लुना में मेरा एक ही मुद्दा था; इस फिक्स ने काम किया, हालांकि इसे प्रभावी होने से पहले ग्रहण को बाद में पुनरारंभ करना पड़ा। – Sbodd