I tried to run Apache James with TLS enabled. But the connect to an POP3 store is failing. The root cause seems to be this one: NoSuchAlgorithmException: SunTlsRsaPremasterSecret KeyGenerator not available
I tried with openjdk-6-jdk (6b18-1.8.1-0ubuntu1) on Lucid. I also tried to install the openjdk-6 from Maverick (openjdk-6-jdk (6b20-1.9-0ubuntu1)) on the same Lucid system. But the error is the same.
Using the sun-java6-jdk from the partner repository shows no error.
See the stacktrace below.
javax.mail.MessagingException: Connect failed;
nested exception is:
javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:161)
at javax.mail.Service.connect(Service.java:288)
at javax.mail.Service.connect(Service.java:169)
at org.apache.james.fetchmail.StoreProcessor.process(StoreProcessor.java:79)
at org.apache.james.fetchmail.FetchMail.targetTriggered(FetchMail.java:541)
at org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler.doRunEntry(DefaultTimeScheduler.java:449)
at org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler$1.run(DefaultTimeScheduler.java:412)
at org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:55)
at org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:116)
Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:116)
at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:632)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:220)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:546)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:482)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:904)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1140)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:764)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:94)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at java.io.DataInputStream.readLine(DataInputStream.java:513)
at com.sun.mail.pop3.Protocol.simpleCommand(Protocol.java:360)
at com.sun.mail.pop3.Protocol.<init>(Protocol.java:104)
at com.sun.mail.pop3.POP3Store.getPort(POP3Store.java:214)
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:157)
... 8 more
Caused by: java.security.NoSuchAlgorithmException: SunTlsRsaPremasterSecret KeyGenerator not available
at javax.crypto.KeyGenerator.<init>(KeyGenerator.java:141)
at javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:191)
at sun.security.ssl.JsseJce.getKeyGenerator(JsseJce.java:240)
at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:108)
... 23 more
I just see, that the sun-6 jdk is not working as well... I must have checked the wrong log file.
javax.mail. MessagingExcept ion: Connect failed;
javax. net.ssl. SSLKeyException : RSA premaster secret error mail.pop3. POP3Store. protocolConnect (POP3Store. java:161) Service. connect( Service. java:288) Service. connect( Service. java:169) james.fetchmail .StoreProcessor .process( StoreProcessor. java:79) james.fetchmail .FetchMail. targetTriggered (FetchMail. java:541) avalon. cornerstone. blocks. scheduler. DefaultTimeSche duler.doRunEntr y(DefaultTimeSc heduler. java:449) avalon. cornerstone. blocks. scheduler. DefaultTimeSche duler$1. run(DefaultTime Scheduler. java:412) excalibur. thread. impl.Executable Runnable. execute( ExecutableRunna ble.java: 55) excalibur. thread. impl.WorkerThre ad.run( WorkerThread. java:116) ssl.SSLKeyExcep tion: RSA premaster secret error net.ssl. internal. ssl.RSAClientKe yExchange. <init>( RSAClientKeyExc hange.java: 97) net.ssl. internal. ssl.ClientHands haker.serverHel loDone( ClientHandshake r.java: 744) net.ssl. internal. ssl.ClientHands haker.processMe ssage(ClientHan dshaker. java:238) net.ssl. internal. ssl.Handshaker. processLoop( Handshaker. java:593) net.ssl. internal. ssl.Handshaker. process_ record( Handshaker. java:529) net.ssl. internal. ssl.SSLSocketIm pl.readRecord( SSLSocketImpl. java:893) net.ssl. internal. ssl.SSLSocketIm pl.performIniti alHandshake( SSLSocketImpl. java:1138) net.ssl. internal. ssl.SSLSocketIm pl.readDataReco rd(SSLSocketImp l.java: 753) net.ssl. internal. ssl.AppInputStr eam.read( AppInputStream. java:75) BufferedInputSt ream.fill( BufferedInputSt ream.java: 218) BufferedInputSt ream.read( BufferedInputSt ream.java: 237) DataInputStream .readLine( DataInputStream .java:496) mail.pop3. Protocol. simpleCommand( Protocol. java:360) mail.pop3. Protocol. <init>( Protocol. java:104) mail.pop3. POP3Store. getPort( POP3Store. java:214) mail.pop3. POP3Store. protocolConnect (POP3Store. java:157) NoSuchAlgorithm Exception: SunTlsRsaPremas terSecret KeyGenerator not available KeyGenerator. <init>( DashoA13* ..) KeyGenerator. getInstance( DashoA13* ..) net.ssl. internal. ssl.JsseJce. getKeyGenerator (JsseJce. java:223) net.ssl. internal. ssl.RSAClientKe yExchange. <init>( RSAClientKeyExc hange.java: 89)
nested exception is:
at com.sun.
at javax.mail.
at javax.mail.
at org.apache.
at org.apache.
at org.apache.
at org.apache.
at org.apache.
at org.apache.
Caused by: javax.net.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
at java.io.
at java.io.
at java.io.
at com.sun.
at com.sun.
at com.sun.
at com.sun.
... 8 more
Caused by: java.security.
at javax.crypto.
at javax.crypto.
at com.sun.
at com.sun.
... 23 more