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

noreply at shibboleth.net noreply at shibboleth.net
Wed May 14 16:39:00 EDT 2014


Author: putmanb
Date: Wed May 14 16:39:00 2014
New Revision: 3870

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3870&view=rev
Log:
Initial tests for BasicEncryptionParametersResolver.
Tweak some logging and formatting in the resolver.

Added:
    trunk/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java   (with props)
Modified:
    trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java

Modified: trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java?rev=3870&r1=3869&r2=3870&view=diff
==============================================================================
--- trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java (original)
+++ trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java Wed May 14 16:39:00 2014
@@ -211,9 +211,12 @@
         // Pre-resolve these for efficiency
         List<Credential> keyTransportCredentials = getEffectiveKeyTransportCredentials(criteria);
         List<String> keyTransportAlgorithms = getEffectiveKeyTransportAlgorithms(criteria, whitelistBlacklistPredicate);
+        log.trace("Resolved effective key transport algorithms: {}", keyTransportAlgorithms);
+        
         List<Credential> dataEncryptionCredentials = getEffectiveDataEncryptionCredentials(criteria);
         List<String> dataEncryptionAlgorithms = getEffectiveDataEncryptionAlgorithms(criteria, 
                 whitelistBlacklistPredicate);
+        log.trace("Resolved effective data encryption algorithms: {}", dataEncryptionAlgorithms);
         
         // Select the data encryption algorithm, and credential if exists
         if (dataEncryptionCredentials.isEmpty()) {
@@ -227,6 +230,10 @@
                     params.setDataEncryptionCredential(dataEncryptionCredential);
                     params.setDataEncryptionAlgorithmURI(dataEncryptionAlgorithm);
                     break;
+                } else {
+                    log.debug("Unable to resolve data encryption algorithm for credential with key type '{}', " 
+                            + "considering other credentials", 
+                            CredentialSupport.extractEncryptionKey(dataEncryptionCredential).getAlgorithm());
                 }
             }
         }
@@ -249,6 +256,8 @@
             }
         }
         
+        log.debug("Resolved key transport algorithm URI: {}", params.getKeyTransportEncryptionAlgorithmURI());
+        
         // Auto-generate data encryption cred if configured and possible
         processDataEncryptionCredentialAutoGeneration(params);
     }
@@ -269,7 +278,7 @@
         //TODO strategy for considering data encryption algorithm URI
         
         if (log.isTraceEnabled()) {
-            Key key = CredentialSupport.extractSigningKey(keyTransportCredential);
+            Key key = CredentialSupport.extractEncryptionKey(keyTransportCredential);
             log.trace("Evaluating key transport encryption credential of type: {}", 
                     key != null ? key.getAlgorithm() : "n/a");
         }
@@ -316,7 +325,7 @@
             @Nonnull final List<String> dataEncryptionAlgorithms) {
         
         if (log.isTraceEnabled()) {
-            Key key = CredentialSupport.extractSigningKey(dataEncryptionCredential);
+            Key key = CredentialSupport.extractEncryptionKey(dataEncryptionCredential);
             log.trace("Evaluating data encryption credential of type: {}", 
                     key != null ? key.getAlgorithm() : "n/a");
         }
@@ -387,6 +396,7 @@
      */
     @Nonnull protected List<String> getEffectiveDataEncryptionAlgorithms(@Nonnull final CriteriaSet criteria, 
             @Nonnull final Predicate<String> whitelistBlacklistPredicate) {
+        
         ArrayList<String> accumulator = new ArrayList<>();
         for (EncryptionConfiguration config : criteria.get(EncryptionConfigurationCriterion.class)
                 .getConfigurations()) {
@@ -427,6 +437,7 @@
      */
     @Nonnull protected List<String> getEffectiveKeyTransportAlgorithms(@Nonnull final CriteriaSet criteria, 
             @Nonnull final Predicate<String> whitelistBlacklistPredicate) {
+        
         ArrayList<String> accumulator = new ArrayList<>();
         for (EncryptionConfiguration config : criteria.get(EncryptionConfigurationCriterion.class)
                 .getConfigurations()) {
@@ -554,7 +565,7 @@
         try {
             return AlgorithmSupport.generateSymmetricKeyAndCredential(dataEncryptionAlgorithm);
         } catch (NoSuchAlgorithmException | KeyException e) {
-            log.warn("Could not generate a symmetric key credential from algorithm URI '{}'", dataEncryptionAlgorithm);

[... 5 lines stripped ...]


More information about the commits mailing list