*/
protected ServerSocketChannel serverSock = null;
+ protected SSLUtil sslUtil = null;
+
/**
* use send file
*/
// Initialize SSL if needed
if (isSSLEnabled()) {
+ if (sslUtil == null) {
+ sslUtil = handler.getSslImplementation().getSSLUtil(this);
+ }
// Initialize SSL
String keystorePass = getKeystorePass();
if (keystorePass == null) {
public abstract SSLSupport getSSLSupport(Socket sock);
public abstract SSLSupport getSSLSupport(SSLSession session);
+
+ public abstract SSLUtil getSSLUtil(AbstractEndpoint ep);
}
--- /dev/null
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.util.net;
+
+public interface SSLUtil {
+
+}
import org.apache.tomcat.util.net.AbstractEndpoint;
import org.apache.tomcat.util.net.SSLImplementation;
import org.apache.tomcat.util.net.SSLSupport;
+import org.apache.tomcat.util.net.SSLUtil;
import org.apache.tomcat.util.net.ServerSocketFactory;
/* JSSEImplementation:
return new JSSESupport(session);
}
+ @Override
+ public SSLUtil getSSLUtil(AbstractEndpoint endpoint) {
+ return new JSSESocketFactory(endpoint);
+ }
}
import org.apache.tomcat.util.net.AbstractEndpoint;
import org.apache.tomcat.util.net.Constants;
+import org.apache.tomcat.util.net.SSLUtil;
import org.apache.tomcat.util.net.ServerSocketFactory;
import org.apache.tomcat.util.res.StringManager;
* @author Jan Luehe
* @author Bill Barker
*/
-public class JSSESocketFactory implements ServerSocketFactory {
+public class JSSESocketFactory implements ServerSocketFactory, SSLUtil {
private static final org.apache.juli.logging.Log log =
org.apache.juli.logging.LogFactory.getLog(JSSESocketFactory.class);