[java-oidc-common] branch main updated: Deprecate the function using the deprecated style of OIDCSecurityConfiguration.

Henri Mikkonen henri.mikkonen at iki.fi
Thu Jan 5 13:02:20 UTC 2023


This is an automated email from the git hooks/post-receive script.

hjmikkon pushed a commit to branch main
in repository java-oidc-common.

View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=5fbbc81cae5001d290e28deb9d6f411cdb0e1a3f

The following commit(s) were added to refs/heads/main by this push:
     new 5fbbc81  Deprecate the function using the deprecated style of OIDCSecurityConfiguration.
5fbbc81 is described below

commit 5fbbc81cae5001d290e28deb9d6f411cdb0e1a3f
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Thu Jan 5 14:59:17 2023 +0200

    Deprecate the function using the deprecated style of OIDCSecurityConfiguration.
    
    Added three new functions to be used for similar functionality:
    - JWEKeyTransportEncryptionAlgorithmsLookupFunction
    - JWEDataEncryptionAlgorithmsLookupFunction
    - JWSSignatureAlgorithmsLookupFunction
---
 .../DataEncryptionAlgorithmsLookupFunction.java    |  3 +++
 ...JWEDataEncryptionAlgorithmsLookupFunction.java} | 26 +++++++++++++--------
 ...ansportEncryptionAlgorithmsLookupFunction.java} | 27 ++++++++++++++--------
 ...a => JWSSignatureAlgorithmsLookupFunction.java} | 26 +++++++++++++--------
 ...ransportEncryptionAlgorithmsLookupFunction.java |  3 +++
 ...bjectDecryptionConfigurationLookupFunction.java |  3 +++
 ...atureValidationConfigurationLookupFunction.java |  3 +++
 .../SignatureAlgorithmsLookupFunction.java         |  3 +++
 ...atureValidationConfigurationLookupFunction.java |  3 +++
 9 files changed, 70 insertions(+), 27 deletions(-)

diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
index e544455..c0b4292 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
@@ -36,7 +36,10 @@ import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFun
  * <p>
  * If a specific setting is unavailable, an empty list is returned.
  * </p>
+ * 
+ * @deprecated
  */
+ at Deprecated(since="2.2.0", forRemoval=true)
 public class DataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
 
     /** {@inheritDoc} */
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java
similarity index 61%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java
index e544455..aa1f4f1 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java
@@ -20,35 +20,43 @@ package net.shibboleth.oidc.profile.config.navigate;
 import java.util.Collections;
 import java.util.List;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.xmlsec.EncryptionConfiguration;
 
+import net.shibboleth.idp.profile.config.SecurityConfiguration;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
 
 /**
- * A function that returns {@link EncryptionConfiguration#getDataEncryptionAlgorithms()} if it is available in the
- * security configuration of the profile configuration. The profile configuration is fetched from the
+ * A function that returns {@link JWTEncryptionConfiguration#getDataEncryptionAlgorithms()} if it is available in the
+ * OIDC security configuration of the profile configuration. The profile configuration is fetched from the
  * {@link RelyingPartyContext} obtained via a lookup function, by default a child of the {@link ProfileRequestContext}.
  * 
  * <p>
  * If a specific setting is unavailable, an empty list is returned.
  * </p>
+ *
+ * @since 2.2.0
  */
-public class DataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
+public class JWEDataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
 
     /** {@inheritDoc} */
