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.