You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2019/07/18 20:30:50 UTC
svn commit: r1863338 - in
/manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf:
authorities/authorities/csws/CswsAuthority.java
crawler/connectors/csws/CswsConnector.java csws/CswsSession.java
Author: kwright
Date: Thu Jul 18 20:30:49 2019
New Revision: 1863338
URL: http://svn.apache.org/viewvc?rev=1863338&view=rev
Log:
Add first cut of SSL support.
Modified:
manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/csws/CswsAuthority.java
manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java
manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/csws/CswsSession.java
Modified: manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/csws/CswsAuthority.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/csws/CswsAuthority.java?rev=1863338&r1=1863337&r2=1863338&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/csws/CswsAuthority.java (original)
+++ manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/csws/CswsAuthority.java Thu Jul 18 20:30:49 2019
@@ -25,6 +25,7 @@ import org.apache.manifoldcf.authorities
import org.apache.manifoldcf.authorities.system.ManifoldCF;
import org.apache.manifoldcf.connectorcommon.interfaces.*;
+import org.apache.manifoldcf.connectorcommon.common.InterruptibleSocketFactory;
import com.opentext.livelink.service.memberservice.User;
import com.opentext.livelink.service.memberservice.Member;
@@ -223,9 +224,21 @@ public class CswsAuthority extends org.a
{
Logging.authorityConnectors.debug("Csws: Csws session created.");
}
-
+
+ final int connectionTimeout = 15 * 1000;
+
+ final javax.net.ssl.SSLSocketFactory mySslFactory;
+ if (serverHTTPSKeystore != null)
+ {
+ mySslFactory = new InterruptibleSocketFactory(serverHTTPSKeystore.getSecureSocketFactory(), connectionTimeout);
+ }
+ else
+ {
+ mySslFactory = null;
+ }
+
// Construct a new csws session object for setting up this session
- cswsSession = new CswsSession(serverUsername, serverPassword, 1000L * 60L * 15L,
+ cswsSession = new CswsSession(serverUsername, serverPassword, mySslFactory, 1000L * 60L * 15L,
authenticationServiceURL, null, null, memberServiceServiceURL, null);
}
Modified: manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java?rev=1863338&r1=1863337&r2=1863338&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java (original)
+++ manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java Thu Jul 18 20:30:49 2019
@@ -458,14 +458,16 @@ public class CswsConnector extends org.a
int connectionTimeout = 300000;
// Set up ingest ssl if indicated
- SSLConnectionSocketFactory myFactory = null;
+ final SSLConnectionSocketFactory myFactory;
+ final javax.net.ssl.SSLSocketFactory mySslFactory;
if (serverHTTPSKeystore != null)
{
- myFactory = new SSLConnectionSocketFactory(new InterruptibleSocketFactory(serverHTTPSKeystore.getSecureSocketFactory(), connectionTimeout),
- NoopHostnameVerifier.INSTANCE);
+ mySslFactory = new InterruptibleSocketFactory(serverHTTPSKeystore.getSecureSocketFactory(), connectionTimeout);
+ myFactory = new SSLConnectionSocketFactory(mySslFactory, NoopHostnameVerifier.INSTANCE);
}
else
{
+ mySslFactory = null;
myFactory = SSLConnectionSocketFactory.getSocketFactory();
}
@@ -523,7 +525,7 @@ public class CswsConnector extends org.a
}
// Construct a new csws session object for setting up this session
- cswsSession = new CswsSession(serverUsername, serverPassword, 1000L * 60L * 15L,
+ cswsSession = new CswsSession(serverUsername, serverPassword, mySslFactory, 1000L * 60L * 15L,
authenticationServiceURL, documentManagementServiceURL, contentServiceServiceURL, memberServiceServiceURL, searchServiceServiceURL);
final GetSessionThread t = new GetSessionThread();
Modified: manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/csws/CswsSession.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/csws/CswsSession.java?rev=1863338&r1=1863337&r2=1863338&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/csws/CswsSession.java (original)
+++ manifoldcf/branches/CONNECTORS-1566/connectors/csws/connector/src/main/java/org/apache/manifoldcf/csws/CswsSession.java Thu Jul 18 20:30:49 2019
@@ -80,6 +80,7 @@ import com.opentext.livelink.service.mem
import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
import org.apache.manifoldcf.agents.interfaces.ServiceInterruption;
+import org.apache.manifoldcf.connectorcommon.interfaces.*;
/** This class describes a livelink csws session. It manages OAuth authentication
* and provides logged-in access to csws services via methods provided within.
@@ -115,12 +116,15 @@ public class CswsSession
// Cached workspace root nodes
private Map<String, Node> workspaceTypeNodes = new HashMap<>();
+ private final static String sslSocketFactoryProperty = "com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory";
+
// Transient data that will need to be periodically rebuilt
private long currentSessionExpiration = -1L;
private String currentAuthToken = null;
public CswsSession(final String userName,
- final String password,
+ final String password,
+ final javax.net.ssl.SSLSocketFactory sslSocketFactory,
final long sessionExpirationInterval,
final String authenticationServiceURL,
final String documentManagementServiceURL,
@@ -158,6 +162,15 @@ public class CswsSession
((BindingProvider)contentServiceHandle).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, contentServiceServiceURL);
((BindingProvider)memberServiceHandle).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, memberServiceServiceURL);
((BindingProvider)searchServiceHandle).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, searchServiceServiceURL);
+
+ // Set SSLSocketFactory's
+ if (sslSocketFactory != null) {
+ ((BindingProvider)authClientHandle).getRequestContext().put(sslSocketFactoryProperty, sslSocketFactory);
+ ((BindingProvider)documentManagementHandle).getRequestContext().put(sslSocketFactoryProperty, sslSocketFactory);
+ ((BindingProvider)contentServiceHandle).getRequestContext().put(sslSocketFactoryProperty, sslSocketFactory);
+ ((BindingProvider)memberServiceHandle).getRequestContext().put(sslSocketFactoryProperty, sslSocketFactory);
+ ((BindingProvider)searchServiceHandle).getRequestContext().put(sslSocketFactoryProperty, sslSocketFactory);
+ }
}
/**