[java-opensaml COMMIT] in /trunk: opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/httpclient/ ope...
noreply at shibboleth.net
noreply at shibboleth.net
Fri May 22 17:36:22 EDT 2015
Author: putmanb
Date: Fri May 22 17:36:22 2015
New Revision: 4274
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4274&view=rev
Log:
Add a security parameters class for HttpClient.
Add message contexts for HttpClient context and security parameters.
Update SOAP client to populate HttpClientContext from message context data, to support arbitrary per-request HttpClientContext attributes (e.g. RequestConfig), basic auth credentials, and TLS trust engine, client credential, protocols, cipher suites and hostname verifier.
Added:
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/httpclient/
trunk/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/httpclient/HttpClientRequestContext.java (with props)
trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityParameters.java (with props)
trunk/opensaml-security-api/src/main/java/org/opensaml/security/messaging/HttpClientSecurityContext.java (with props)
Modified:
trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConstants.java
trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
Modified: trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConstants.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConstants.java?rev=4274&r1=4273&r2=4274&view=diff
==============================================================================
--- trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConstants.java (original)
+++ trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConstants.java Fri May 22 17:36:22 2015
@@ -17,6 +17,8 @@
package org.opensaml.security.httpclient;
+import net.shibboleth.utilities.java.support.httpclient.TLSSocketFactory;
+
/**
* Security-related constants for use with Apache HttpClient.
@@ -34,7 +36,22 @@
/** Context key for a server TLS credential evaluation result, populated by specialized instances
* of HttpClient socket factories. Type will be a {@link Boolean}. */
public static final String CONTEXT_KEY_SERVER_TLS_CREDENTIAL_TRUSTED = "opensaml.ServerTLSCredentialTrusted";
-
+
+ /** HttpContext key for the client TLS credential.
+ * Must be an instance of {@link org.opensaml.security.x509.X509Credential}. */
+ public static final String CONTEXT_KEY_CLIENT_TLS_CREDENTIAL = "opensaml.ClientTLSCredential";
+
+ /** HttpContext key for a a list of TLS protocols to enable on the socket.
+ * Must be an instance of {@link List<String>}. */
+ public static final String CONTEXT_KEY_TLS_PROTOCOLS = TLSSocketFactory.CONTEXT_KEY_TLS_PROTOCOLS;
+
+ /** HttpContext key for a a list of TLS cipher suites to enable on the socket.
+ * Must be an instance of {@link List<String>}. */
+ public static final String CONTEXT_KEY_TLS_CIPHER_SUITES = TLSSocketFactory.CONTEXT_KEY_TLS_CIPHER_SUITES;
+
+ /** HttpContext key for an instance of {@link org.apache.http.conn.ssl.X509HostnameVerifier}. */
+ public static final String CONTEXT_KEY_HOSTNAME_VERIFIER = TLSSocketFactory.CONTEXT_KEY_HOSTNAME_VERIFIER;
+
/** Constructor. */
private HttpClientSecurityConstants() {}
Modified: trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java?rev=4274&r1=4273&r2=4274&view=diff
==============================================================================
--- trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java (original)
+++ trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java Fri May 22 17:36:22 2015
@@ -18,6 +18,7 @@
package org.opensaml.soap.client.http;
import java.io.IOException;
+import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -31,6 +32,7 @@
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.ObjectSupport;
import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import org.apache.http.HttpResponse;
@@ -42,8 +44,10 @@
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.protocol.HttpClientContext;
+import org.apache.http.conn.ssl.X509HostnameVerifier;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.opensaml.messaging.context.InOutOperationContext;
[... 102 lines stripped ...]
More information about the commits
mailing list