package org.apache.harmony.xnet.tests.support; import java.security.KeyManagementException; import java.security.SecureRandom; import javax.net.ssl.KeyManager; //import javax.net.ssl.SSLContextSpi; import javax.net.ssl.SSLEngine; /*import javax.net.ssl.SSLEngineResult; import javax.net.ssl.SSLException; import javax.net.ssl.SSLSession;*/ import javax.net.ssl.SSLSessionContext; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; public class SSLContextSpiImpl extends MySSLContextSpi { private boolean init = false; public void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException { if (sr == null) { throw new KeyManagementException( "secureRandom is null"); } init = true; } public SSLSocketFactory engineGetSocketFactory() { if (!init) { throw new RuntimeException("Not initialiazed"); } return null; } public SSLServerSocketFactory engineGetServerSocketFactory() { if (!init) { throw new RuntimeException("Not initialiazed"); } return null; } public SSLSessionContext engineGetServerSessionContext() { if (!init) { throw new RuntimeException("Not initialiazed"); } return null; } public SSLSessionContext engineGetClientSessionContext() { if (!init) { throw new RuntimeException("Not initialiazed"); } return null; } /* * FIXME: add these methods */ public SSLEngine engineCreateSSLEngine(String host, int port) { int max = 65535; if (port < 0 || port > max) { throw new IllegalArgumentException("Illegal port"); } if (!init) { throw new RuntimeException("Not initialiazed"); } return new tmpSSLEngine(host, port); } public SSLEngine engineCreateSSLEngine() { if (!init) { throw new RuntimeException("Not initialiazed"); } return new tmpSSLEngine(); } }