You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Jean-Sebastien Delfino (JIRA)" <ji...@apache.org> on 2010/03/13 18:34:27 UTC

[jira] Commented: (VYSPER-188) java.security.KeyStoreException running XMPPServer with Apache Harmony

    [ https://issues.apache.org/jira/browse/VYSPER-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844924#action_12844924 ] 

Jean-Sebastien Delfino commented on VYSPER-188:
-----------------------------------------------

More info:

After patching AbstractTLSContextFactory to use BKS and re-generating a version of bogus_mina_tls.cert with Harmony's keytool, I'm getting through KeyStore.getInstance and Keystore.load but then getting another exception later in the SSL handshake with a client:

javax.net.ssl.SSLHandshakeException: SSL handshake failed.
	at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:433)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
	at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:638)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
	at java.lang.Thread.run(Thread.java:669)
Caused by: javax.net.ssl.SSLException: Fatal alert received decrypt_error
	at org.apache.harmony.xnet.provider.jsse.SSLEngineImpl.unwrap(SSLEngineImpl.java:499)
	at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:383)
	at org.apache.mina.filter.ssl.SslHandler.unwrap0(SslHandler.java:671)
	at org.apache.mina.filter.ssl.SslHandler.unwrapHandshake(SslHandler.java:618)
	at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:480)
	at org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java:299)
	at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:414)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
	... 14 more


> java.security.KeyStoreException running XMPPServer with Apache Harmony
> ----------------------------------------------------------------------
>
>                 Key: VYSPER-188
>                 URL: https://issues.apache.org/jira/browse/VYSPER-188
>             Project: VYSPER
>          Issue Type: Bug
>          Components: authentication
>         Environment: Ubuntu 9.10
> Apache Harmony harmony 5.0 M12a
>            Reporter: Jean-Sebastien Delfino
>
> Running XMPPServer on Apache Harmony 5.0 M12a causes this exception:
> java.lang.RuntimeException: java.security.KeyStoreException: KeyStore JKS implementation not found
>     at org.apache.vysper.xmpp.server.DefaultServerRuntimeContext.setTlsContextFactory(DefaultServerRuntimeContext.java:204)
>     at org.apache.vysper.xmpp.server.XMPPServer.start(XMPPServer.java:117)
>     at test.TestVysperServer.main(TestVysperServer.java:60)
> Caused by: java.security.KeyStoreException: KeyStore JKS implementation not found
>     at java.security.KeyStore.getInstance(KeyStore.java:120)
>     at org.apache.vysper.xmpp.cryptography.AbstractTLSContextFactory.createSSLContext(AbstractTLSContextFactory.java:76)
>     at org.apache.vysper.xmpp.cryptography.AbstractTLSContextFactory.getSSLContext(AbstractTLSContextFactory.java:70)
>     at org.apache.vysper.xmpp.server.DefaultServerRuntimeContext.setTlsContextFactory(DefaultServerRuntimeContext.java:202)
>     at org.apache.vysper.xmpp.server.XMPPServer.start(XMPPServer.java:117)
>     ... 1 more
> The same test [1] runs OK with other JDKs.
> Vysper currently hardcodes the Keystore type to JKS [2], which is not supported by Harmony [3] There should be a way to make this configurable and support another Keystore type like Bouncy Castle BKS (perhaps a setter method on AbstractTLSContextFactory and allow for injecting a TLSContextFactory into XMPPServer.)
> [1] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/chat/test/TestVysperServer.java
> [2] http://svn.apache.org/repos/asf/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/cryptography/AbstractTLSContextFactory.java
> [3] http://issues.apache.org/jira/browse/HARMONY-6098

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.