[java-identity-provider COMMIT] in /trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingp...

noreply at shibboleth.net noreply at shibboleth.net
Sun Oct 23 20:19:26 EDT 2016


Author: putmanb
Date: Sun Oct 23 20:19:26 2016
New Revision: 8529

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8529&view=rev
Log:
IDP-1071: Config schema and parser support for HttpClientSecurityParameters in HTTP metadata resolvers.

Correctly handle TLS socket factory creation when TLS TrustEngine is supplied via params.

Added:
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/TLSSocketFactoryFactoryBean.java   (with props)
Modified:
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/AbstractDynamicHTTPMetadataProviderParser.java
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProviderParser.java

Modified: trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/AbstractDynamicHTTPMetadataProviderParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/AbstractDynamicHTTPMetadataProviderParser.java?rev=8529&r1=8528&r2=8529&view=diff
==============================================================================
--- trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/AbstractDynamicHTTPMetadataProviderParser.java	(original)
+++ trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/AbstractDynamicHTTPMetadataProviderParser.java	Sun Oct 23 20:19:26 2016
@@ -26,14 +26,12 @@
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.FileCachingHttpClientFactoryBean;
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.HttpClientFactoryBean;
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.InMemoryCachingHttpClientFactoryBean;
-import net.shibboleth.utilities.java.support.httpclient.HttpClientSupport;
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.TLSSocketFactoryFactoryBean;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 import net.shibboleth.utilities.java.support.xml.XMLConstants;
 
 import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.conn.ssl.StrictHostnameVerifier;
-import org.opensaml.security.httpclient.impl.SecurityEnhancedTLSSocketFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.config.BeanDefinition;
@@ -77,22 +75,22 @@
             final BeanDefinitionBuilder builder) {
         super.doNativeParse(element, parserContext, builder);
 
-        boolean haveTLSTrustEngine = false;
+        Object tlsTrustEngineRefOrBean = null;
         if (element.hasAttributeNS(null, "tlsTrustEngineRef")) {
-            builder.addPropertyReference("tLSTrustEngine",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "tlsTrustEngineRef")));
-            haveTLSTrustEngine = true;
-        } else {
-            final BeanDefinition tlsTrustEngine = parseTLSTrustEngine(element, parserContext);
-            if (tlsTrustEngine != null) {
-                builder.addPropertyValue("tLSTrustEngine", tlsTrustEngine);
-                haveTLSTrustEngine = true;
-            }
-        }
-        
+            tlsTrustEngineRefOrBean = StringSupport.trimOrNull(element.getAttributeNS(null, "tlsTrustEngineRef"));
+            builder.addPropertyReference("tLSTrustEngine", (String) tlsTrustEngineRefOrBean);
+        } else {
+            tlsTrustEngineRefOrBean = parseTLSTrustEngine(element, parserContext);
+            if (tlsTrustEngineRefOrBean != null) {
+                builder.addPropertyValue("tLSTrustEngine", tlsTrustEngineRefOrBean);
+            }
+        }
+        
+        String httpClientSecurityParametersRef = null;
         if (element.hasAttributeNS(null, "httpClientSecurityParametersRef")) {
-            builder.addPropertyReference("httpClientSecurityParameters",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "httpClientSecurityParametersRef")));
+            httpClientSecurityParametersRef = 
+                    StringSupport.trimOrNull(element.getAttributeNS(null, "httpClientSecurityParametersRef"));
+            builder.addPropertyReference("httpClientSecurityParameters", httpClientSecurityParametersRef);
         }
 
         if (element.hasAttributeNS(null, "httpClientRef")) {
@@ -113,7 +111,8 @@
                         + "proxyUser and proxyPassword");
             }
         } else {
-            builder.addConstructorArgValue(buildHttpClient(element, parserContext, haveTLSTrustEngine));
+            builder.addConstructorArgValue(buildHttpClient(element, parserContext, tlsTrustEngineRefOrBean, 
+                    httpClientSecurityParametersRef));
         }
 
         if (element.hasAttributeNS(null, "credentialsProviderRef")) {
@@ -145,13 +144,14 @@
      * 

[... 314 lines stripped ...]


More information about the commits mailing list