[java-opensaml COMMIT] in /trunk: opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryp...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Sep 19 18:40:20 EDT 2014
Author: putmanb
Date: Fri Sep 19 18:40:19 2014
New Revision: 4024
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4024&view=rev
Log:
Apply algorithm runtime support checking to resolution of RSAOAEPParameters digest method algorithm.
Note: checking of MGF algorithm deliberately not implemented (yet). There are issues with this,
it may or may not be possible.
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java
trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java?rev=4024&r1=4023&r2=4024&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java Fri Sep 19 18:40:19 2014
@@ -243,11 +243,14 @@
@Nonnull final EncryptionMethod encryptionMethod,
@Nonnull final Predicate<String> whitelistBlacklistPredicate) {
+ Predicate<String> algoSupportPredicate = getAlgorithmRuntimeSupportedPredicate();
+
List<XMLObject> digestMethods = encryptionMethod.getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME);
if (digestMethods.size() > 0) {
DigestMethod digestMethod = (DigestMethod) digestMethods.get(0);
String digestAlgorithm = StringSupport.trimOrNull(digestMethod.getAlgorithm());
- if (digestAlgorithm != null && whitelistBlacklistPredicate.apply(digestAlgorithm)) {
+ if (digestAlgorithm != null && whitelistBlacklistPredicate.apply(digestAlgorithm)
+ && algoSupportPredicate.apply(digestAlgorithm)) {
params.setDigestMethod(digestAlgorithm);
}
}
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=4024&r1=4023&r2=4024&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 Fri Sep 19 18:40:19 2014
@@ -347,9 +347,12 @@
* @param whitelistBlacklistPredicate the whitelist/blacklist predicate with which to evaluate the
* candidate data encryption and key transport algorithm URIs
*/
+ // Checkstyle: CyclomaticComplexity -- more readable not split up
protected void populateRSAOAEPParams(@Nonnull final RSAOAEPParameters rsaParams,
@Nonnull final CriteriaSet criteria,
@Nonnull final Predicate<String> whitelistBlacklistPredicate) {
+
+ Predicate<String> algoSupportPredicate = getAlgorithmRuntimeSupportedPredicate();
for (EncryptionConfiguration config : criteria.get(EncryptionConfigurationCriterion.class)
.getConfigurations()) {
@@ -358,7 +361,8 @@
if (rsaConfig != null) {
if (rsaParams.getDigestMethod() == null) {
if (rsaConfig.getDigestMethod() != null
- && whitelistBlacklistPredicate.apply(rsaConfig.getDigestMethod())) {
+ && whitelistBlacklistPredicate.apply(rsaConfig.getDigestMethod())
+ && algoSupportPredicate.apply(rsaConfig.getDigestMethod())) {
rsaParams.setDigestMethod(rsaConfig.getDigestMethod());
}
}
@@ -377,6 +381,7 @@
}
}
+ // Checkstyle:CyclomaticComplexity ON
/**
* Determine the key transport encryption algorithm URI to use with the specified key transport credential
More information about the commits
mailing list