You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dh...@apache.org on 2014/10/24 23:43:01 UTC
[4/5] git commit: CAMEL-7955: Updated Camel-linkedin to use
SSLContextParameters to configure HtmlUnit for OAuth
CAMEL-7955: Updated Camel-linkedin to use SSLContextParameters to configure HtmlUnit for OAuth
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/18e08c2e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/18e08c2e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/18e08c2e
Branch: refs/heads/camel-2.14.x
Commit: 18e08c2e0079c564c72f5141a8a9a3b845f3f1b0
Parents: bfa2388
Author: Dhiraj Bokde <dh...@yahoo.com>
Authored: Fri Oct 24 13:27:09 2014 -0700
Committer: Dhiraj Bokde <dh...@yahoo.com>
Committed: Fri Oct 24 14:42:28 2014 -0700
----------------------------------------------------------------------
.../linkedin/api/LinkedInOAuthRequestFilter.java | 4 +++-
.../api/AbstractResourceIntegrationTest.java | 4 ++--
.../component/linkedin/LinkedInComponent.java | 18 +++++++++++++++++-
3 files changed, 22 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/18e08c2e/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/LinkedInOAuthRequestFilter.java
----------------------------------------------------------------------
diff --git a/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/LinkedInOAuthRequestFilter.java b/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/LinkedInOAuthRequestFilter.java
index 4fd7194..ed11944 100644
--- a/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/LinkedInOAuthRequestFilter.java
+++ b/components/camel-linkedin/camel-linkedin-api/src/main/java/org/apache/camel/component/linkedin/api/LinkedInOAuthRequestFilter.java
@@ -47,6 +47,7 @@ import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+
import org.apache.http.HttpHost;
import org.apache.http.HttpStatus;
import org.apache.http.conn.params.ConnRoutePNames;
@@ -82,7 +83,7 @@ public final class LinkedInOAuthRequestFilter implements ClientRequestFilter {
@SuppressWarnings("deprecation")
public LinkedInOAuthRequestFilter(OAuthParams oAuthParams, Map<String, Object> httpParams,
- boolean lazyAuth) {
+ boolean lazyAuth, String[] enabledProtocols) {
this.oAuthParams = oAuthParams;
this.oAuthToken = null;
@@ -95,6 +96,7 @@ public final class LinkedInOAuthRequestFilter implements ClientRequestFilter {
options.setThrowExceptionOnFailingStatusCode(true);
options.setThrowExceptionOnScriptError(true);
options.setPrintContentOnFailingStatusCode(LOG.isDebugEnabled());
+ options.setSSLClientProtocols(enabledProtocols);
// add HTTP proxy if set
if (httpParams != null && httpParams.get(ConnRoutePNames.DEFAULT_PROXY) != null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/18e08c2e/components/camel-linkedin/camel-linkedin-api/src/test/java/org/apache/camel/component/linkedin/api/AbstractResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-linkedin/camel-linkedin-api/src/test/java/org/apache/camel/component/linkedin/api/AbstractResourceIntegrationTest.java b/components/camel-linkedin/camel-linkedin-api/src/test/java/org/apache/camel/component/linkedin/api/AbstractResourceIntegrationTest.java
index d8f474e..b0f3ad8 100644
--- a/components/camel-linkedin/camel-linkedin-api/src/test/java/org/apache/camel/component/linkedin/api/AbstractResourceIntegrationTest.java
+++ b/components/camel-linkedin/camel-linkedin-api/src/test/java/org/apache/camel/component/linkedin/api/AbstractResourceIntegrationTest.java
@@ -48,7 +48,7 @@ public class AbstractResourceIntegrationTest extends Assert {
@BeforeClass
public static void beforeClass() throws Exception {
properties = new Properties();
- properties.load(PeopleResourceIntegrationTest.class.getResourceAsStream("/test-options.properties"));
+ properties.load(AbstractResourceIntegrationTest.class.getResourceAsStream("/test-options.properties"));
requestFilter = createOAuthHelper();
}
@@ -82,7 +82,7 @@ public class AbstractResourceIntegrationTest extends Assert {
final OAuthParams oAuthParams = new OAuthParams(userName, userPassword, secureStorage,
clientId, clientSecret, redirectUri, scopes);
- return new LinkedInOAuthRequestFilter(oAuthParams, null, false);
+ return new LinkedInOAuthRequestFilter(oAuthParams, null, false, null);
}
@AfterClass
http://git-wip-us.apache.org/repos/asf/camel/blob/18e08c2e/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInComponent.java b/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInComponent.java
index 4434f8c..a45a300 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInComponent.java
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInComponent.java
@@ -16,6 +16,10 @@
*/
package org.apache.camel.component.linkedin;
+import java.io.IOException;
+import java.security.GeneralSecurityException;
+import javax.net.ssl.SSLContext;
+
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.component.linkedin.api.LinkedInOAuthRequestFilter;
@@ -24,7 +28,9 @@ import org.apache.camel.component.linkedin.internal.CachingOAuthSecureStorage;
import org.apache.camel.component.linkedin.internal.LinkedInApiCollection;
import org.apache.camel.component.linkedin.internal.LinkedInApiName;
import org.apache.camel.spi.UriEndpoint;
+import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.component.AbstractApiComponent;
+import org.apache.camel.util.jsse.SSLContextParameters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -72,8 +78,18 @@ public class LinkedInComponent extends AbstractApiComponent<LinkedInApiName, Lin
// validate configuration
configuration.validate();
+ final String[] enabledProtocols;
+ try {
+ // use default SSP to create supported non-SSL protocols list
+ final SSLContext sslContext = new SSLContextParameters().createSSLContext();
+ enabledProtocols = sslContext.createSSLEngine().getEnabledProtocols();
+ } catch (GeneralSecurityException e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ } catch (IOException e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
return new LinkedInOAuthRequestFilter(getOAuthParams(configuration),
- configuration.getHttpParams(), configuration.isLazyAuth());
+ configuration.getHttpParams(), configuration.isLazyAuth(), enabledProtocols);
}
private static OAuthParams getOAuthParams(LinkedInConfiguration configuration) {