[java-identity-provider COMMIT] in /trunk/idp-profile-spring/src: main/java/net/shibboleth/idp/profile/spring/relying...
noreply at shibboleth.net
noreply at shibboleth.net
Wed May 28 23:26:30 EDT 2014
Author: scantor
Date: Wed May 28 23:26:30 2014
New Revision: 5993
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5993&view=rev
Log:
Implement a default decryption configuration for legacy use.
Modified:
trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileConfigurationParser.java
trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml
Modified: trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileConfigurationParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileConfigurationParser.java?rev=5993&r1=5992&r2=5993&view=diff
==============================================================================
--- trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileConfigurationParser.java (original)
+++ trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileConfigurationParser.java Wed May 28 23:26:30 2014
@@ -27,10 +27,13 @@
import net.shibboleth.idp.saml.profile.config.logic.LegacyEncryptionRequirementPredicate;
import net.shibboleth.idp.saml.profile.config.logic.LegacySigningRequirementPredicate;
import net.shibboleth.idp.spring.SpringSupport;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import org.opensaml.xmlsec.impl.BasicDecryptionConfiguration;
import org.opensaml.xmlsec.impl.BasicSignatureSigningConfiguration;
+import org.opensaml.xmlsec.keyinfo.impl.StaticKeyInfoCredentialResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.BeanFactory;
@@ -50,6 +53,9 @@
*/
public abstract class BaseSAMLProfileConfigurationParser extends AbstractSingleBeanDefinitionParser {
+ /** Bean name of legacy EKR to load. */
+ @Nonnull @NotEmpty private static final String DEFAULT_EKR = "shibboleth.LegacyRelyingParty.EncryptedKeyResolver";
+
/** Class logger. */
@Nonnull private Logger log = LoggerFactory.getLogger(BaseSAMLProfileConfigurationParser.class);
@@ -173,10 +179,11 @@
* Setup the {@link SecurityConfiguration} for this profile. We look first at the embedded beans for a bean of the
* correct type. Failing that we look for a defaultSigningCredential.
*
- * @param element the element with the profile in it.
- * @param builder the builder for the profile.
- */
- private void setSecurityConfiguration(Element element, BeanDefinitionBuilder builder) {
+ * @param element the element with the profile in it
+ * @param builder the builder for the profile
+ * @param parserContext the parser context
+ */
+ private void setSecurityConfiguration(Element element, BeanDefinitionBuilder builder, ParserContext parserContext) {
if (null != getEmbeddedBeans()) {
// Ask the embedded beans first
@@ -221,13 +228,25 @@
final BeanDefinitionBuilder signingConfiguration =
BeanDefinitionBuilder.genericBeanDefinition(BasicSignatureSigningConfiguration.class);
signingConfiguration.addPropertyReference("signingCredentials", credentialRef);
-
+
+ final BeanDefinitionBuilder decryptionConfiguration =
+ BeanDefinitionBuilder.genericBeanDefinition(BasicDecryptionConfiguration.class);
+
+ decryptionConfiguration.addPropertyReference("encryptedKeyResolver", DEFAULT_EKR);
+
+ final BeanDefinitionBuilder staticKeyInfoCredentialResolver =
+ BeanDefinitionBuilder.genericBeanDefinition(StaticKeyInfoCredentialResolver.class);
+ staticKeyInfoCredentialResolver.addConstructorArgReference(credentialRef);
+
+ decryptionConfiguration.addPropertyValue("KEKKeyInfoCredentialResolver",
+ staticKeyInfoCredentialResolver.getBeanDefinition());
+
final BeanDefinitionBuilder configuration =
BeanDefinitionBuilder.genericBeanDefinition(SecurityConfiguration.class);
configuration.addPropertyValue("signatureSigningConfiguration", signingConfiguration.getBeanDefinition());
+ configuration.addPropertyValue("decryptionConfiguration", decryptionConfiguration.getBeanDefinition());
builder.addPropertyValue("securityConfiguration", configuration.getBeanDefinition());
-
}
/** {@inheritDoc} */
@@ -242,7 +261,7 @@
embeddedBeans = SpringSupport.createBeanFactory(springBeans.get(0));
}
- setSecurityConfiguration(element, builder);
[... 80 lines stripped ...]
More information about the commits
mailing list