-    @Nullable
+    @Nonnull
     public List<String> apply(@Nullable final ProfileRequestContext input) {
         final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
         if (rpc != null && rpc.getProfileConfig() != null
                 && rpc.getProfileConfig().getSecurityConfiguration(input) != null) {
-            final EncryptionConfiguration encryptionConfig =
-                    rpc.getProfileConfig().getSecurityConfiguration(input).getEncryptionConfiguration();
-            if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
-                return encryptionConfig.getDataEncryptionAlgorithms();
+            final SecurityConfiguration secConfig = rpc.getProfileConfig().getSecurityConfiguration(input);
+            if (secConfig instanceof OIDCSecurityConfiguration) {
+                final JWTEncryptionConfiguration encryptionConfig =
+                    ((OIDCSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
+                if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
+                    return encryptionConfig.getDataEncryptionAlgorithms();
+                }
             }
         }
         return Collections.emptyList();
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java
similarity index 60%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java
index e544455..e04f069 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java
@@ -20,35 +20,44 @@ package net.shibboleth.oidc.profile.config.navigate;
 import java.util.Collections;
 import java.util.List;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.xmlsec.EncryptionConfiguration;
 
+import net.shibboleth.idp.profile.config.SecurityConfiguration;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
 
 /**
- * A function that returns {@link EncryptionConfiguration#getDataEncryptionAlgorithms()} if it is available in the
- * security configuration of the profile configuration. The profile configuration is fetched from the
+ * A function that returns {@link JWTEncryptionConfiguration#getKeyTransportEncryptionAlgorithms()} if it is available
+ * in the OIDC security configuration of the profile configuration. The profile configuration is fetched from the
  * {@link RelyingPartyContext} obtained via a lookup function, by default a child of the {@link ProfileRequestContext}.
  * 
  * <p>
  * If a specific setting is unavailable, an empty list is returned.
  * </p>
+ *
+ * @since 2.2.0
  */
-public class DataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
+public class JWEKeyTransportEncryptionAlgorithmsLookupFunction
+        extends AbstractRelyingPartyLookupFunction<List<String>> {
 
     /** {@inheritDoc} */
-    @Nullable
+    @Nonnull
     public List<String> apply(@Nullable final ProfileRequestContext input) {
         final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
         if (rpc != null && rpc.getProfileConfig() != null
                 && rpc.getProfileConfig().getSecurityConfiguration(input) != null) {
-            final EncryptionConfiguration encryptionConfig =
-                    rpc.getProfileConfig().getSecurityConfiguration(input).getEncryptionConfiguration();
-            if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
-                return encryptionConfig.getDataEncryptionAlgorithms();
+            final SecurityConfiguration secConfig = rpc.getProfileConfig().getSecurityConfiguration(input);
+            if (secConfig instanceof OIDCSecurityConfiguration) {
+                final JWTEncryptionConfiguration encryptionConfig =
+                    ((OIDCSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
+                if (encryptionConfig != null && encryptionConfig.getKeyTransportEncryptionAlgorithms() != null) {
+                    return encryptionConfig.getKeyTransportEncryptionAlgorithms();
+                }
             }
         }
         return Collections.emptyList();
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java
similarity index 61%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java
index e544455..b1113e4 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DataEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java
@@ -20,35 +20,43 @@ package net.shibboleth.oidc.profile.config.navigate;
 import java.util.Collections;
 import java.util.List;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.xmlsec.EncryptionConfiguration;
 
+import net.shibboleth.idp.profile.config.SecurityConfiguration;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
 
 /**
- * A function that returns {@link EncryptionConfiguration#getDataEncryptionAlgorithms()} if it is available in the
- * security configuration of the profile configuration. The profile configuration is fetched from the
+ * A function that returns {@link JWTSignatureSigningConfiguration#getSignatureAlgorithms()} if it is available in the
+ * OIDC security configuration of the profile configuration. The profile configuration is fetched from the
  * {@link RelyingPartyContext} obtained via a lookup function, by default a child of the {@link ProfileRequestContext}.
  * 
  * <p>
  * If a specific setting is unavailable, an empty list is returned.
  * </p>
+ *
+ * @since 2.2.0
  */
-public class DataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
+public class JWSSignatureAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
 
     /** {@inheritDoc} */
-    @Nullable
+    @Nonnull
     public List<String> apply(@Nullable final ProfileRequestContext input) {
         final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
         if (rpc != null && rpc.getProfileConfig() != null
                 && rpc.getProfileConfig().getSecurityConfiguration(input) != null) {
-            final EncryptionConfiguration encryptionConfig =
-                    rpc.getProfileConfig().getSecurityConfiguration(input).getEncryptionConfiguration();
-            if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
-                return encryptionConfig.getDataEncryptionAlgorithms();
+            final SecurityConfiguration secConfig = rpc.getProfileConfig().getSecurityConfiguration(input);
+            if (secConfig instanceof OIDCSecurityConfiguration) {
+                final JWTSignatureSigningConfiguration sigConfig =
+                        ((OIDCSecurityConfiguration) secConfig).getJwtSignatureSigningConfiguration();
+                if (sigConfig != null && sigConfig.getSignatureAlgorithms() != null) {
+                    return sigConfig.getSignatureAlgorithms();
+                }
             }
         }
         return Collections.emptyList();
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/KeyTransportEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/KeyTransportEncryptionAlgorithmsLookupFunction.java
index 783dbea..1dfe21e 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/KeyTransportEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/KeyTransportEncryptionAlgorithmsLookupFunction.java
@@ -36,7 +36,10 @@ import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFun
  * <p>
  * If a specific setting is unavailable, an empty list is returned.
  * </p>
+ * 
+ * @deprecated
  */
+ at Deprecated(since="2.2.0", forRemoval=true)
 public class KeyTransportEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
 
     /** {@inheritDoc} */
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectDecryptionConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectDecryptionConfigurationLookupFunction.java
index 438e00d..ee047c1 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectDecryptionConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectDecryptionConfigurationLookupFunction.java
@@ -39,7 +39,10 @@ import org.opensaml.xmlsec.EncryptionConfiguration;
  * <p>
  * If a specific setting is unavailable, a null value is returned.
  * </p>
+ * 
+ * @deprecated
  */
+ at Deprecated(since="2.2.0", forRemoval=true)
 public class RequestObjectDecryptionConfigurationLookupFunction
         extends AbstractRelyingPartyLookupFunction<List<EncryptionConfiguration>> {
 
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectSignatureValidationConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectSignatureValidationConfigurationLookupFunction.java
index 9ad203e..dbabdab 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectSignatureValidationConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RequestObjectSignatureValidationConfigurationLookupFunction.java
@@ -39,7 +39,10 @@ import org.opensaml.xmlsec.SignatureSigningConfiguration;
  * <p>
  * If a specific setting is unavailable, a null value is returned.
  * </p>
+ * 
+ * @deprecated
  */
+ at Deprecated(since="2.2.0", forRemoval=true)
 public class RequestObjectSignatureValidationConfigurationLookupFunction
         extends AbstractRelyingPartyLookupFunction<List<SignatureSigningConfiguration>> {
 
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SignatureAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SignatureAlgorithmsLookupFunction.java
index 7b71c5f..dc338d5 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SignatureAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SignatureAlgorithmsLookupFunction.java
@@ -36,7 +36,10 @@ import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFun
  * <p>
  * If a specific setting is unavailable, an empty list is returned.
  * </p>
+ * 
+ * @deprecated
  */
+ at Deprecated(since="2.2.0", forRemoval=true)
 public class SignatureAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
 
     /** {@inheritDoc} */
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointJwtSignatureValidationConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointJwtSignatureValidationConfigurationLookupFunction.java
index 7f724bf..6e01061 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointJwtSignatureValidationConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointJwtSignatureValidationConfigurationLookupFunction.java
@@ -39,7 +39,10 @@ import org.opensaml.xmlsec.SignatureSigningConfiguration;
  * <p>
  * If a specific setting is unavailable, a null value is returned.
  * </p>
+ * 
+ * @deprecated
  */
+ at Deprecated(since="2.2.0", forRemoval=true)
 public class TokenEndpointJwtSignatureValidationConfigurationLookupFunction
         extends AbstractRelyingPartyLookupFunction<List<SignatureSigningConfiguration>> {
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list