[java-opensaml COMMIT] in /trunk: opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecu...

noreply at shibboleth.net noreply at shibboleth.net
Thu Nov 5 20:43:20 EST 2015


Author: putmanb
Date: Thu Nov  5 20:43:20 2015
New Revision: 4390

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4390&view=rev
Log:
Refactoring on the pipeline HTTP SOAP client.

Move security param marshaling out to a support class, to support re-use.
Remove individual client security properties in favor of a local client
instance of HttpClientSecurityParameters.
Other code refactoring and cleanup. 

Added:
    trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecuritySupport.java   (with props)
    trunk/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/
    trunk/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java   (with props)
Modified:
    trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityParameters.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/HttpClientSecurityParameters.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityParameters.java?rev=4390&r1=4389&r2=4390&view=diff
==============================================================================
--- trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityParameters.java	(original)
+++ trunk/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityParameters.java	Thu Nov  5 20:43:20 2015
@@ -23,6 +23,7 @@
 import javax.annotation.Nullable;
 
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
@@ -43,6 +44,9 @@
     /** Optional trust engine used in evaluating server TLS credentials. */
     private TrustEngine<? super X509Credential> tlsTrustEngine;
     
+    /** Optional criteria set used in evaluating server TLS credentials. */
+    private CriteriaSet tlsCriteriaSet;
+    
     /** TLS Protocols. */
     private List<String> tlsProtocols;
     
@@ -71,6 +75,23 @@
      */
     public void setCredentialsProvider(@Nullable final CredentialsProvider provider) {
         credentialsProvider = provider;
+    }
+    
+    /**
+     * A convenience method to set a (single) username and password used for BASIC authentication.
+     * To disable BASIC authentication pass null for the credentials instance.
+     * 
+     * <p>
+     * An {@link AuthScope} will be generated which specifies any host, port, scheme and realm.
+     * </p>
+     * 
+     * <p>To specify multiple usernames and passwords for multiple host, port, scheme, and realm combinations, instead 
+     * provide an instance of {@link CredentialsProvider} via {@link #setCredentialsProvider(CredentialsProvider)}.</p>
+     * 
+     * @param credentials the username and password credentials
+     */
+    public void setBasicCredentials(@Nullable final UsernamePasswordCredentials credentials) {
+        setBasicCredentialsWithScope(credentials, null);
     }
     
     /**
@@ -124,6 +145,24 @@
     }
 
     /**
+     * Get the optional criteria set used in evaluating server TLS credentials.
+     * 
+     * @return the criteria set instance to use
+     */
+    @Nullable public CriteriaSet getTLSCriteriaSet() {
+        return tlsCriteriaSet;
+    }
+
+    /**
+     * Set the optional criteria set used in evaluating server TLS credentials.
+     * 
+     * @param criteriaSet the new criteria set instance to use
+     */
+    public void setTLSCriteriaSet(@Nullable final CriteriaSet criteriaSet) {
+        tlsCriteriaSet = criteriaSet;
+    }
+
+    /**
      * Get the optional list of TLS protocols. 
      * 
      * @return the TLS protocols, or null

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=4390&r1=4389&r2=4390&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	Thu Nov  5 20:43:20 2015
@@ -17,6 +17,10 @@
 
 package org.opensaml.soap.client.http;
 
+import static org.opensaml.security.httpclient.HttpClientSecurityConstants.CONTEXT_KEY_CRITERIA_SET;
+import static org.opensaml.security.httpclient.HttpClientSecurityConstants.CONTEXT_KEY_SERVER_TLS_CREDENTIAL_TRUSTED;
+import static org.opensaml.security.httpclient.HttpClientSecurityConstants.CONTEXT_KEY_TRUST_ENGINE;
+
 import java.io.IOException;
 
 import javax.annotation.Nonnull;
@@ -31,19 +35,14 @@

[... 387 lines stripped ...]


More information about the commits mailing list