1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.xnet.tests.support; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.ByteBuffer; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.KeyManagementException; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.SecureRandom; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.KeyManager; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLContextSpi; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLEngine; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLEngineResult; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLException; 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLParameters; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLSession; 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLSessionContext; 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLServerSocketFactory; 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.SSLSocketFactory; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.net.ssl.TrustManager; 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/** 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Additional class for verification of SSLContextSpi and SSLContext 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * functionality 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class MySSLContextSpi extends SSLContextSpi { 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private boolean init = false; 438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void engineInit(KeyManager[] km, TrustManager[] tm, 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SecureRandom sr) throws KeyManagementException { 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (sr == null) { 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new KeyManagementException( 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "secureRandom is null"); 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes init = true; 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLSocketFactory engineGetSocketFactory() { 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!init) { 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new RuntimeException("Not initialiazed"); 588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath ; 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLServerSocketFactory engineGetServerSocketFactory() { 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!init) { 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new RuntimeException("Not initialiazed"); 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLSessionContext engineGetServerSessionContext() { 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!init) { 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new RuntimeException("Not initialiazed"); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLSessionContext engineGetClientSessionContext() { 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!init) { 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new RuntimeException("Not initialiazed"); 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * FIXME: add these methods 898d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath */ 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLEngine engineCreateSSLEngine(String host, int port) { 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!init) { 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new RuntimeException("Not initialiazed"); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return new tmpSSLEngine(host, port); 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLEngine engineCreateSSLEngine() { 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!init) { 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new RuntimeException("Not initialiazed"); 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return new tmpSSLEngine(); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1058d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public class tmpSSLEngine extends SSLEngine { 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String tmpHost; 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int tmpPort; 1098d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public tmpSSLEngine() { 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes tmpHost = null; 1128d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath tmpPort = 0; 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1148d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public tmpSSLEngine(String host, int port) { 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes tmpHost = host; 1178d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath tmpPort = port; 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public String getPeerHost() { 1228d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return tmpHost; 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1248d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int getPeerPort() { 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return tmpPort; 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 1298d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1318d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void beginHandshake() throws SSLException { 1328d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1338d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1358d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void closeInbound() throws SSLException { 1368d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1398d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void closeOutbound() { 1408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public Runnable getDelegatedTask() { 1448d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1488d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public String[] getEnabledCipherSuites() { 1498d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1508d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1518d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1538d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public String[] getEnabledProtocols() { 1548d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1558d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public boolean getEnableSessionCreation() { 1598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return true; 1608d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1618d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1638d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public SSLEngineResult.HandshakeStatus getHandshakeStatus() { 1648d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1658d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1668d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 1678d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath ; 1688d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1708d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public boolean getNeedClientAuth() { 1718d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return true; 1728d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1738d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1758d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public SSLSession getSession() { 1768d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1778d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1788d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1808d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public String[] getSupportedCipherSuites() { 1818d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1828d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1838d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1858d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public String[] getSupportedProtocols() { 1868d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return null; 1878d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1888d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1908d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public boolean getUseClientMode() { 1918d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return true; 1928d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1938d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 1958d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public boolean getWantClientAuth() { 1968d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return true; 1978d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 1988d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2008d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public boolean isInboundDone() { 2018d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return true; 2028d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2038d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2058d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public boolean isOutboundDone() { 2068d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath return true; 2078d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2088d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2108d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void setEnabledCipherSuites(String[] suites) { 2118d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2128d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2148d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void setEnabledProtocols(String[] protocols) { 2158d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2168d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2188d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void setEnableSessionCreation(boolean flag) { 2198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2208d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2228d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void setNeedClientAuth(boolean need) { 2238d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2248d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2268d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void setUseClientMode(boolean mode) { 2278d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2288d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 2308d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath public void setWantClientAuth(boolean want) { 2318d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2328d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public SSLEngineResult unwrap(ByteBuffer src, ByteBuffer[] dsts, 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int offset, int length) throws SSLException { 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 2378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public SSLEngineResult wrap(ByteBuffer[] srcs, int offset, 2418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath int length, ByteBuffer dst) throws SSLException { 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public SSLParameters getSSLParameters() { 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // TODO Auto-generated method stub 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void setSSLParameters(SSLParameters sslP) { 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // TODO Auto-generated method stub 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 2568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath } 2578d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLParameters engineGetDefaultSSLParameters() { 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return new SSLParameters(new String[] { "Default_SSL_Parameters_For_Test1" }, 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new String[] { "TLSv1" }); 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected SSLParameters engineGetSupportedSSLParameters() { 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return new SSLParameters(new String[] { "Default_SSL_Parameters_For_Test1", 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Default_SSL_Parameters_For_Test2" }, new String[] { "TLSv1", "SSLv3" }); 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}