[java-oidc-common] branch dev/JCOMOIDC-41 updated: Create a JWT version of the Signature signing config class
Phil Smart
philip.smart at jisc.ac.uk
Thu Aug 18 15:46:55 UTC 2022
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch dev/JCOMOIDC-41
in repository java-oidc-common.
View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=69918264572bed4a13f80087f2ebe5ac5daa3b76
The following commit(s) were added to refs/heads/dev/JCOMOIDC-41 by this push:
new 6991826 Create a JWT version of the Signature signing config class
6991826 is described below
commit 69918264572bed4a13f80087f2ebe5ac5daa3b76
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Thu Aug 18 16:46:49 2022 +0100
Create a JWT version of the Signature signing config class
---
.../security/JWTSignatureSigningConfiguration.java | 30 +++++++
.../JWTSignatureSigningConfigurationCriterion.java | 88 ++++++++++++++++++++
.../impl/BasicJWTEncryptionParametersResolver.java | 2 +-
.../BasicJWTSignatureSigningConfiguration.java | 93 ++++++++++++++++++++++
...BasicJWTSignatureSigningParametersResolver.java | 15 ++--
.../PopulateJWTSignatureSigningParameters.java | 14 +---
...pulateJWTSignatureSigningParametersHandler.java | 31 +++-----
.../profile/config/OIDCSecurityConfiguration.java | 9 ++-
8 files changed, 239 insertions(+), 43 deletions(-)
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningConfiguration.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningConfiguration.java
new file mode 100644
index 0000000..91f1d2a
--- /dev/null
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningConfiguration.java
@@ -0,0 +1,30 @@
+package net.shibboleth.oidc.security;
+
+import java.util.List;
+
+import javax.annotation.Nonnull;
+
+import org.opensaml.security.credential.Credential;
+import org.opensaml.xmlsec.AlgorithmPolicyConfiguration;
+
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+
+public interface JWTSignatureSigningConfiguration extends AlgorithmPolicyConfiguration {
+
+ /**
+ * Get the list of signing credentials to use when signing, in preference order.
+ *
+ * @return the list of signing credentials, may be empty
+ */
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getSigningCredentials();
+
+ /**
+ * Get the list of preferred signature algorithm URIs, in preference order.
+ *
+ * @return the list of algorithm URIs, may be empty
+ */
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getSignatureAlgorithms();
+
+}
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/criterion/JWTSignatureSigningConfigurationCriterion.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/criterion/JWTSignatureSigningConfigurationCriterion.java
new file mode 100644
index 0000000..a2d0c49
--- /dev/null
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/criterion/JWTSignatureSigningConfigurationCriterion.java
@@ -0,0 +1,88 @@
+package net.shibboleth.oidc.security.criterion;
+
+import java.util.List;
+
+import javax.annotation.Nonnull;
+
+import org.opensaml.xmlsec.criterion.SignatureSigningConfigurationCriterion;
+
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.resolver.Criterion;
+
+public class JWTSignatureSigningConfigurationCriterion implements Criterion {
+
+ /** The list of configuration instances. */
+ @Nonnull @NonnullElements private final List<JWTSignatureSigningConfiguration> configs;
+
+ /**
+ * Constructor.
+ *
+ * @param configurations list of configuration instances
+ */
+ public JWTSignatureSigningConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
+ List<JWTSignatureSigningConfiguration> configurations) {
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
+
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param configurations varargs array of configuration instances
+ */
+ public JWTSignatureSigningConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
+ JWTSignatureSigningConfiguration... configurations) {
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
+ }
+
+ /**
+ * Get the list of configuration instances.
+ * @return the list of configuration instances
+ */
+ @Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
+ public List<JWTSignatureSigningConfiguration> getConfigurations() {
+ return configs;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("JWTSignatureSigningConfigurationCriterion [configs=");
+ builder.append(configs);
+ builder.append("]");
+ return builder.toString();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public int hashCode() {
+ return configs.hashCode();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+
+ if (obj == null) {
+ return false;
+ }
+
+ if (obj instanceof JWTSignatureSigningConfigurationCriterion) {
+ return configs.equals(((JWTSignatureSigningConfigurationCriterion) obj).getConfigurations());
+ }
+
+ return false;
+ }
+
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTEncryptionParametersResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTEncryptionParametersResolver.java
index 8f7dcbc..93e1ce0 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTEncryptionParametersResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTEncryptionParametersResolver.java
@@ -310,7 +310,7 @@ public class BasicJWTEncryptionParametersResolver extends AbstractSecurityParame
for (final JWEAlgorithm algorithm : keyTransportAlgorithms) {
- if (JWEAlgorithm.DIR == algorithm) {
+ if (JWEAlgorithm.DIR.equals(algorithm)) {
// Is a direct encryption type, so need to populate the data enc. creds.
final Credential localCred =
findCredentialThatSupportsAlgorithm(dataEncryptionCredentials, algorithm);
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningConfiguration.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningConfiguration.java
new file mode 100644
index 0000000..3df19c9
--- /dev/null
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningConfiguration.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.oidc.security.impl;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import org.opensaml.security.credential.Credential;
+import org.opensaml.xmlsec.impl.BasicAlgorithmPolicyConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
+public class BasicJWTSignatureSigningConfiguration extends BasicAlgorithmPolicyConfiguration
+ implements JWTSignatureSigningConfiguration {
+
+ /** Class logger. */
+ @Nonnull private final Logger log = LoggerFactory.getLogger(BasicJWTSignatureSigningConfiguration.class);
+
+ /** Signing credentials. */
+ @Nonnull @NonnullElements private List<Credential> signingCredentials;
+
+ /** Signature method algorithm URIs. */
+ @Nonnull @NonnullElements private List<String> signatureAlgorithms;
+
+ /** Constructor. */
+ public BasicJWTSignatureSigningConfiguration() {
+ signingCredentials = Collections.emptyList();
+ signatureAlgorithms = Collections.emptyList();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getSigningCredentials() {
+ return signingCredentials;
+ }
+
+ /**
+ * Set the signing credentials to use when signing.
+ *
+ * @param credentials the list of signing credentials
+ */
+ public void setSigningCredentials(@Nullable @NonnullElements final List<Credential> credentials) {
+ if (credentials == null) {
+ signingCredentials = Collections.emptyList();
+ } else {
+ signingCredentials = List.copyOf(credentials);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getSignatureAlgorithms() {
+ return signatureAlgorithms;
+ }
+
+ /**
+ * Set the signature algorithms to use when signing.
+ *
+ * @param algorithms the list of signature algorithms
+ */
+ public void setSignatureAlgorithms(@Nullable @NonnullElements final List<String> algorithms) {
+ if (algorithms == null) {
+ signatureAlgorithms = Collections.emptyList();
+ } else {
+ signatureAlgorithms = List.copyOf(StringSupport.normalizeStringCollection(algorithms));
+ }
+ }
+
+}
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningParametersResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningParametersResolver.java
index 41f39bd..223c68e 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningParametersResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningParametersResolver.java
@@ -28,7 +28,6 @@ import javax.annotation.Nullable;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialSupport;
-import org.opensaml.xmlsec.SignatureSigningConfiguration;
import org.opensaml.xmlsec.algorithm.AlgorithmRegistry;
import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
import org.opensaml.xmlsec.criterion.SignatureSigningConfigurationCriterion;
@@ -38,8 +37,10 @@ import org.opensaml.xmlsec.impl.BasicSignatureSigningParametersResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
import net.shibboleth.oidc.security.JWTSignatureSigningParametersResolver;
+import net.shibboleth.oidc.security.criterion.JWTSignatureSigningConfigurationCriterion;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.PredicateSupport;
@@ -110,7 +111,7 @@ public class BasicJWTSignatureSigningParametersResolver
@Nullable
public JWTSignatureSigningParameters resolveSingle(@Nonnull final CriteriaSet criteria) throws ResolverException {
Constraint.isNotNull(criteria, "CriteriaSet was null");
- Constraint.isNotNull(criteria.get(SignatureSigningConfigurationCriterion.class),
+ Constraint.isNotNull(criteria.get(JWTSignatureSigningConfigurationCriterion.class),
"Resolver requires an instance of SignatureSigningConfigurationCriterion");
final Predicate<String> includeExcludePredicate = getIncludeExcludePredicate(criteria);
@@ -174,7 +175,7 @@ public class BasicJWTSignatureSigningParametersResolver
*/
@Nonnull protected Predicate<String> getIncludeExcludePredicate(@Nonnull final CriteriaSet criteria) {
return resolveIncludeExcludePredicate(criteria,
- criteria.get(SignatureSigningConfigurationCriterion.class).getConfigurations());
+ criteria.get(JWTSignatureSigningConfigurationCriterion.class).getConfigurations());
}
/**
@@ -244,8 +245,8 @@ public class BasicJWTSignatureSigningParametersResolver
*/
@Nonnull protected List<Credential> getEffectiveSigningCredentials(@Nonnull final CriteriaSet criteria) {
final ArrayList<Credential> accumulator = new ArrayList<>();
- for (final SignatureSigningConfiguration config : criteria.get(SignatureSigningConfigurationCriterion.class)
- .getConfigurations()) {
+ for (final JWTSignatureSigningConfiguration config :
+ criteria.get(JWTSignatureSigningConfigurationCriterion.class).getConfigurations()) {
accumulator.addAll(config.getSigningCredentials());
@@ -264,8 +265,8 @@ public class BasicJWTSignatureSigningParametersResolver
@Nonnull protected List<String> getEffectiveSignatureAlgorithms(@Nonnull final CriteriaSet criteria,
@Nonnull final Predicate<String> includeExcludePredicate) {
final ArrayList<String> accumulator = new ArrayList<>();
- for (final SignatureSigningConfiguration config : criteria.get(SignatureSigningConfigurationCriterion.class)
- .getConfigurations()) {
+ for (final JWTSignatureSigningConfiguration config :
+ criteria.get(JWTSignatureSigningConfigurationCriterion.class).getConfigurations()) {
config.getSignatureAlgorithms()
.stream()
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParameters.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParameters.java
index 55f7e96..84536d1 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParameters.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParameters.java
@@ -21,6 +21,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.oidc.metadata.context.OIDCMetadataContext;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
import net.shibboleth.oidc.security.JWTSignatureSigningParametersResolver;
import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
@@ -43,7 +44,7 @@ public class PopulateJWTSignatureSigningParameters
/** Strategy used to look up a per-request {@link SignatureSigningConfiguration} list. */
@NonnullAfterInit
- private Function<ProfileRequestContext, List<SignatureSigningConfiguration>> configurationLookupStrategy;
+ private Function<ProfileRequestContext, List<JWTSignatureSigningConfiguration>> configurationLookupStrategy;
/** Strategy used to look up a OIDC client metadata context. */
@Nullable private Function<ProfileRequestContext, OIDCMetadataContext> oidcClientMetadataContextLookupStrategy;
@@ -133,7 +134,7 @@ public class PopulateJWTSignatureSigningParameters
* @param strategy lookup strategy
*/
public void setConfigurationLookupStrategy(
- @Nonnull final Function<ProfileRequestContext, List<SignatureSigningConfiguration>> strategy) {
+ @Nonnull final Function<ProfileRequestContext, List<JWTSignatureSigningConfiguration>> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
configurationLookupStrategy =
@@ -174,14 +175,7 @@ public class PopulateJWTSignatureSigningParameters
if (resolver == null) {
throw new ComponentInitializationException("SignatureSigningParametersResolver cannot be null");
- } else if (configurationLookupStrategy == null) {
- configurationLookupStrategy = new Function<>() {
- public List<SignatureSigningConfiguration> apply(final ProfileRequestContext input) {
- return Collections.singletonList(
- SecurityConfigurationSupport.getGlobalSignatureSigningConfiguration());
- }
- };
- }
+ }
final PopulateJWTSignatureSigningParametersHandler delegate = getDelegate();
delegate.setNoResultIsError(noResultIsError);
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParametersHandler.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParametersHandler.java
index 707fc29..f1243cb 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParametersHandler.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/PopulateJWTSignatureSigningParametersHandler.java
@@ -17,7 +17,6 @@
package net.shibboleth.oidc.security.impl;
-import java.util.Collections;
import java.util.List;
import java.util.function.Function;
@@ -30,10 +29,6 @@ import org.opensaml.messaging.context.navigate.RecursiveTypedParentContextLookup
import org.opensaml.messaging.handler.AbstractMessageHandler;
import org.opensaml.messaging.handler.MessageHandlerException;
import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.xmlsec.SecurityConfigurationSupport;
-import org.opensaml.xmlsec.SignatureSigningConfiguration;
-import org.opensaml.xmlsec.context.SecurityParametersContext;
-import org.opensaml.xmlsec.criterion.SignatureSigningConfigurationCriterion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,10 +36,12 @@ import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.oidc.metadata.context.OIDCMetadataContext;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
import net.shibboleth.oidc.security.JWTSignatureSigningParametersResolver;
import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
import net.shibboleth.oidc.security.criterion.ClientInformationCriterion;
+import net.shibboleth.oidc.security.criterion.JWTSignatureSigningConfigurationCriterion;
import net.shibboleth.oidc.security.criterion.ProviderMetadataCriterion;
import net.shibboleth.oidc.security.criterion.StaticCredentialCriterion;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
@@ -66,8 +63,8 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
/** Strategy used to look up an existing {@link JWTSecurityParametersContext} to copy. */
@Nullable private Function<MessageContext,JWTSecurityParametersContext> existingParametersContextLookupStrategy;
- /** Strategy used to look up a per-request {@link SignatureSigningConfiguration} list. */
- @NonnullAfterInit private Function<MessageContext, List<SignatureSigningConfiguration>> configurationLookupStrategy;
+ /** Strategy used to look up a per-request {@link JWTSignatureSigningConfiguration} list. */
+ @NonnullAfterInit private Function<MessageContext, List<JWTSignatureSigningConfiguration>> configurationLookupStrategy;
/** Strategy used to look up a OIDC client metadata context. */
@Nonnull private Function<MessageContext, OIDCMetadataContext> oidcClientMetadataContextLookupStrategy;
@@ -108,7 +105,7 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
}
/**
- * Set the strategy used to look up the {@link SecurityParametersContext} to set the parameters for.
+ * Set the strategy used to look up the {@link JWTSecurityParametersContext} to set the parameters for.
*
* @param strategy lookup strategy
*/
@@ -172,12 +169,12 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
}
/**
- * Set the strategy used to look up a per-request {@link SignatureSigningConfiguration} list.
+ * Set the strategy used to look up a per-request {@link JWTSignatureSigningConfiguration} list.
*
* @param strategy lookup strategy
*/
public void setConfigurationLookupStrategy(
- @Nonnull final Function<MessageContext, List<SignatureSigningConfiguration>> strategy) {
+ @Nonnull final Function<MessageContext, List<JWTSignatureSigningConfiguration>> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
configurationLookupStrategy =
@@ -206,15 +203,7 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
if (resolver == null) {
throw new ComponentInitializationException("SignatureSigningParametersResolver cannot be null");
- } else if (configurationLookupStrategy == null) {
- configurationLookupStrategy = new Function<MessageContext, List<SignatureSigningConfiguration>>() {
- @Override
- public List<SignatureSigningConfiguration> apply(final MessageContext input) {
- return Collections
- .singletonList(SecurityConfigurationSupport.getGlobalSignatureSigningConfiguration());
- }
- };
- }
+ }
}
/** {@inheritDoc} */
@@ -249,13 +238,13 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
}
}
- final List<SignatureSigningConfiguration> configs = configurationLookupStrategy.apply(messageContext);
+ final List<JWTSignatureSigningConfiguration> configs = configurationLookupStrategy.apply(messageContext);
if (configs == null || configs.isEmpty()) {
log.error("{} No SignatureSigningConfiguration returned by lookup strategy", getLogPrefix());
throw new MessageHandlerException("No SignatureSigningConfiguration returned by lookup strategy");
}
- final CriteriaSet criteria = new CriteriaSet(new SignatureSigningConfigurationCriterion(configs));
+ final CriteriaSet criteria = new CriteriaSet(new JWTSignatureSigningConfigurationCriterion(configs));
// Add client metadata criterion
final OIDCMetadataContext oidcMetadataCtx = oidcClientMetadataContextLookupStrategy.apply(messageContext);
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
index 24b72b8..35e4e4b 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
@@ -26,6 +26,7 @@ import com.nimbusds.jwt.SignedJWT;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
/**
* Class extends SecurityConfiguration to support separate configuration for request object decryption and signature
@@ -50,7 +51,7 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
/** Configuration used when singing request objects. */
@Nullable
- private SignatureSigningConfiguration requestObjectSignatureSigningConfig;
+ private JWTSignatureSigningConfiguration requestObjectSignatureSigningConfig;
/** Configuration used when validating token endpoint authentication JWT signatures. */
@Nullable
@@ -115,7 +116,7 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
*
* @param config configuration used when encrypting RequestObject JWTs, or null
*/
- public void setRequestObjectEncryptionConfig(@Nullable final JWTEncryptionConfiguration config) {
+ public void setRequestObjectEncryptionConfiguration(@Nullable final JWTEncryptionConfiguration config) {
requestObjectEncryptionConfig = config;
}
@@ -153,7 +154,7 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
* @return configuration used when signing request object information, or null
*/
@Nullable
- public SignatureSigningConfiguration getRequestObjectSignatureSigningConfiguration() {
+ public JWTSignatureSigningConfiguration getRequestObjectSignatureSigningConfiguration() {
return requestObjectSignatureSigningConfig;
}
@@ -162,7 +163,7 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
*
* @param config used when signing request object information, or null
*/
- public void setRequestObjectSignatureSigningConfiguration(@Nullable final SignatureSigningConfiguration config) {
+ public void setRequestObjectSignatureSigningConfiguration(@Nullable final JWTSignatureSigningConfiguration config) {
requestObjectSignatureSigningConfig = config;
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list