package org.jboss.iiop.jacorb;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.net.ssl.SSLSocket;
import org.jboss.iiop.CorbaORBService;
import org.jboss.logging.Logger;
import org.jboss.security.SecurityDomain;
import org.jboss.security.ssl.DomainSocketFactory;
import org.jboss.system.Registry;
public class SSLSocketFactory
implements org.jacorb.orb.factory.SocketFactory,
org.apache.avalon.framework.configuration.Configurable
{
private static Logger log = Logger.getLogger(SSLSocketFactory.class);
private DomainSocketFactory domainFactory = null;
private String[] cipher_suites = null;
public SSLSocketFactory(org.jacorb.orb.ORB orb)
throws IOException
{
log.info("Creating");
SecurityDomain securityDomain =
(SecurityDomain)Registry.lookup(CorbaORBService.SSL_DOMAIN);
try
{
domainFactory = new DomainSocketFactory(securityDomain);
}
catch (IOException e)
{
log.warn("Could not create DomainSocketFactory: " + e);
if (log.isDebugEnabled())
log.debug("Exception creating DomainSockedFactory: ", e);
throw e;
}
}
public Socket createSocket(String host, int port)
throws IOException, UnknownHostException
{
return domainFactory.createSocket(host, port);
}
public boolean isSSL (java.net.Socket s)
{
return (s instanceof SSLSocket);
}
public void configure(
org.apache.avalon.framework.configuration.Configuration configuration)
throws org.apache.avalon.framework.configuration.ConfigurationException
{
}
}