OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / libcore / support / src / test / java / org / apache / harmony / xnet / tests / support / MySSLContextSpi.java
1 /*
2  *  Licensed to the Apache Software Foundation (ASF) under one or more
3  *  contributor license agreements.  See the NOTICE file distributed with
4  *  this work for additional information regarding copyright ownership.
5  *  The ASF licenses this file to You under the Apache License, Version 2.0
6  *  (the "License"); you may not use this file except in compliance with
7  *  the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */
17
18 package org.apache.harmony.xnet.tests.support;
19
20 import java.nio.ByteBuffer;
21 import java.security.KeyManagementException;
22 import java.security.SecureRandom;
23 import javax.net.ssl.KeyManager;
24 import javax.net.ssl.SSLContextSpi;
25 import javax.net.ssl.SSLEngine;
26 import javax.net.ssl.SSLEngineResult;
27 import javax.net.ssl.SSLException;
28 import javax.net.ssl.SSLParameters;
29 import javax.net.ssl.SSLServerSocketFactory;
30 import javax.net.ssl.SSLSession;
31 import javax.net.ssl.SSLSessionContext;
32 import javax.net.ssl.SSLSocketFactory;
33 import javax.net.ssl.TrustManager;
34
35 /**
36  * Additional class for verification of SSLContextSpi and SSLContext
37  * functionality
38  *
39  */
40
41 public class MySSLContextSpi extends SSLContextSpi {
42     private boolean init = false;
43     protected void engineInit(KeyManager[] km, TrustManager[] tm,
44             SecureRandom sr) throws KeyManagementException {
45         if (sr == null) {
46             throw new KeyManagementException(
47                     "secureRandom is null");
48         }
49         init = true;
50     }
51
52     protected SSLSocketFactory engineGetSocketFactory() {
53         if (!init) {
54             throw new RuntimeException("Not initialiazed");
55         }
56         return null;
57     }
58
59     protected SSLServerSocketFactory engineGetServerSocketFactory() {
60         if (!init) {
61             throw new RuntimeException("Not initialiazed");
62         }
63         return null;
64     }
65
66     protected SSLSessionContext engineGetServerSessionContext() {
67         if (!init) {
68             throw new RuntimeException("Not initialiazed");
69         }
70         return null;
71     }
72
73     protected SSLSessionContext engineGetClientSessionContext() {
74         if (!init) {
75             throw new RuntimeException("Not initialiazed");
76         }
77         return null;
78     }
79
80     protected SSLParameters engineGetDefaultSSLParameters() {
81         engineGetSocketFactory();
82         return null;
83     }
84
85     protected SSLParameters engineGetSupportedSSLParameters() {
86         engineGetSocketFactory();
87         return null;
88     }
89
90     /*
91      * FIXME: add these methods
92      */
93     protected SSLEngine engineCreateSSLEngine(String host, int port) {
94         if (!init) {
95             throw new RuntimeException("Not initialiazed");
96         }
97         return new tmpSSLEngine(host, port);
98     }
99
100     protected SSLEngine engineCreateSSLEngine() {
101         if (!init) {
102             throw new RuntimeException("Not initialiazed");
103         }
104         return new tmpSSLEngine();
105     }
106
107     public class tmpSSLEngine extends SSLEngine {
108         String tmpHost;
109         int tmpPort;
110         public tmpSSLEngine() {
111             tmpHost = null;
112             tmpPort = 0;
113         }
114         public tmpSSLEngine(String host, int port) {
115             tmpHost = host;
116             tmpPort = port;
117         }
118         public String getPeerHost() {
119             return tmpHost;
120         }
121         public int getPeerPort() {
122             return tmpPort;
123         }
124         public void beginHandshake() throws SSLException { }
125         public void closeInbound() throws SSLException { }
126         public void closeOutbound() {}
127         public Runnable getDelegatedTask() { return null; }
128         public String[] getEnabledCipherSuites() { return null; }
129         public String[] getEnabledProtocols() {return null; }
130         public boolean getEnableSessionCreation() { return true; }
131         public SSLEngineResult.HandshakeStatus getHandshakeStatus() { return null; }
132         public boolean getNeedClientAuth() { return true; }
133         public SSLSession getSession() { return null; }
134         public String[] getSupportedCipherSuites()  { return null; }
135         public String[] getSupportedProtocols()  { return null; }
136         public boolean getUseClientMode()  { return true; }
137         public boolean getWantClientAuth()  { return true; }
138         public boolean isInboundDone()  { return true; }
139         public boolean isOutboundDone()  { return true; }
140         public void setEnabledCipherSuites(String[] suites) { }
141         public void setEnabledProtocols(String[] protocols) { }
142         public void setEnableSessionCreation(boolean flag) { }
143         public void setNeedClientAuth(boolean need) { }
144         public void setUseClientMode(boolean mode) { }
145         public void setWantClientAuth(boolean want) { }
146         public SSLEngineResult unwrap(ByteBuffer src, ByteBuffer[] dsts,
147                 int offset, int length) throws SSLException {
148             return null;
149         }
150         public SSLEngineResult wrap(ByteBuffer[] srcs, int offset,
151                 int length, ByteBuffer dst) throws SSLException {
152             return null;
153         }
154     }
155 }