Hi,
I'm maintaining an IMAP client based on Mina for the minig webmail.
I tried to add TLS support, so I added some code to my lib :
session = cf.getSession();
logger.info("Connection established");
boolean tlsActivated = run(new StartTLSCommand());
if (tlsActivated) {
activateSSL(connector);
logger.info("TLS activated.");
} else {
logger.warn("TLS not supported by IMAP
server.");
}
logger.info("Sending " + login + " login
informations.");
return run(new LoginCommand(login, password));
Without the tls part, everything works like a charm.
My activateSSL method is :
private void activateSSL(SocketConnector connector) {
try {
sslFilter = new MinigTLSFilter();
sslFilter.setUseClientMode(true);
connector.getDefaultConfig().getFilterChain().addFirst("TLS",
sslFilter);
logger.info("Network traffic with IMAP server will be
encrypted.");
} catch (Throwable t) {
logger.error("Error starting ssl", t);
}
}
MinigTLSFilter just extends SSLFilter. It uses the
BogusSSLContextFilter factory from mina examples. Using wireshark I
can see that no ssl handshake is attempted.
Any hint on what I'm doing wrong ?