[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