[java-identity-provider COMMIT] in /trunk/idp-attribute-resolver-spring/src: main/java/net/shibboleth/idp/attribute/r...

noreply at shibboleth.net noreply at shibboleth.net
Fri Sep 20 01:26:19 EDT 2013


Author: dfisher
Date: Fri Sep 20 01:26:18 2013
New Revision: 4783

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4783&view=rev
Log:
Update LdapDataConnectorParser to support the v2 trust and authentication credentials.
Update the unit test to start an in-memory server that supports StartTLS.
See IDP-4.

Added:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/X509CredentialSupport.java   (with props)
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.crt
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.key
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.keystore   (with props)
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.pkcs12   (with props)
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.pkcs8   (with props)
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/server.crt
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/server.key
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/server.keystore   (with props)
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/server.pkcs12   (with props)
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/server.pkcs8   (with props)
Modified:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java
    trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParserTest.java
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring.xml
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml

Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java?rev=4783&r1=4782&r2=4783&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java (original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java Fri Sep 20 01:26:18 2013
@@ -20,6 +20,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.security.PrivateKey;
+import java.security.cert.X509Certificate;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -53,6 +55,10 @@
 import org.ldaptive.provider.ConnectionStrategy;
 import org.ldaptive.sasl.Mechanism;
 import org.ldaptive.sasl.SaslConfig;
+import org.ldaptive.ssl.CredentialConfig;
+import org.ldaptive.ssl.CredentialConfigFactory;
+import org.ldaptive.ssl.SslConfig;
+import org.opensaml.security.x509.X509Credential;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.BeanFactory;
@@ -161,7 +167,7 @@
         if (!props.isEmpty()) {
             connectionFactory.getProvider().getProviderConfig().setProperties(props);
         }
-        
+
         final BeanDefinitionBuilder templateBuilder = v2Parser.createTemplateBuilder();
         builder.addPropertyValue("executableSearchBuilder", templateBuilder.getBeanDefinition());
 
@@ -206,7 +212,6 @@
          * @return connection config
          */
         @Nonnull public ConnectionConfig createConnectionConfig() {
-            // TODO need the 2.0 security schema to set trust and authentication credential
             final String url = AttributeSupport.getAttributeValue(configElement, new QName("ldapURL"));
             final Boolean useStartTLS =
                     AttributeSupport.getAttributeValueAsBoolean(AttributeSupport.getAttribute(configElement, new QName(
@@ -222,6 +227,9 @@
             if (useStartTLS != null && useStartTLS.booleanValue()) {
                 connectionConfig.setUseStartTLS(true);
             }
+            final SslConfig sslConfig = new SslConfig();
+            sslConfig.setCredentialConfig(createCredentialConfig());
+            connectionConfig.setSslConfig(sslConfig);

[... 208 lines stripped ...]


More information about the commits mailing list