[java-opensaml COMMIT] in /trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config: DefaultSecurityConfig...

noreply at shibboleth.net noreply at shibboleth.net
Fri Mar 14 19:03:47 EDT 2014


Author: putmanb
Date: Fri Mar 14 19:03:47 2014
New Revision: 3700

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3700&view=rev
Log:
Put in place skeleton for library default security config init. 

Modified:
    trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config/DefaultSecurityConfigurationBootstrap.java
    trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config/GlobalSecurityConfigurationInitializer.java

Modified: trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config/DefaultSecurityConfigurationBootstrap.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config/DefaultSecurityConfigurationBootstrap.java?rev=3700&r1=3699&r2=3700&view=diff
==============================================================================
--- trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config/DefaultSecurityConfigurationBootstrap.java (original)
+++ trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/config/DefaultSecurityConfigurationBootstrap.java Fri Mar 14 19:03:47 2014
@@ -17,11 +17,27 @@
 
 package org.opensaml.xmlsec.config;
 
+import java.security.interfaces.DSAParams;
 import java.util.ArrayList;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.xmlsec.DecryptionConfiguration;
+import org.opensaml.xmlsec.EncryptionConfiguration;
+import org.opensaml.xmlsec.SignatureSigningConfiguration;
+import org.opensaml.xmlsec.SignatureValidationConfiguration;
+import org.opensaml.xmlsec.encryption.EncryptedData;
+import org.opensaml.xmlsec.encryption.EncryptedKey;
+import org.opensaml.xmlsec.encryption.support.ChainingEncryptedKeyResolver;
+import org.opensaml.xmlsec.encryption.support.EncryptedKeyResolver;
 import org.opensaml.xmlsec.encryption.support.EncryptionConstants;
+import org.opensaml.xmlsec.encryption.support.InlineEncryptedKeyResolver;
+import org.opensaml.xmlsec.encryption.support.SimpleKeyInfoReferenceEncryptedKeyResolver;
+import org.opensaml.xmlsec.encryption.support.SimpleRetrievalMethodEncryptedKeyResolver;
+import org.opensaml.xmlsec.impl.BasicDecryptionConfiguration;
+import org.opensaml.xmlsec.impl.BasicEncryptionConfiguration;
+import org.opensaml.xmlsec.impl.BasicSignatureSigningConfiguration;
+import org.opensaml.xmlsec.impl.BasicSignatureValidationConfiguration;
 import org.opensaml.xmlsec.keyinfo.KeyInfoCredentialResolver;
 import org.opensaml.xmlsec.keyinfo.KeyInfoGeneratorManager;
 import org.opensaml.xmlsec.keyinfo.NamedKeyInfoGeneratorManager;
@@ -33,6 +49,8 @@
 import org.opensaml.xmlsec.keyinfo.impl.provider.DSAKeyValueProvider;
 import org.opensaml.xmlsec.keyinfo.impl.provider.InlineX509DataProvider;
 import org.opensaml.xmlsec.keyinfo.impl.provider.RSAKeyValueProvider;
+import org.opensaml.xmlsec.signature.KeyInfo;
+import org.opensaml.xmlsec.signature.Signature;
 import org.opensaml.xmlsec.signature.support.SignatureConstants;
 
 
@@ -42,8 +60,6 @@
  */
 public class DefaultSecurityConfigurationBootstrap {
     
-    //TODO split out for new 4 config classes
-    
     /** Constructor. */
     protected DefaultSecurityConfigurationBootstrap() {}
     
@@ -53,13 +69,84 @@
      * @return a new basic security configuration with reasonable default values
      */
     @Nonnull public static BasicSecurityConfiguration buildDefaultConfig() {
+        //TODO remove when security config refactoring complete
         BasicSecurityConfiguration config = new BasicSecurityConfiguration();
         
         populateSignatureParams(config);
         populateEncryptionParams(config);
-        populateKeyInfoCredentialResolverParams(config);
-        populateKeyInfoGeneratorManager(config);
+        
+        config.setDefaultKeyInfoCredentialResolver(buildBasicKeyInfoCredentialResolver());
+        config.setKeyInfoGeneratorManager(buildBasicKeyInfoGeneratorManager());
+        
         populateKeyParams(config);
+        
+        return config;
+    }
+    
+    /**
+     * Build and return a default encryption configuration.
+     * 
+     * @return a new basic configuration with reasonable default values
+     */
+    @Nonnull public static EncryptionConfiguration buildDefaultEncryptionConfiguration() {
+        BasicEncryptionConfiguration config = new BasicEncryptionConfiguration();
+        
+        //TODO blacklist anything by default?
+        //TODO various data and key transport algo URI prefs, when API is stabilized
+        //TODO auto-generated data enc URI prefs
+        
+        config.setDataKeyInfoGeneratorManager(buildDataEncryptionKeyInfoGeneratorManager());
+        config.setKeyTransportKeyInfoGeneratorManager(buildKeyTransportEncryptionKeyInfoGeneratorManager());
+        
+        return config;
+    }
+    
+    /**
+     * Build and return a default decryption configuration.
+     * 
+     * @return a new basic configuration with reasonable default values
+     */
+    @Nonnull public static DecryptionConfiguration buildDefaultDecryptionConfiguration() {
+        BasicDecryptionConfiguration config = new BasicDecryptionConfiguration();
+        

[... 225 lines stripped ...]


More information about the commits mailing list