Hi Niklas,
Thanks for the quick response.

This is the general code:
                                 IoServiceConfig            
ioServiceConfig;
                SocketSessionConfig         socketSessionConfig;
                DefaultIoFilterChainBuilder ioFilterChainBuilder;

//instruct byte buffer to use Java buffer mechanism
                ByteBuffer.setUseDirectBuffers(false);
                ByteBuffer.setAllocator(new SimpleByteBufferAllocator());

//create new socket acceptor
                m_ioAcceptor = new SocketAcceptor();
                ioServiceConfig = m_ioAcceptor.getDefaultConfig();
                ioServiceConfig.setThreadModel(ThreadModel.MANUAL);

                                m_socketAcceptorConfig = new
SocketAcceptorConfig();
                m_socketAcceptorConfig.setDisconnectOnUnbind(false);

                // set default session properties
                socketSessionConfig = m_socketAcceptorConfig.getSessionConfig();
                socketSessionConfig.setReuseAddress(true);
                
socketSessionConfig.setSendBufferSize(serverSocketSendBufferSize);
                
socketSessionConfig.setReceiveBufferSize(serverSocketReceiveBufferSize);

                //if required by configuration, use SSL
                if (Properties.getUseSSL())
{
                        ioFilterChainBuilder = 
m_socketAcceptorConfig.getFilterChain();
                        addSSL(ioFilterChainBuilder);
                }

This is the function that adds the SSL
protected void addSSL(DefaultIoFilterChainBuilder filterChainBuilder) throws
Exception 
{

                KeyStore    keyStore;
                SSLFilter   sslFilter;
                SSLContext  sslContext;
                InputStream is_keyStore;
                KeyManagerFactory keyManagerFactory;

                String keyStoreName = "keyStore.ks";
                String keyStorePwd  = "pwd";
                String keyEntryPwd  = "pwd";

                char ca_keyStorePwd[] = keyStorePwd.toCharArray();
                char ca_keyEntryPwd[] = keyEntryPwd.toCharArray();

                is_keyStore = 
ClassLoader.getSystemResourceAsStream(keyStoreName);
                

                try {
                        // supported SSLContext protocols: TLS, SSL, SSLv3
                        sslContext = SSLContext.getInstance("TLS");
                        //SUN provided key store format
                        keyStore = KeyStore.getInstance("JKS");
                        keyStore.load(is_keyStore, ca_keyStorePwd);

                        //Generating KeyManager list
                        keyManagerFactory = 
KeyManagerFactory.getInstance("SunX509");
                        keyManagerFactory.init(keyStore,ca_keyEntryPwd);
                        KeyManager[] kmList = 
keyManagerFactory.getKeyManagers();
                        sslContext.init(kmList, null, null);

                } 
                catch (Throwable t)
                {
                        
                }

                sslFilter = new SSLFilter(sslContext);
                filterChainBuilder.addLast("sslFilter",sslFilter);

        } 

Thanks a lot !!
Oren.
-- 
View this message in context: 
http://www.nabble.com/Mina-working-with-SSL-tf4712545s16868.html#a13483390
Sent from the Apache MINA Support Forum mailing list archive at Nabble.com.

Reply via email to