[java-identity-provider] branch main updated: Parent config beans and other wiring related to encryption via key agreement
Brent Putman
putmanb at georgetown.edu
Tue Mar 2 00:25:40 UTC 2021
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=809fce3bceacfb26bce01129b7ee024048104763
The following commit(s) were added to refs/heads/main by this push:
new 809fce3bc Parent config beans and other wiring related to encryption via key agreement
809fce3bc is described below
commit 809fce3bceacfb26bce01129b7ee024048104763
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Thu Feb 25 23:54:11 2021 -0500
Parent config beans and other wiring related to encryption via key agreement
---
.../net/shibboleth/idp/conf/relying-party-system.xml | 15 +++++++++++++++
.../resources/net/shibboleth/idp/conf/security-system.xml | 3 ++-
idp-conf/src/main/resources/conf/idp.properties | 4 ++++
.../metadata/filter/impl/SignatureValidationParser.java | 2 ++
4 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml
index d394a29e2..230397741 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml
@@ -309,6 +309,19 @@
</list>
</property>
</bean>
+
+ <!-- Beans related to configuration of key agreement, mostly to provide abstract parent beans for impl classes -->
+
+ <bean id="shibboleth.KeyAgreement.Configuration" abstract="true"
+ class="org.opensaml.saml.security.SAMLMetadataKeyAgreementEncryptionConfiguration" />
+
+ <bean id="shibboleth.KeyAgreement.ConcatKDF" abstract="true" class="org.opensaml.xmlsec.derivation.impl.ConcatKDF" />
+
+ <bean id="shibboleth.KeyAgreement.PBKDF2" abstract="true" class="org.opensaml.xmlsec.derivation.impl.PBKDF2" />
+
+ <bean id="shibboleth.KeyAgreement.DigestMethod" abstract="true" class="org.opensaml.xmlsec.agreement.impl.DigestMethod" />
+
+ <bean id="shibboleth.KeyAgreement.KANonce" abstract="true" class="org.opensaml.xmlsec.agreement.impl.KANonce" />
<bean id="shibboleth.MetadataPKIXValidationInformationResolver"
class="net.shibboleth.idp.saml.security.impl.MetadataPKIXValidationInformationResolver"
@@ -370,8 +383,10 @@
<list>
<bean class="org.opensaml.xmlsec.keyinfo.impl.provider.RSAKeyValueProvider" />
<bean class="org.opensaml.xmlsec.keyinfo.impl.provider.DSAKeyValueProvider" />
+ <bean class="org.opensaml.xmlsec.keyinfo.impl.provider.ECKeyValueProvider" />
<bean class="org.opensaml.xmlsec.keyinfo.impl.provider.DEREncodedKeyValueProvider" />
<bean class="org.opensaml.xmlsec.keyinfo.impl.provider.InlineX509DataProvider" />
+ <bean class="org.opensaml.xmlsec.keyinfo.impl.provider.AgreementMethodKeyInfoProvider" />
</list>
</constructor-arg>
</bean>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml
index a43cff844..efb7f9e06 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml
@@ -76,7 +76,8 @@
class="org.opensaml.xmlsec.impl.BasicDecryptionParametersResolver" />
<bean id="shibboleth.EncryptionParametersResolver"
class="org.opensaml.saml.security.impl.SAMLMetadataEncryptionParametersResolver"
- c:resolver-ref="shibboleth.MetadataCredentialResolver" />
+ c:resolver-ref="shibboleth.MetadataCredentialResolver"
+ p:defaultKeyAgreementUseKeyWrap="%{idp.encryption.keyagreement.metadata.defaultUseKeyWrap:Default}" />
<bean id="shibboleth.ClientTLSValidationParametersResolver"
class="org.opensaml.security.x509.tls.impl.BasicClientTLSValidationParametersResolver" />
<bean id="shibboleth.HttpClientSecurityParametersResolver"
diff --git a/idp-conf/src/main/resources/conf/idp.properties b/idp-conf/src/main/resources/conf/idp.properties
index 32411e8f2..b560da38f 100644
--- a/idp-conf/src/main/resources/conf/idp.properties
+++ b/idp-conf/src/main/resources/conf/idp.properties
@@ -76,6 +76,10 @@ idp.encryption.cert = %{idp.home}/credentials/idp-encryption.crt
# The new install default for encryption is now AES-GCM.
idp.encryption.config = shibboleth.EncryptionConfiguration.GCM
+# Sets the default strategy for key agreement key wrap usage for credentials from metadata,
+# if not otherwise configured on the security configuration
+#idp.encryption.keyagreement.metadata.defaultUseKeyWrap = Default
+
# Configures trust evaluation of keys used by services at runtime
# Internal default is Chaining, overriden for new installs
idp.trust.signatures = shibboleth.ExplicitKeySignatureTrustEngine
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java
index bc7bba63f..5a97f9db7 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java
@@ -28,6 +28,7 @@ import org.opensaml.security.credential.impl.StaticCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.BasicProviderKeyInfoCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.KeyInfoProvider;
import org.opensaml.xmlsec.keyinfo.impl.provider.DSAKeyValueProvider;
+import org.opensaml.xmlsec.keyinfo.impl.provider.ECKeyValueProvider;
import org.opensaml.xmlsec.keyinfo.impl.provider.InlineX509DataProvider;
import org.opensaml.xmlsec.keyinfo.impl.provider.RSAKeyValueProvider;
import org.opensaml.xmlsec.signature.support.impl.ExplicitKeySignatureTrustEngine;
@@ -175,6 +176,7 @@ public class SignatureValidationParser extends AbstractCustomBeanDefinitionParse
final List<KeyInfoProvider> keyInfoProviders = new ArrayList<>();
keyInfoProviders.add(new DSAKeyValueProvider());
keyInfoProviders.add(new RSAKeyValueProvider());
+ keyInfoProviders.add(new ECKeyValueProvider());
keyInfoProviders.add(new InlineX509DataProvider());
trustEngineBuilder.addConstructorArgValue(new BasicProviderKeyInfoCredentialResolver(keyInfoProviders));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list