[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