[java-oidc-common] branch main updated: JCOMOIDC-60 - JWT class naming convention

Phil Smart philip.smart at jisc.ac.uk
Wed Jan 11 13:24:43 UTC 2023


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

philsmart 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=40689258e9225347d410668dc45a1cc76e1fdd95

The following commit(s) were added to refs/heads/main by this push:
     new 4068925  JCOMOIDC-60 - JWT class naming convention
4068925 is described below

commit 40689258e9225347d410668dc45a1cc76e1fdd95
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Wed Jan 11 13:24:40 2023 +0000

    JCOMOIDC-60 - JWT class naming convention
    
     - Remove JWT prefix from Parameter classes
     - Remove JWT prefix from parameter resolver interfaces and impl classes
     - Move those classes to jose package
     - Move supporting functions to jose package
    
    https://shibboleth.atlassian.net/browse/JCOMOIDC-60
---
 .../context/JWTSecurityParametersContext.java      | 32 ++++++++---------
 .../security/jose/DecryptionConfiguration.java     |  4 ++-
 .../DecryptionParameters.java}                     | 10 +++---
 .../DecryptionParametersResolver.java}             |  8 +++--
 .../security/jose/EncryptionConfiguration.java     |  2 ++
 .../EncryptionParameters.java}                     |  6 ++--
 .../EncryptionParametersResolver.java}             |  8 +++--
 .../jose/SignatureSigningConfiguration.java        |  2 ++
 .../SignatureSigningParameters.java}               |  6 ++--
 .../SignatureSigningParametersResolver.java}       |  8 +++--
 .../jose/SignatureValidationConfiguration.java     |  2 ++
 .../SignatureValidationParameters.java}            |  6 ++--
 .../SignatureValidationParametersResolver.java}    | 10 +++---
 .../package-info.java}                             | 13 ++-----
 .../impl/BasicJOSEObjectCredentialResolver.java    |  1 -
 .../impl/CredentialConversionUtil.java             |  2 +-
 .../impl/CriterionCredentialResolver.java          |  1 -
 .../impl/BasicJWKCredentialFactoryBean.java        |  1 +
 .../oidc/security/impl/EncryptJWTHandler.java      |  6 ++--
 .../oidc/security/impl/JWKCredentialSupport.java   |  1 +
 .../oidc/security/impl/JWTDecrypter.java           | 15 ++++----
 .../oidc/security/impl/SignJWTHandler.java         |  5 +--
 .../BasicSignatureSigningParametersResolver.java}  | 39 ++++++++++-----------
 ...asicSignatureValidationParametersResolver.java} | 26 +++++++-------
 ...tionDataEncryptionAlgorithmsLookupStrategy.java |  2 +-
 ...ransportEncryptionAlgorithmsLookupStrategy.java |  2 +-
 ...aultDataEncryptionAlgorithmsLookupStrategy.java |  3 +-
 .../impl/DefaultDecryptionParametersResolver.java} | 26 +++++++-------
 .../impl/DefaultEncryptionParametersResolver.java} | 35 ++++++++++---------
 ...ransportEncryptionAlgorithmsLookupStrategy.java |  3 +-
 ...dataDataEncryptionAlgorithmsLookupStrategy.java |  2 +-
 ...ransportEncryptionAlgorithmsLookupStrategy.java |  2 +-
 .../oidc/security/impl/EncryptJWTHandlerTest.java  | 16 ++++-----
 .../oidc/security/impl/JWTDecrypterTest.java       | 30 ++++++++--------
 ...DataEncryptionAlgorithmsLookupStrategyTest.java |  1 +
 ...portEncryptionAlgorithmsLookupStrategyTest.java |  1 +
 .../oidc/security/impl/SignJWTHandlerTest.java     | 10 +++---
 ...DataEncryptionAlgorithmsLookupStrategyTest.java |  3 +-
 .../DefaultEncryptionParametersResolverTest.java}  | 40 ++++++++++++----------
 ...portEncryptionAlgorithmsLookupStrategyTest.java |  3 +-
 .../impl/ClientInformationNodeProcessor.java       |  2 +-
 .../ext/impl/provider/InlineJwksProvider.java      |  2 +-
 .../impl/FormOutboundKeySetResponseMessage.java    |  2 +-
 .../impl/PopulateJWTDecryptionParameters.java      | 14 ++++----
 .../impl/PopulateJWTEncryptionParameters.java      | 14 ++++----
 .../PopulateJWTSignatureSigningParameters.java     | 10 +++---
 ...pulateJWTSignatureSigningParametersHandler.java | 12 +++----
 .../PopulateJWTSignatureValidationParameters.java  | 10 +++---
 ...ateJWTSignatureValidationParametersHandler.java | 12 +++----
 49 files changed, 248 insertions(+), 223 deletions(-)

diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/context/JWTSecurityParametersContext.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/context/JWTSecurityParametersContext.java
index 7a54b69..0a566a3 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/context/JWTSecurityParametersContext.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/context/JWTSecurityParametersContext.java
@@ -22,10 +22,10 @@ import javax.annotation.Nullable;
 
 import org.opensaml.messaging.context.BaseContext;
 
-import net.shibboleth.oidc.security.JWTDecryptionParameters;
-import net.shibboleth.oidc.security.JWTEncryptionParameters;
-import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
-import net.shibboleth.oidc.security.JWTSignatureValidationParameters;
+import net.shibboleth.oidc.security.jose.DecryptionParameters;
+import net.shibboleth.oidc.security.jose.EncryptionParameters;
+import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
+import net.shibboleth.oidc.security.jose.SignatureValidationParameters;
 
 /**
  * A context implementation for storing parameter instances for JWT signature signing and validation, and JWT
@@ -34,23 +34,23 @@ import net.shibboleth.oidc.security.JWTSignatureValidationParameters;
 public final class JWTSecurityParametersContext extends BaseContext {
     
     /** Signature validation parameters. */
-    @Nullable private JWTSignatureValidationParameters signatureValidationParameters;
+    @Nullable private SignatureValidationParameters signatureValidationParameters;
     
     /** Signature signing parameters.*/
-    @Nullable private JWTSignatureSigningParameters signatureSigningParameters;
+    @Nullable private SignatureSigningParameters signatureSigningParameters;
     
     /** Decryption parameters. */
-    @Nullable private JWTDecryptionParameters decryptionParameters;
+    @Nullable private DecryptionParameters decryptionParameters;
     
     /** Encryption parameters.*/
-    @Nullable private JWTEncryptionParameters encryptionParameters;
+    @Nullable private EncryptionParameters encryptionParameters;
      
     /**
      * Get the parameters to use for signature validation operations.
      * 
      * @return the parameters
      */
-    @Nullable public JWTSignatureValidationParameters getSignatureValidationParameters() {
+    @Nullable public SignatureValidationParameters getSignatureValidationParameters() {
         return signatureValidationParameters;
     }
 
@@ -62,7 +62,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * @return this context
      */
     @Nonnull public JWTSecurityParametersContext setSignatureValidationParameters(
-            @Nullable final JWTSignatureValidationParameters params) {
+            @Nullable final SignatureValidationParameters params) {
         signatureValidationParameters = params;
         return this;
     }
@@ -72,7 +72,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * 
      * @return the parameters
      */
-    @Nullable public JWTSignatureSigningParameters getSignatureSigningParameters() {
+    @Nullable public SignatureSigningParameters getSignatureSigningParameters() {
         return signatureSigningParameters;
     }
 
@@ -84,7 +84,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * @return this context
      */
     @Nonnull public JWTSecurityParametersContext setSignatureSigningParameters(
-            @Nullable final JWTSignatureSigningParameters params) {
+            @Nullable final SignatureSigningParameters params) {
         signatureSigningParameters = params;
         return this;
     }
@@ -94,7 +94,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * 
      * @return the parameters
      */
-    @Nullable public JWTDecryptionParameters getDecryptionParameters() {
+    @Nullable public DecryptionParameters getDecryptionParameters() {
         return decryptionParameters;
     }
 
@@ -106,7 +106,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * @return this context
      */
     @Nonnull public JWTSecurityParametersContext setDecryptionParameters(
-            @Nullable final JWTDecryptionParameters params) {
+            @Nullable final DecryptionParameters params) {
         decryptionParameters = params;
         return this;
     }
@@ -118,7 +118,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * 
      * @return this context
      */
-    public JWTSecurityParametersContext setEncryptionParameters(@Nullable final JWTEncryptionParameters params) {
+    public JWTSecurityParametersContext setEncryptionParameters(@Nullable final EncryptionParameters params) {
         encryptionParameters = params;
         return this;
     }
@@ -128,7 +128,7 @@ public final class JWTSecurityParametersContext extends BaseContext {
      * 
      * @return the parameters
      */
-    @Nullable public JWTEncryptionParameters getEncryptionParameters() {
+    @Nullable public EncryptionParameters getEncryptionParameters() {
         return encryptionParameters;
     }
 
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionConfiguration.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionConfiguration.java
index 6124948..31f9736 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionConfiguration.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionConfiguration.java
@@ -24,7 +24,9 @@ import org.opensaml.xmlsec.AlgorithmPolicyConfiguration;
 import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
 
 /**
- * The configuration information to use when decrypting encrypted JWTs.
+ * The configuration information to use when decrypting encrypted JWEs.
+ * 
+ * @since 2.2.0
  */
 public interface DecryptionConfiguration extends AlgorithmPolicyConfiguration {
     
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParameters.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionParameters.java
similarity index 94%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParameters.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionParameters.java
index 2d4edf1..ace736d 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParameters.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -27,9 +27,11 @@ import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 /**
- * Describes the decryption parameters the system is required to used to decrypt a JWT.  
+ * Describes the decryption parameters the system is required to used to decrypt a JWE.  
+ * 
+ * @since 2.2.0
  */
-public class JWTDecryptionParameters extends AlgorithmPolicyParameters {
+public class DecryptionParameters extends AlgorithmPolicyParameters {
     
     /** Carries additional criterion made available to the resolvers at runtime.*/
     @Nonnull private final CriteriaSet additionalCriteria;
@@ -41,7 +43,7 @@ public class JWTDecryptionParameters extends AlgorithmPolicyParameters {
     @Nullable private JOSEObjectCredentialResolver contentEncryptionKeyCredentialResolver;
     
     /** Constructor .*/
-    public JWTDecryptionParameters() {
+    public DecryptionParameters() {
         additionalCriteria = new CriteriaSet();
     }
     
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParametersResolver.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionParametersResolver.java
similarity index 78%
copy from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParametersResolver.java
copy to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionParametersResolver.java
index 7fd49c0..847fd5a 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParametersResolver.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/DecryptionParametersResolver.java
@@ -15,14 +15,16 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.Resolver;
 
 /**
- * An interface for components which resolve {@link JWTDecryptionParameters} based on a {@link CriteriaSet}.
+ * An interface for components which resolve {@link DecryptionParameters} based on a {@link CriteriaSet}.
+ * 
+ * @since 2.2.0
  */
-public interface JWTDecryptionParametersResolver extends Resolver<JWTDecryptionParameters, CriteriaSet> {
+public interface DecryptionParametersResolver extends Resolver<DecryptionParameters, CriteriaSet> {
 
 }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionConfiguration.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionConfiguration.java
index 470fd16..d5be267 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionConfiguration.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionConfiguration.java
@@ -31,6 +31,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 
 /**
  * The configuration information to use when generating an encrypted JWT.
+ * 
+ * @since 2.2.0
  */
 public interface EncryptionConfiguration extends AlgorithmPolicyConfiguration {
 
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTEncryptionParameters.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java
similarity index 97%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTEncryptionParameters.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java
index 2683b04..5e61cbf 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTEncryptionParameters.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import javax.annotation.Nullable;
 
@@ -23,8 +23,10 @@ import org.opensaml.security.credential.Credential;
 
 /**
  * The effective parameters to use when generating encrypted JWTs.
+ * 
+ * @since 2.2.0
  */
-public class JWTEncryptionParameters {
+public class EncryptionParameters {
     
     /** The EncryptedData encryption credential. */
     private Credential dataEncryptionCredential;
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTEncryptionParametersResolver.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParametersResolver.java
similarity index 78%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTEncryptionParametersResolver.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParametersResolver.java
index 1215f16..0e91ffa 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTEncryptionParametersResolver.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParametersResolver.java
@@ -15,14 +15,16 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.Resolver;
 
 /**
- * An interface for components which resolve {@link JWTEncryptionParameters} based on a {@link CriteriaSet}.
+ * An interface for components which resolve {@link EncryptionParameters} based on a {@link CriteriaSet}.
+ * 
+ * @since 2.2.0
  */
-public interface JWTEncryptionParametersResolver extends Resolver<JWTEncryptionParameters, CriteriaSet> {
+public interface EncryptionParametersResolver extends Resolver<EncryptionParameters, CriteriaSet> {
 
 }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningConfiguration.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningConfiguration.java
index 4b29272..563ca35 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningConfiguration.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningConfiguration.java
@@ -31,6 +31,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 
 /**
  * The configuration information to use when generating a signed JWT.
+ * 
+ * @since 2.2.0
  */
 public interface SignatureSigningConfiguration extends AlgorithmPolicyConfiguration {
     
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningParameters.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java
similarity index 95%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningParameters.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java
index e0f4148..5573221 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningParameters.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import javax.annotation.Nullable;
 
@@ -23,8 +23,10 @@ import org.opensaml.security.credential.Credential;
 
 /**
  * The effective parameters to use when generating a signed JWT.
+ * 
+ * @since 2.2.0
  */
-public class JWTSignatureSigningParameters {
+public class SignatureSigningParameters {
     
     /** The signing credential. */
     private Credential signingCredential;
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningParametersResolver.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParametersResolver.java
similarity index 77%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningParametersResolver.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParametersResolver.java
index da5c761..64774a3 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureSigningParametersResolver.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParametersResolver.java
@@ -15,14 +15,16 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.Resolver;
 
 /**
- * An interface for components which resolve {@link JWTSignatureSigningParameters} based on a {@link CriteriaSet}.
+ * An interface for components which resolve {@link SignatureSigningParameters} based on a {@link CriteriaSet}.
+ * 
+ * @since 2.2.0
  */
-public interface JWTSignatureSigningParametersResolver extends Resolver<JWTSignatureSigningParameters, CriteriaSet> {
+public interface SignatureSigningParametersResolver extends Resolver<SignatureSigningParameters, CriteriaSet> {
 
 }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationConfiguration.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationConfiguration.java
index cdc5b9d..625b08a 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationConfiguration.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationConfiguration.java
@@ -26,6 +26,8 @@ import com.nimbusds.jwt.SignedJWT;
 
 /**
  * The configuration information to use when validating a signed JWT.
+ * 
+ * @since 2.2.0
  */
 public interface SignatureValidationConfiguration extends AlgorithmPolicyConfiguration {
     
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureValidationParameters.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationParameters.java
similarity index 92%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureValidationParameters.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationParameters.java
index ab06577..b589e0f 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureValidationParameters.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationParameters.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import javax.annotation.Nullable;
 
@@ -26,8 +26,10 @@ import com.nimbusds.jwt.SignedJWT;
 
 /**
  * The effective parameters to use when validating a signed JWT.
+ * 
+ * @since 2.2.0
  */
-public class JWTSignatureValidationParameters extends AlgorithmPolicyParameters {
+public class SignatureValidationParameters extends AlgorithmPolicyParameters {
     
     /** The signature trust engine to use. */
     @Nullable private TrustEngine<SignedJWT> signatureTrustEngine;
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureValidationParametersResolver.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationParametersResolver.java
similarity index 75%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureValidationParametersResolver.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationParametersResolver.java
index 5fe7eaa..aa3f218 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTSignatureValidationParametersResolver.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureValidationParametersResolver.java
@@ -15,15 +15,17 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
+package net.shibboleth.oidc.security.jose;
 
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.Resolver;
 
 /**
- * An interface for components which resolve {@link JWTSignatureValidationParameters} based on a {@link CriteriaSet}.
+ * An interface for components which resolve {@link SignatureValidationParameters} based on a {@link CriteriaSet}.
+ * 
+ * @since 2.2.0
  */
-public interface JWTSignatureValidationParametersResolver extends 
-                            Resolver<JWTSignatureValidationParameters, CriteriaSet> {
+public interface SignatureValidationParametersResolver extends 
+                            Resolver<SignatureValidationParameters, CriteriaSet> {
 
 }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParametersResolver.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java
similarity index 67%
rename from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParametersResolver.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java
index 7fd49c0..dd48b15 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWTDecryptionParametersResolver.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java
@@ -15,14 +15,5 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security;
-
-import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.resolver.Resolver;
-
-/**
- * An interface for components which resolve {@link JWTDecryptionParameters} based on a {@link CriteriaSet}.
- */
-public interface JWTDecryptionParametersResolver extends Resolver<JWTDecryptionParameters, CriteriaSet> {
-
-}
+/** JOSE security API classes.*/
+package net.shibboleth.oidc.security.jose;
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java
index 0c1d282..1ae5518 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java
@@ -45,7 +45,6 @@ import net.shibboleth.oidc.security.credential.BasicJWKCredential;
 import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
 import net.shibboleth.oidc.security.criterion.JOSEObjectCriterion;
 import net.shibboleth.oidc.security.criterion.KeyIdCriterion;
-import net.shibboleth.oidc.security.impl.CredentialConversionUtil;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/CredentialConversionUtil.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CredentialConversionUtil.java
similarity index 99%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/CredentialConversionUtil.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CredentialConversionUtil.java
index 24c8859..75e9150 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/CredentialConversionUtil.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CredentialConversionUtil.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.credential.impl;
 
 import java.security.interfaces.ECPublicKey;
 import java.security.interfaces.RSAPublicKey;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CriterionCredentialResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CriterionCredentialResolver.java
index 2255893..ae4e80a 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CriterionCredentialResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CriterionCredentialResolver.java
@@ -28,7 +28,6 @@ import org.slf4j.LoggerFactory;
 
 import net.shibboleth.oidc.security.credential.JWKCredential;
 import net.shibboleth.oidc.security.criterion.StaticCredentialCriterion;
-import net.shibboleth.oidc.security.impl.CredentialConversionUtil;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWKCredentialFactoryBean.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWKCredentialFactoryBean.java
index 2389df9..549ebb5 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWKCredentialFactoryBean.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWKCredentialFactoryBean.java
@@ -39,6 +39,7 @@ import com.nimbusds.jose.jwk.OctetSequenceKey;
 
 import net.shibboleth.idp.profile.spring.factory.AbstractCredentialFactoryBean;
 import net.shibboleth.oidc.security.credential.BasicJWKCredential;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/EncryptJWTHandler.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/EncryptJWTHandler.java
index 615d8a8..17ec8ba 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/EncryptJWTHandler.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/EncryptJWTHandler.java
@@ -32,7 +32,6 @@ import org.opensaml.messaging.handler.AbstractMessageHandler;
 import org.opensaml.messaging.handler.MessageHandler;
 import org.opensaml.messaging.handler.MessageHandlerException;
 import org.opensaml.security.credential.Credential;
-import org.opensaml.xmlsec.EncryptionParameters;
 import org.opensaml.xmlsec.context.SecurityParametersContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,8 +48,9 @@ import com.nimbusds.jose.crypto.RSAEncrypter;
 import com.nimbusds.jwt.EncryptedJWT;
 import com.nimbusds.jwt.JWT;
 
-import net.shibboleth.oidc.security.JWTEncryptionParameters;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
+import net.shibboleth.oidc.security.jose.EncryptionParameters;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -79,7 +79,7 @@ public class EncryptJWTHandler extends AbstractMessageHandler {
     @NonnullAfterInit private BiConsumer<JWT, MessageContext> jwtUpdateConsumer;
     
     /** The signature signing parameters. */
-    @Nullable private JWTEncryptionParameters encryptionParameters;
+    @Nullable private EncryptionParameters encryptionParameters;
     
     /** A friendly name to log as the subject of encryption.*/
     @Nonnull private String logName;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWKCredentialSupport.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWKCredentialSupport.java
index 4e73cdf..216ff14 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWKCredentialSupport.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWKCredentialSupport.java
@@ -28,6 +28,7 @@ import com.nimbusds.oauth2.sdk.auth.Secret;
 import com.nimbusds.oauth2.sdk.jose.SecretKeyDerivation;
 
 import net.shibboleth.oidc.security.credential.JWKCredential;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 
 /** Provide JWK specific credential support.*/
 public final class JWKCredentialSupport {
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java
index e3326cc..fa5f2b9 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java
@@ -65,11 +65,12 @@ import com.nimbusds.jwt.EncryptedJWT;
 import com.nimbusds.jwt.JWT;
 import com.nimbusds.jwt.JWTParser;
 
-import net.shibboleth.oidc.security.JWTDecryptionParameters;
 import net.shibboleth.oidc.security.credential.JWKCredential;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 import net.shibboleth.oidc.security.credential.impl.EvaluableKeyIDCredentialCriterion;
 import net.shibboleth.oidc.security.criterion.JOSEObjectCriterion;
 import net.shibboleth.oidc.security.criterion.KeyIdCriterion;
+import net.shibboleth.oidc.security.jose.DecryptionParameters;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
@@ -92,7 +93,7 @@ public class JWTDecrypter {
     private final Logger log = LoggerFactory.getLogger(JWTDecrypter.class);
 
     /** The JWT decryption parameters. */
-    private final JWTDecryptionParameters params;
+    private final DecryptionParameters params;
 
     /**
      * 
@@ -100,7 +101,7 @@ public class JWTDecrypter {
      *
      * @param decryptionParams the parameters to use during decryption
      */
-    public JWTDecrypter(@Nonnull final JWTDecryptionParameters decryptionParams) {
+    public JWTDecrypter(@Nonnull final DecryptionParameters decryptionParams) {
         params = Constraint.isNotNull(decryptionParams, "Decryption params can not be null");
     }
 
@@ -307,7 +308,7 @@ public class JWTDecrypter {
     
     /**
      * Decrypt the encrypted JWT by computing the content encryption key using Elliptic Curve Diffie-Hellman key
-     * agreement. The private EC key is resolved from the {@link JWTDecryptionParameters#getKEKCredentialResolver()}. 
+     * agreement. The private EC key is resolved from the {@link DecryptionParameters#getKEKCredentialResolver()}. 
      * 
      * <p>For each credential, algorithm compatibly is checked against that described by the JWE and any
      * includes and excludes lists configured.</p>
@@ -351,7 +352,7 @@ public class JWTDecrypter {
     /**
      * Decrypt the encrypted JWT by first decrypting the wrapped content encryption key using on of the shared 
      * key wrapping keys derived from a symmetric key resolved by the 
-     * {@link JWTDecryptionParameters#getKEKCredentialResolver()} resolver. 
+     * {@link DecryptionParameters#getKEKCredentialResolver()} resolver. 
      * 
      * <p>For each credential, algorithm compatibly is checked against that described by the JWE and any
      * includes and excludes lists configured.</p>
@@ -407,7 +408,7 @@ public class JWTDecrypter {
 
     /**
      * Decrypt the encrypted JWT by first decrypting the content encryption key using one of the (asymmetric) 
-     * key encryption keys resolved by the {@link JWTDecryptionParameters#getKEKCredentialResolver()} resolver. 
+     * key encryption keys resolved by the {@link DecryptionParameters#getKEKCredentialResolver()} resolver. 
      * 
      * 
      * <p>For each credential, algorithm compatibly is checked against that described by the JWE and any
@@ -451,7 +452,7 @@ public class JWTDecrypter {
 
     /**
      * Decrypt the encrypted JWT using direct encryption. One of the shared symmetric keys resolved by the
-     * {@link JWTDecryptionParameters#getContentEncryptionKeyCredentialResolver()} is used to derive
+     * {@link DecryptionParameters#getContentEncryptionKeyCredentialResolver()} is used to derive
      * a content encryption key to decrypt the JWT - if any are appropriate.
      * 
      * <p>For each credential, algorithm compatibly is checked against that described by the JWE and any
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/SignJWTHandler.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/SignJWTHandler.java
index 4d7e6d9..f1f46cd 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/SignJWTHandler.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/SignJWTHandler.java
@@ -47,9 +47,10 @@ import com.nimbusds.jwt.JWT;
 import com.nimbusds.jwt.JWTClaimsSet;
 import com.nimbusds.jwt.SignedJWT;
 
-import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
 import net.shibboleth.oidc.security.credential.JWKCredential;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
+import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -76,7 +77,7 @@ public class SignJWTHandler extends AbstractMessageHandler {
     @NonnullAfterInit private Function<MessageContext, JWTClaimsSet> claimsToSignLookupStrategy;    
        
     /** The signature signing parameters. */
-    @Nullable private JWTSignatureSigningParameters signatureSigningParameters;
+    @Nullable private SignatureSigningParameters signatureSigningParameters;
     
     /** resolved credential. */
     @Nullable private Credential credential;
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/jose/impl/BasicSignatureSigningParametersResolver.java
similarity index 86%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureSigningParametersResolver.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningParametersResolver.java
index 0062e73..932cf2d 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/jose/impl/BasicSignatureSigningParametersResolver.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.security.Key;
 import java.util.ArrayList;
@@ -30,17 +30,15 @@ import org.opensaml.security.credential.Credential;
 import org.opensaml.security.credential.CredentialSupport;
 import org.opensaml.xmlsec.algorithm.AlgorithmRegistry;
 import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
-import org.opensaml.xmlsec.criterion.SignatureSigningConfigurationCriterion;
 import org.opensaml.xmlsec.impl.AbstractSecurityParametersResolver;
 import org.opensaml.xmlsec.impl.AlgorithmRuntimeSupportedPredicate;
-import org.opensaml.xmlsec.impl.BasicSignatureSigningParametersResolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
-import net.shibboleth.oidc.security.JWTSignatureSigningParametersResolver;
 import net.shibboleth.oidc.security.criterion.JWTSignatureSigningConfigurationCriterion;
 import net.shibboleth.oidc.security.jose.SignatureSigningConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
+import net.shibboleth.oidc.security.jose.SignatureSigningParametersResolver;
 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;
@@ -49,28 +47,27 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
  * 
- * Basic implementation of an {@link JWTSignatureSigningParametersResolver}.
+ * Basic implementation of an {@link SignatureSigningParametersResolver}.
  * 
  * <p>
  * The following {@link net.shibboleth.utilities.java.support.resolver.Criterion} inputs are supported:
  * </p>
  * <ul>
- * <li>{@link SignatureSigningConfigurationCriterion} - required</li> 
+ * <li>{@link JWTSignatureSigningConfigurationCriterion} - required</li> 
  * </ul>
- * <p>See also (for the SAML case) {@link BasicSignatureSigningParametersResolver}.</p>
  */
-public class BasicJWTSignatureSigningParametersResolver 
-            extends AbstractSecurityParametersResolver<JWTSignatureSigningParameters> 
-                    implements JWTSignatureSigningParametersResolver {
+public class BasicSignatureSigningParametersResolver 
+            extends AbstractSecurityParametersResolver<SignatureSigningParameters> 
+                    implements SignatureSigningParametersResolver {
     
     /** Class logger.*/
-    private final Logger log = LoggerFactory.getLogger(BasicJWTSignatureSigningParametersResolver.class);
+    private final Logger log = LoggerFactory.getLogger(BasicSignatureSigningParametersResolver.class);
     
     /** The AlgorithmRegistry used when processing algorithm URIs. */
     private AlgorithmRegistry algorithmRegistry;
     
     /** Constructor. */
-    public BasicJWTSignatureSigningParametersResolver() {
+    public BasicSignatureSigningParametersResolver() {
         algorithmRegistry = AlgorithmSupport.getGlobalAlgorithmRegistry();
     }
     
@@ -100,9 +97,9 @@ public class BasicJWTSignatureSigningParametersResolver
 
     @Override
     @Nonnull
-    public Iterable<JWTSignatureSigningParameters> resolve(
+    public Iterable<SignatureSigningParameters> resolve(
             @Nonnull final CriteriaSet criteria) throws ResolverException {
-        final JWTSignatureSigningParameters params = resolveSingle(criteria);
+        final SignatureSigningParameters params = resolveSingle(criteria);
         if (params != null) {
             return Collections.singletonList(params);
         }
@@ -111,14 +108,14 @@ public class BasicJWTSignatureSigningParametersResolver
 
     @Override
     @Nullable
-    public JWTSignatureSigningParameters resolveSingle(@Nonnull final CriteriaSet criteria) throws ResolverException {
+    public SignatureSigningParameters resolveSingle(@Nonnull final CriteriaSet criteria) throws ResolverException {
         Constraint.isNotNull(criteria, "CriteriaSet was null");
         Constraint.isNotNull(criteria.get(JWTSignatureSigningConfigurationCriterion.class), 
                 "Resolver requires an instance of SignatureSigningConfigurationCriterion");
         
         final Predicate<String> includeExcludePredicate = getIncludeExcludePredicate(criteria);
         
-        final JWTSignatureSigningParameters params = new JWTSignatureSigningParameters();
+        final SignatureSigningParameters params = new SignatureSigningParameters();
         
         resolveAndPopulateCredentialAndSignatureAlgorithm(params, criteria, includeExcludePredicate);
         
@@ -134,7 +131,7 @@ public class BasicJWTSignatureSigningParametersResolver
      * 
      * @param params the resolved param
      */
-    protected void logResult(@Nonnull final JWTSignatureSigningParameters params) {
+    protected void logResult(@Nonnull final SignatureSigningParameters params) {
         if (log.isDebugEnabled()) {
             log.debug("Resolved SignatureSigningParameters:");
             
@@ -150,14 +147,14 @@ public class BasicJWTSignatureSigningParametersResolver
     }
     
     /**
-     * Validate that the {@link JWTSignatureSigningParameters} instance has all the required 
+     * Validate that the {@link SignatureSigningParameters} instance has all the required 
      * properties populated.
      * 
      * @param params the parameters instance to evaluate
      * 
      * @return true if parameters instance passes validation, false otherwise
      */
-    protected boolean validate(@Nonnull final JWTSignatureSigningParameters params) {
+    protected boolean validate(@Nonnull final SignatureSigningParameters params) {
         if (params.getSigningCredential() == null) {
             log.warn("Validation failure: Unable to resolve signing credential");
             return false;
@@ -191,7 +188,7 @@ public class BasicJWTSignatureSigningParametersResolver
      *          candidate signing method algorithm URIs
      */
     protected void resolveAndPopulateCredentialAndSignatureAlgorithm(
-            @Nonnull final JWTSignatureSigningParameters params, 
+            @Nonnull final SignatureSigningParameters params, 
             @Nonnull final CriteriaSet criteria, final Predicate<String> includeExcludePredicate) {
         
         final List<Credential> credentials = getEffectiveSigningCredentials(criteria);
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureValidationParametersResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureValidationParametersResolver.java
similarity index 80%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureValidationParametersResolver.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureValidationParametersResolver.java
index 9709cfe..b779873 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BasicJWTSignatureValidationParametersResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureValidationParametersResolver.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.Collections;
 
@@ -30,17 +30,17 @@ import org.slf4j.LoggerFactory;
 
 import com.nimbusds.jwt.SignedJWT;
 
-import net.shibboleth.oidc.security.JWTSignatureValidationParameters;
-import net.shibboleth.oidc.security.JWTSignatureValidationParametersResolver;
 import net.shibboleth.oidc.security.criterion.JWTSignatureValidationConfigurationCriterion;
 import net.shibboleth.oidc.security.jose.SignatureValidationConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureValidationParameters;
+import net.shibboleth.oidc.security.jose.SignatureValidationParametersResolver;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 
 /**
- * Basic implementation of {@link JWTSignatureValidationParametersResolver}.
+ * Basic implementation of {@link SignatureValidationParametersResolver}.
  * 
  * <p>
  * The following {@link net.shibboleth.utilities.java.support.resolver.Criterion} inputs are supported:
@@ -49,22 +49,22 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * <li>{@link JWTSignatureValidationConfigurationCriterion} - required</li> 
  * </ul>
  */
-public class BasicJWTSignatureValidationParametersResolver
-        extends AbstractSecurityParametersResolver<JWTSignatureValidationParameters>
-        implements JWTSignatureValidationParametersResolver {
+public class BasicSignatureValidationParametersResolver
+        extends AbstractSecurityParametersResolver<SignatureValidationParameters>
+        implements SignatureValidationParametersResolver {
 
     /** Logger. */
     @Nonnull
     private final Logger log =
-            LoggerFactory.getLogger(BasicJWTSignatureValidationParametersResolver.class);
+            LoggerFactory.getLogger(BasicSignatureValidationParametersResolver.class);
 
     /** {@inheritDoc} */
     @Override
     @Nonnull
-    public Iterable<JWTSignatureValidationParameters> resolve(@Nonnull final CriteriaSet criteria)
+    public Iterable<SignatureValidationParameters> resolve(@Nonnull final CriteriaSet criteria)
             throws ResolverException {
 
-        final JWTSignatureValidationParameters params = resolveSingle(criteria);
+        final SignatureValidationParameters params = resolveSingle(criteria);
         if (params != null) {
             return Collections.singletonList(params);
         }
@@ -74,13 +74,13 @@ public class BasicJWTSignatureValidationParametersResolver
     /** {@inheritDoc} */
     @Override
     @Nullable
-    public JWTSignatureValidationParameters resolveSingle(
+    public SignatureValidationParameters resolveSingle(
             @Nonnull final CriteriaSet criteria) throws ResolverException {
         Constraint.isNotNull(criteria, "CriteriaSet was null");
         Constraint.isNotNull(criteria.get(JWTSignatureValidationConfigurationCriterion.class),
                 "Resolver requires an instance of SignatureValidationConfigurationCriterion");
 
-        final JWTSignatureValidationParameters params = new JWTSignatureValidationParameters();
+        final SignatureValidationParameters params = new SignatureValidationParameters();
 
         resolveAndPopulateIncludesExcludes(params, criteria,
                 criteria.get(JWTSignatureValidationConfigurationCriterion.class).getConfigurations());
@@ -97,7 +97,7 @@ public class BasicJWTSignatureValidationParametersResolver
      * 
      * @param params the resolved param
      */
-    protected void logResult(@Nonnull final JWTSignatureValidationParameters params) {
+    protected void logResult(@Nonnull final SignatureValidationParameters params) {
         if (log.isDebugEnabled()) {
             log.debug("Resolved JWT SignatureValidationParameters:");
 
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ClientInformationDataEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ClientInformationDataEncryptionAlgorithmsLookupStrategy.java
similarity index 99%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ClientInformationDataEncryptionAlgorithmsLookupStrategy.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ClientInformationDataEncryptionAlgorithmsLookupStrategy.java
index c1e82f7..65ff96b 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ClientInformationDataEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ClientInformationDataEncryptionAlgorithmsLookupStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ClientInformationKeyTransportEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ClientInformationKeyTransportEncryptionAlgorithmsLookupStrategy.java
similarity index 99%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ClientInformationKeyTransportEncryptionAlgorithmsLookupStrategy.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ClientInformationKeyTransportEncryptionAlgorithmsLookupStrategy.java
index 81d576f..024f017 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ClientInformationKeyTransportEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ClientInformationKeyTransportEncryptionAlgorithmsLookupStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
similarity index 96%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
index ea96889..0516a8e 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -27,6 +27,7 @@ import javax.annotation.Nullable;
 import org.opensaml.xmlsec.algorithm.AlgorithmRegistry;
 
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
+import net.shibboleth.oidc.security.impl.AbstractEncryptionAlgorithmsLookupStrategy;
 import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
 import net.shibboleth.utilities.java.support.logic.PredicateSupport;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultJWTDecryptionParametersResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDecryptionParametersResolver.java
similarity index 84%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultJWTDecryptionParametersResolver.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDecryptionParametersResolver.java
index 76488e4..6dbc734 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultJWTDecryptionParametersResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDecryptionParametersResolver.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.Collections;
 
@@ -27,17 +27,17 @@ import org.opensaml.xmlsec.impl.AbstractSecurityParametersResolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import net.shibboleth.oidc.security.JWTDecryptionParameters;
-import net.shibboleth.oidc.security.JWTDecryptionParametersResolver;
 import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
 import net.shibboleth.oidc.security.criterion.JWTDecryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.jose.DecryptionConfiguration;
+import net.shibboleth.oidc.security.jose.DecryptionParameters;
+import net.shibboleth.oidc.security.jose.DecryptionParametersResolver;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
- * Basic implementation of {@link JWTDecryptionParametersResolver}.
+ * Basic implementation of {@link DecryptionParametersResolver}.
  * 
  * <p>
  * The following {@link net.shibboleth.utilities.java.support.resolver.Criterion} inputs are supported:
@@ -45,16 +45,18 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * <ul>
  * <li>{@link JWTDecryptionConfigurationCriterion} - required</li> 
  * </ul>
+ * 
+ * @since 2.2.0
  */
-public class DefaultJWTDecryptionParametersResolver extends AbstractSecurityParametersResolver<JWTDecryptionParameters>
-    implements JWTDecryptionParametersResolver {
+public class DefaultDecryptionParametersResolver extends AbstractSecurityParametersResolver<DecryptionParameters>
+    implements DecryptionParametersResolver {
     
     /** Logger. */
-    private final Logger log = LoggerFactory.getLogger(DefaultJWTDecryptionParametersResolver.class);
+    private final Logger log = LoggerFactory.getLogger(DefaultDecryptionParametersResolver.class);
    
     @Override
-    public Iterable<JWTDecryptionParameters> resolve(final CriteriaSet criteria) throws ResolverException {
-        final JWTDecryptionParameters params = resolveSingle(criteria);
+    public Iterable<DecryptionParameters> resolve(final CriteriaSet criteria) throws ResolverException {
+        final DecryptionParameters params = resolveSingle(criteria);
         if (params != null) {
             return Collections.singletonList(params);
         }
@@ -62,12 +64,12 @@ public class DefaultJWTDecryptionParametersResolver extends AbstractSecurityPara
     }
 
     @Override
-    public JWTDecryptionParameters resolveSingle(final CriteriaSet criteria) throws ResolverException {
+    public DecryptionParameters resolveSingle(final CriteriaSet criteria) throws ResolverException {
         Constraint.isNotNull(criteria, "CriteriaSet was null");
         Constraint.isNotNull(criteria.get(JWTDecryptionConfigurationCriterion.class), 
                 "Resolver requires an instance of DecryptionConfigurationCriterion");
 
-        final JWTDecryptionParameters params = new JWTDecryptionParameters();
+        final DecryptionParameters params = new DecryptionParameters();
         
         resolveAndPopulateIncludesExcludes(params, criteria, 
                 criteria.get(JWTDecryptionConfigurationCriterion.class).getConfigurations());
@@ -130,7 +132,7 @@ public class DefaultJWTDecryptionParametersResolver extends AbstractSecurityPara
      * 
      * @param params the resolved param
      */
-    protected void logResult(@Nonnull final JWTDecryptionParameters params) {
+    protected void logResult(@Nonnull final DecryptionParameters params) {
         if (log.isDebugEnabled()) {
             log.debug("Resolved DecryptionParameters:");
             
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultJWTEncryptionParametersResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolver.java
similarity index 96%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultJWTEncryptionParametersResolver.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolver.java
index 683ddf8..3db66aa 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultJWTEncryptionParametersResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolver.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.security.Key;
 import java.util.ArrayList;
@@ -35,7 +35,6 @@ import org.opensaml.security.credential.CredentialSupport;
 import org.opensaml.security.credential.UsageType;
 import org.opensaml.security.credential.criteria.impl.EvaluableUsageCredentialCriterion;
 import org.opensaml.security.criteria.UsageCriterion;
-import org.opensaml.xmlsec.EncryptionParametersResolver;
 import org.opensaml.xmlsec.algorithm.AlgorithmRegistry;
 import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
 import org.opensaml.xmlsec.criterion.EncryptionOptionalCriterion;
@@ -49,12 +48,14 @@ import com.nimbusds.jose.EncryptionMethod;
 import com.nimbusds.jose.JOSEException;
 import com.nimbusds.jose.JWEAlgorithm;
 
-import net.shibboleth.oidc.security.JWTEncryptionParameters;
-import net.shibboleth.oidc.security.JWTEncryptionParametersResolver;
 import net.shibboleth.oidc.security.credential.JWKCredential;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.criterion.ProviderMetadataCriterion;
+import net.shibboleth.oidc.security.impl.JWKCredentialSupport;
 import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.EncryptionParameters;
+import net.shibboleth.oidc.security.jose.EncryptionParametersResolver;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
@@ -90,11 +91,11 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * <li>{@link ProviderMetadataCriterion} - likely required for some downstream resolvers</li> 
  * </ul>
  */
-public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityParametersResolver<JWTEncryptionParameters> 
-        implements JWTEncryptionParametersResolver {
+public class DefaultEncryptionParametersResolver extends AbstractSecurityParametersResolver<EncryptionParameters> 
+        implements EncryptionParametersResolver {
     
     /** Logger. */
-    @Nonnull private final Logger log = LoggerFactory.getLogger(DefaultJWTEncryptionParametersResolver.class);
+    @Nonnull private final Logger log = LoggerFactory.getLogger(DefaultEncryptionParametersResolver.class);
     
     /** The AlgorithmRegistry used when processing algorithm URIs. */
     @Nonnull private AlgorithmRegistry algorithmRegistry;
@@ -114,7 +115,7 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
     private BiFunction<CriteriaSet, Predicate<String>, List<String>> keyTransportEncryptionAlgorithmsLookupStrategy;
     
     /** Constructor. */
-    public DefaultJWTEncryptionParametersResolver() {
+    public DefaultEncryptionParametersResolver() {
         algorithmRegistry = AlgorithmSupport.getGlobalAlgorithmRegistry();
         keyTransportEncryptionAlgorithmsLookupStrategy = 
                 new DefaultKeyTransportEncryptionAlgorithmsLookupStrategy(null);
@@ -172,9 +173,9 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
 
     /** {@inheritDoc} */
     @Override
-    @Nonnull public Iterable<JWTEncryptionParameters> resolve(@Nonnull final CriteriaSet criteria) 
+    @Nonnull public Iterable<EncryptionParameters> resolve(@Nonnull final CriteriaSet criteria) 
             throws ResolverException {
-        final JWTEncryptionParameters params = resolveSingle(criteria);
+        final EncryptionParameters params = resolveSingle(criteria);
         if (params != null) {
             return Collections.singletonList(params);
         }
@@ -183,7 +184,7 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public JWTEncryptionParameters resolveSingle(@Nonnull final CriteriaSet criteria) 
+    @Nullable public EncryptionParameters resolveSingle(@Nonnull final CriteriaSet criteria) 
             throws ResolverException {
         Constraint.isNotNull(criteria, "CriteriaSet was null");
         Constraint.isNotNull(criteria.get(JWTEncryptionConfigurationCriterion.class), 
@@ -191,7 +192,7 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
         
         final Predicate<String> includeExcludePredicate = getIncludeExcludePredicate(criteria);
         
-        final JWTEncryptionParameters params = new JWTEncryptionParameters();
+        final EncryptionParameters params = new EncryptionParameters();
         
         resolveAndPopulateCredentialsAndAlgorithms(params, criteria, includeExcludePredicate);
         
@@ -250,7 +251,7 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
      * 
      * @param params the resolved param
      */
-    protected void logResult(@Nonnull final JWTEncryptionParameters params) {
+    protected void logResult(@Nonnull final EncryptionParameters params) {
         if (log.isDebugEnabled()) {
             log.debug("Resolved EncryptionParameters:");
             
@@ -277,14 +278,14 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
 
 // Checkstyle: CyclomaticComplexity OFF
     /**
-     * Validate that the {@link JWTEncryptionParameters} instance has all the required properties populated.
+     * Validate that the {@link EncryptionParameters} instance has all the required properties populated.
      * 
      * @param params the parameters instance to evaluate
      * @param encryptionOptional whether to consider invalid parameters to be a problem
      * 
      * @return true if parameters instance passes validation, false otherwise
      */
-    protected boolean validate(@Nonnull final JWTEncryptionParameters params, final boolean encryptionOptional) {
+    protected boolean validate(@Nonnull final EncryptionParameters params, final boolean encryptionOptional) {
         if (params.getKeyTransportEncryptionCredential() == null 
                 && params.getDataEncryptionCredential() == null) {
             final String msg = "Validation failure: Failed to resolve an encryption key";
@@ -352,7 +353,7 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
      * @param includeExcludePredicate the include/exclude predicate with which to evaluate the 
      *          candidate data encryption and key transport algorithm URIs
      */
-    protected void resolveAndPopulateCredentialsAndAlgorithms(@Nonnull final JWTEncryptionParameters params, 
+    protected void resolveAndPopulateCredentialsAndAlgorithms(@Nonnull final EncryptionParameters params, 
             @Nonnull final CriteriaSet criteria, @Nonnull final Predicate<String> includeExcludePredicate) {
         
         if (!criteria.contains(JWTEncryptionConfigurationCriterion.class)) {
@@ -414,7 +415,7 @@ public class DefaultJWTEncryptionParametersResolver extends AbstractSecurityPara
             @Nonnull final List<EncryptionMethod> dataEncryptionAlgorithms,
             @Nonnull final List<Credential> keyTransportCredentials, 
             @Nonnull final List<Credential> dataEncryptionCredentials,
-            @Nonnull final JWTEncryptionParameters params) {
+            @Nonnull final EncryptionParameters params) {
         
         for (final JWEAlgorithm algorithm : keyTransportAlgorithms) {  
             
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategy.java
similarity index 96%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategy.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategy.java
index 83a4e7e..6ba1345 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -28,6 +28,7 @@ import javax.annotation.Nullable;
 import org.opensaml.xmlsec.algorithm.AlgorithmRegistry;
 
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
+import net.shibboleth.oidc.security.impl.AbstractEncryptionAlgorithmsLookupStrategy;
 import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
 import net.shibboleth.utilities.java.support.logic.PredicateSupport;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategy.java
similarity index 99%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategy.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategy.java
index b921d34..635e5c9 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy.java
similarity index 99%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy.java
index c5f9a21..f459b6d 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/EncryptJWTHandlerTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/EncryptJWTHandlerTest.java
index a493ed2..c26a385 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/EncryptJWTHandlerTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/EncryptJWTHandlerTest.java
@@ -55,8 +55,8 @@ import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
 import net.shibboleth.oidc.jwa.support.EncryptionConstants;
 import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
 import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
-import net.shibboleth.oidc.security.JWTEncryptionParameters;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
+import net.shibboleth.oidc.security.jose.EncryptionParameters;
 
 /** 
  * Tests for the {@link EncryptJWTHandler} message handler. 
@@ -121,7 +121,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     public void testEncryptRSA_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTEncryptionParameters();
+        final var params = new EncryptionParameters();
         params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM);
         params.setKeyTransportEncryptionAlgorithm(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
         
@@ -155,7 +155,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     public void testEncryptEC_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTEncryptionParameters();
+        final var params = new EncryptionParameters();
         params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM);
         params.setKeyTransportEncryptionAlgorithm(KeyManagementConstants.ALGO_ID_ALG_ECDH_ES);
         
@@ -189,7 +189,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     public void testEncryptDirect_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTEncryptionParameters();
+        final var params = new EncryptionParameters();
         params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM);
         params.setKeyTransportEncryptionAlgorithm(KeyManagementConstants.ALGO_ID_ALG_DIR);
 
@@ -219,7 +219,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     public void testKeyWrap_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTEncryptionParameters();
+        final var params = new EncryptionParameters();
         params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM);
         params.setKeyTransportEncryptionAlgorithm(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW);
 
@@ -249,7 +249,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     public void testEncryptDirect_Fail_WrongAlgorithmForCredential() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTEncryptionParameters();
+        final var params = new EncryptionParameters();
         params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM);
         params.setKeyTransportEncryptionAlgorithm(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
 
@@ -280,7 +280,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     public void testFail_IncorrectParamState() throws Exception {   
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTEncryptionParameters();
+        final var params = new EncryptionParameters();
         params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM);
         params.setKeyTransportEncryptionAlgorithm(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
         final var dirCred = TestCredentialHelper.createDirectEncryptionCredentialFromSharedSecret(CLIENT_SECRET);
@@ -307,7 +307,7 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
   public void testEncryptWithUnsupportedAlgorithm() throws Exception {
       
       final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-      final var params = new JWTEncryptionParameters();
+      final var params = new EncryptionParameters();
       params.setKeyTransportEncryptionAlgorithm("NotSupported");
       params.setDataEncryptionAlgorithm(EncryptionConstants.ALGO_ID_ENC_ALG_A128GCM);
       final RSAKey key = new RSAKeyGenerator(2048)
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java
index 8f0de0c..68747f4 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java
@@ -50,10 +50,10 @@ import com.nimbusds.jwt.JWT;
 import com.nimbusds.jwt.JWTClaimsSet;
 import com.nimbusds.jwt.SignedJWT;
 
-import net.shibboleth.oidc.security.JWTDecryptionParameters;
 import net.shibboleth.oidc.security.credential.BasicJWKCredential;
 import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
 import net.shibboleth.oidc.security.credential.JWKCredential;
+import net.shibboleth.oidc.security.jose.DecryptionParameters;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
@@ -110,7 +110,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new PasswordBasedEncrypter(CLIENT_SECRET.getBytes(StandardCharsets.UTF_8),8,1000));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());        
        
-        decrypter = new JWTDecrypter(new JWTDecryptionParameters());
+        decrypter = new JWTDecrypter(new DecryptionParameters());
         decrypter.decrypt(jwe);
     }
     
@@ -129,7 +129,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new AESEncrypter(cred.getSecretKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new JOSEObjectCredentialResolver() {
             
             @Override
@@ -174,7 +174,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new AESEncrypter(cred.getSecretKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new MockKeyWrapCriteriaFilteringCredentialResolver());
         decrypter = new JWTDecrypter(params);
         final JWT decryptedJWE = decrypter.decrypt(jwe);
@@ -200,7 +200,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new DirectEncrypter(cred.getSecretKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setContentEncryptionKeyCredentialResolver(new JOSEObjectCredentialResolver() {
             
             @Override
@@ -246,7 +246,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new DirectEncrypter(cred.getSecretKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setContentEncryptionKeyCredentialResolver(new MockDirCriteriaFilteringCredentialResolver());
         decrypter = new JWTDecrypter(params);
         final JWT decryptedJWE = decrypter.decrypt(jwe);
@@ -267,7 +267,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new DirectEncrypter(CLIENT_SECRET.getBytes(StandardCharsets.UTF_8)));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setContentEncryptionKeyCredentialResolver(new JOSEObjectCredentialResolver() {
             
             @Override
@@ -314,7 +314,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new DirectEncrypter(CLIENT_SECRET.getBytes(StandardCharsets.UTF_8)));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         // Wrong credential type used here
         params.setContentEncryptionKeyCredentialResolver(new JOSEObjectCredentialResolver() {
             
@@ -359,7 +359,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new AESEncrypter(CLIENT_SECRET.getBytes(StandardCharsets.UTF_8)));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new JOSEObjectCredentialResolver() {
             
             @Override
@@ -407,7 +407,7 @@ public class JWTDecrypterTest {
                 new Payload(createdSignedJWT()));
         jweObject.encrypt(new RSAEncrypter((RSAPublicKey) key.toPublicKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new JOSEObjectCredentialResolver() {
             
             @Override
@@ -455,7 +455,7 @@ public class JWTDecrypterTest {
                 new Payload(createdSignedJWT()));
         jweObject.encrypt(new RSAEncrypter((RSAPublicKey) key.toPublicKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new MockRSACriteriaFilteringCredentialResolver(key));
         decrypter = new JWTDecrypter(params);
         final JWT decryptedJWE = decrypter.decrypt(jwe);
@@ -491,7 +491,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new RSAEncrypter((RSAPublicKey) keyTwo.toPublicKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new MockRSAKeysCriteriaFilteringCredentialResolver(List.of(key, keyTwo)));
         decrypter = new JWTDecrypter(params);
         final JWT decryptedJWE = decrypter.decrypt(jwe);
@@ -524,7 +524,7 @@ public class JWTDecrypterTest {
         jweObject.encrypt(new RSAEncrypter((RSAPublicKey) keyTwo.toPublicKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
         
-        final var params = new JWTDecryptionParameters();        
+        final var params = new DecryptionParameters();        
         params.setKEKCredentialResolver(new MockRSAKeysCriteriaFilteringCredentialResolver(List.of(key, keyTwo)));
         decrypter = new JWTDecrypter(params);
         final JWT decryptedJWE = decrypter.decrypt(jwe);
@@ -549,7 +549,7 @@ public class JWTDecrypterTest {
                 new Payload(createdSignedJWT()));
         jweObject.encrypt(new ECDHEncrypter(key.toECPublicKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new JOSEObjectCredentialResolver() {
             
             @Override
@@ -597,7 +597,7 @@ public class JWTDecrypterTest {
                 new Payload(createdSignedJWT()));
         jweObject.encrypt(new ECDHEncrypter(key.toECPublicKey()));
         final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
-        final var params = new JWTDecryptionParameters();
+        final var params = new DecryptionParameters();
         params.setKEKCredentialResolver(new MockKeyAgreementCriteriaFilteringCredentialResolver(key));
         decrypter = new JWTDecrypter(params);
         final JWT decryptedJWE = decrypter.decrypt(jwe);
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategyTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategyTest.java
index fa12703..8519bc0 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategyTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataDataEncryptionAlgorithmsLookupStrategyTest.java
@@ -50,6 +50,7 @@ import net.shibboleth.oidc.jwa.support.EncryptionConstants;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.criterion.ProviderMetadataCriterion;
 import net.shibboleth.oidc.security.jose.impl.BasicEncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.impl.ProviderMetadataDataEncryptionAlgorithmsLookupStrategy;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 public class ProviderMetadataDataEncryptionAlgorithmsLookupStrategyTest {
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategyTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
index 79dc5fa..7440457 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
@@ -50,6 +50,7 @@ import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.criterion.ProviderMetadataCriterion;
 import net.shibboleth.oidc.security.jose.impl.BasicEncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.impl.ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategy;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 public class ProviderMetadataKeyTransportEncryptionAlgorithmsLookupStrategyTest {
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/SignJWTHandlerTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/SignJWTHandlerTest.java
index 14c69e7..d5ba4e4 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/SignJWTHandlerTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/SignJWTHandlerTest.java
@@ -42,8 +42,8 @@ import com.nimbusds.jwt.SignedJWT;
 import com.nimbusds.oauth2.sdk.id.ClientID;
 
 import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
-import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
+import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
 
 /** 
  * Tests for the SignJWT message handler. 
@@ -96,7 +96,7 @@ public class SignJWTHandlerTest extends AbstractHandlerTest {
     public void testSignHMAC_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTSignatureSigningParameters();
+        final var params = new SignatureSigningParameters();
         params.setSigningCredential(TestCredentialHelper.createClientSecretCredential(CLIENT_SECRET));
         params.setSignatureAlgorithm("HS256");
         secParamCtx.setSignatureSigningParameters(params);        
@@ -114,7 +114,7 @@ public class SignJWTHandlerTest extends AbstractHandlerTest {
     public void testSignHMAC_WrongCredentialType() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTSignatureSigningParameters();
+        final var params = new SignatureSigningParameters();
         params.setSigningCredential(TestCredentialHelper.createClientSecretCredential(CLIENT_SECRET));
         params.setSignatureAlgorithm("RS256");
         secParamCtx.setSignatureSigningParameters(params);        
@@ -132,7 +132,7 @@ public class SignJWTHandlerTest extends AbstractHandlerTest {
     public void testSignRS256_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTSignatureSigningParameters();
+        final var params = new SignatureSigningParameters();
         final RSAKey rsaKey = new RSAKeyGenerator(2048)
                 .keyID("1")
                 .keyUse(KeyUse.SIGNATURE)
@@ -154,7 +154,7 @@ public class SignJWTHandlerTest extends AbstractHandlerTest {
     public void testSignES256_Success() throws Exception {
         
         final JWTSecurityParametersContext secParamCtx = new JWTSecurityParametersContext();
-        final var params = new JWTSignatureSigningParameters();
+        final var params = new SignatureSigningParameters();
         final ECKey ecKey = new ECKeyGenerator(Curve.P_256)
                 .keyID("1")
                 .keyUse(KeyUse.SIGNATURE)
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
similarity index 96%
rename from oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
rename to oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
index f24d8d2..01ec0e2 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
@@ -35,6 +35,7 @@ import net.shibboleth.oidc.jwa.algorithm.descriptors.EncryptionA256CBCHS512;
 import net.shibboleth.oidc.jwa.support.EncryptionConstants;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.jose.impl.BasicEncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.impl.DefaultDataEncryptionAlgorithmsLookupStrategy;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultJWTEncryptionParametersResolverTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java
similarity index 94%
rename from oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultJWTEncryptionParametersResolverTest.java
rename to oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java
index 2dcef9c..d420718 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultJWTEncryptionParametersResolverTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 
 import static org.testng.Assert.assertEquals;
@@ -47,22 +47,24 @@ import com.nimbusds.jose.jwk.gen.RSAKeyGenerator;
 
 import net.shibboleth.oidc.jwa.support.EncryptionConstants;
 import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
-import net.shibboleth.oidc.security.JWTEncryptionParameters;
 import net.shibboleth.oidc.security.credential.BasicJWKCredential;
 import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
 import net.shibboleth.oidc.security.credential.JWKCredential;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.criterion.StaticCredentialCriterion;
+import net.shibboleth.oidc.security.impl.TestCredentialHelper;
+import net.shibboleth.oidc.security.jose.EncryptionParameters;
 import net.shibboleth.oidc.security.jose.impl.BasicEncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.impl.DefaultEncryptionParametersResolver;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
-public class DefaultJWTEncryptionParametersResolverTest {
+public class DefaultEncryptionParametersResolverTest {
     
     /** The mock symmetric key e.g. for keywrap.*/
     private static final String SYMMETRIC_KEY = "/A?D(G+KbPdSgVkYp3s6v9y$B&E)H at Mc";
     
-    private DefaultJWTEncryptionParametersResolver resolver;
+    private DefaultEncryptionParametersResolver resolver;
     
     private BasicEncryptionConfiguration config;
             
@@ -77,7 +79,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
             fail();
         }
         
-        resolver = new DefaultJWTEncryptionParametersResolver();        
+        resolver = new DefaultEncryptionParametersResolver();        
     }
     
     /** Mock static credential resolver that is filterable.*/
@@ -152,7 +154,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -184,7 +186,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNull(param);
 
@@ -208,7 +210,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         creds.add(cred);
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -239,7 +241,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         creds.add(TestCredentialHelper.createKeyEncryptionCredential(key)); 
         creds.add(TestCredentialHelper.createKeyEncryptionCredential(keyCorrect));
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -270,7 +272,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -295,7 +297,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticCriteriaFilteringCredentialResolver());
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -321,7 +323,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticCriteriaFilteringCredentialResolver());
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);            
+        final EncryptionParameters param = resolver.resolveSingle(criteria);            
         assertNull(param);
     }
     
@@ -344,7 +346,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -378,7 +380,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -412,7 +414,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -438,7 +440,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         criteria.add(new StaticCredentialCriterion(cred));
         config.setKEKCredentialResolver(new MockStaticCriteriaFilteringCredentialResolver());
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
@@ -462,7 +464,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         criteria.add(new StaticCredentialCriterion(cred));
         config.setKEKCredentialResolver(new MockStaticCriteriaFilteringCredentialResolver());
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNull(param);
        
@@ -483,7 +485,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         criteria.add(new StaticCredentialCriterion(TestCredentialHelper.createKeyEncryptionCredential(key)));
         
         config.setKEKCredentialResolver(new MockStaticCriteriaFilteringCredentialResolver());
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNull(param);
 
@@ -504,7 +506,7 @@ public class DefaultJWTEncryptionParametersResolverTest {
         
         config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
         
-        final JWTEncryptionParameters param = resolver.resolveSingle(criteria);
+        final EncryptionParameters param = resolver.resolveSingle(criteria);
         
         assertNotNull(param);
         assertNotNull(param.getDataEncryptionAlgorithm());
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
similarity index 96%
rename from oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
rename to oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
index bab5737..4dd05f9 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security.jose.impl;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
@@ -35,6 +35,7 @@ import net.shibboleth.oidc.jwa.algorithm.descriptors.SymmetricKeyWrapA128KW;
 import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.jose.impl.BasicEncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.impl.DefaultKeyTransportEncryptionAlgorithmsLookupStrategy;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
diff --git a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java
index 462dd34..89897b2 100644
--- a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java
+++ b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java
@@ -76,7 +76,7 @@ import net.shibboleth.oidc.saml.xmlobject.MetadataValueSAMLObject;
 import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
 import net.shibboleth.oidc.security.credential.JWKReferenceCredential;
 import net.shibboleth.oidc.security.credential.NimbusSecretCredential;
-import net.shibboleth.oidc.security.impl.CredentialConversionUtil;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
diff --git a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/keyinfo/ext/impl/provider/InlineJwksProvider.java b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/keyinfo/ext/impl/provider/InlineJwksProvider.java
index 1ed00d5..07138da 100644
--- a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/keyinfo/ext/impl/provider/InlineJwksProvider.java
+++ b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/keyinfo/ext/impl/provider/InlineJwksProvider.java
@@ -44,7 +44,7 @@ import com.nimbusds.jose.jwk.KeyType;
 import net.shibboleth.oidc.saml.xmlobject.JwksData;
 import net.shibboleth.oidc.security.credential.BasicJWKCredential;
 import net.shibboleth.oidc.security.credential.JWKCredential;
-import net.shibboleth.oidc.security.impl.CredentialConversionUtil;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 import net.shibboleth.utilities.java.support.codec.Base64Support;
 import net.shibboleth.utilities.java.support.codec.DecodingException;
 import net.shibboleth.utilities.java.support.collection.LazySet;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java
index 12a2fac..7c4f5ff 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java
@@ -43,7 +43,7 @@ import net.shibboleth.idp.profile.config.SecurityConfiguration;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
 import net.shibboleth.oidc.profile.messaging.JSONSuccessResponse;
-import net.shibboleth.oidc.security.impl.CredentialConversionUtil;
+import net.shibboleth.oidc.security.credential.impl.CredentialConversionUtil;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java
index 6f99d81..4326730 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java
@@ -35,12 +35,12 @@ import org.slf4j.LoggerFactory;
 import net.shibboleth.idp.profile.AbstractProfileAction;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
-import net.shibboleth.oidc.security.JWTDecryptionParameters;
-import net.shibboleth.oidc.security.JWTDecryptionParametersResolver;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
 import net.shibboleth.oidc.security.criterion.JWTDecryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.criterion.StaticCredentialCriterion;
 import net.shibboleth.oidc.security.jose.DecryptionConfiguration;
+import net.shibboleth.oidc.security.jose.DecryptionParameters;
+import net.shibboleth.oidc.security.jose.DecryptionParametersResolver;
 import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -50,7 +50,7 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
- * Action that resolves and populates {@link JWTDecryptionParameters} on an {@link JWTSecurityParametersContext}
+ * Action that resolves and populates {@link DecryptionParameters} on an {@link JWTSecurityParametersContext}
  * created/accessed via a lookup function, by default on a child of the outbound message context.
  * 
  * <p>The default, per-RelyingParty, and default per-profile {@link EncryptionConfiguration}
@@ -79,7 +79,7 @@ public class PopulateJWTDecryptionParameters extends AbstractProfileAction {
     @Nonnull private Function<ProfileRequestContext,RelyingPartyContext> relyingPartyContextLookupStrategy;
     
     /** Resolver for parameters to store into context. */
-    @NonnullAfterInit private JWTDecryptionParametersResolver resolver;
+    @NonnullAfterInit private DecryptionParametersResolver resolver;
     
     /**
      * Constructor.
@@ -110,7 +110,7 @@ public class PopulateJWTDecryptionParameters extends AbstractProfileAction {
      * 
      * @param newResolver   resolver to use
      */
-    public void setDecryptionParametersResolver(@Nonnull final JWTDecryptionParametersResolver newResolver) {
+    public void setDecryptionParametersResolver(@Nonnull final DecryptionParametersResolver newResolver) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         
         resolver = Constraint.isNotNull(newResolver, "DecryptionParametersResolver cannot be null");
@@ -176,7 +176,7 @@ public class PopulateJWTDecryptionParameters extends AbstractProfileAction {
         }
         
         try { 
-            final JWTDecryptionParameters params = 
+            final DecryptionParameters params = 
                     resolver.resolveSingle(buildCriteriaSet(profileRequestContext, configs));
             paramsCtx.setDecryptionParameters(params);
             log.debug("{} {} DecryptionParameters", getLogPrefix(),
@@ -189,7 +189,7 @@ public class PopulateJWTDecryptionParameters extends AbstractProfileAction {
     }
     
     /**
-     * Build the criteria used as input to the {@link JWTDecryptionParametersResolver}.
+     * Build the criteria used as input to the {@link DecryptionParametersResolver}.
      * 
      * @param profileRequestContext current profile request context
      * @param configs a list of {@link DecryptionConfiguration}s to add to the criteria set.
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java
index e533f13..2da6afe 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java
@@ -42,14 +42,14 @@ 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.profile.config.logic.EncryptionOptionalPredicate;
-import net.shibboleth.oidc.security.JWTEncryptionParameters;
-import net.shibboleth.oidc.security.JWTEncryptionParametersResolver;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
 import net.shibboleth.oidc.security.criterion.ClientInformationCriterion;
 import net.shibboleth.oidc.security.criterion.JWTEncryptionConfigurationCriterion;
 import net.shibboleth.oidc.security.criterion.ProviderMetadataCriterion;
 import net.shibboleth.oidc.security.criterion.StaticCredentialCriterion;
 import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
+import net.shibboleth.oidc.security.jose.EncryptionParameters;
+import net.shibboleth.oidc.security.jose.EncryptionParametersResolver;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -60,7 +60,7 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
- * Action that resolves and populates {@link JWTEncryptionParameters} on an {@link JWTSecurityParametersContext}
+ * Action that resolves and populates {@link EncryptionParameters} on an {@link JWTSecurityParametersContext}
  * created/accessed via a lookup function, by default on a child of the outbound message context.
  * 
  * <p>The resolution process is contingent on the active profile configuration requesting encryption.</p>
@@ -95,7 +95,7 @@ public class PopulateJWTEncryptionParameters extends AbstractProfileAction {
     private Function<ProfileRequestContext,List<EncryptionConfiguration>> configurationLookupStrategy;
     
     /** Resolver for parameters to store into context. */
-    @NonnullAfterInit private JWTEncryptionParametersResolver encParamsresolver;
+    @NonnullAfterInit private EncryptionParametersResolver encParamsresolver;
     
     /** Active configurations to feed into resolver. */
     @Nullable @NonnullElements private List<EncryptionConfiguration> encryptionConfigurations;
@@ -210,7 +210,7 @@ public class PopulateJWTEncryptionParameters extends AbstractProfileAction {
      * 
      * @param newResolver encParamsresolver to use
      */
-    public void setEncryptionParametersResolver(@Nonnull final JWTEncryptionParametersResolver newResolver) {
+    public void setEncryptionParametersResolver(@Nonnull final EncryptionParametersResolver newResolver) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
 
         encParamsresolver = Constraint.isNotNull(newResolver, "EncryptionParametersResolver cannot be null");
@@ -268,7 +268,7 @@ public class PopulateJWTEncryptionParameters extends AbstractProfileAction {
                 throw new ResolverException("No EncryptionConfigurations returned by lookup strategy");
             }
             final CriteriaSet criteria = buildCriteriaSet(profileRequestContext);
-            final JWTEncryptionParameters params = encParamsresolver.resolveSingle(criteria);
+            final EncryptionParameters params = encParamsresolver.resolveSingle(criteria);
             
             if (params != null) {
                 log.debug("{} Resolved EncryptionParameters for {}", getLogPrefix(),forFriendlyName);
@@ -294,7 +294,7 @@ public class PopulateJWTEncryptionParameters extends AbstractProfileAction {
 // Checkstyle: CyclomaticComplexity ON
     
     /**
-     * Build the criteria used as input to the {@link JWTEncryptionParametersResolver}.
+     * Build the criteria used as input to the {@link EncryptionParametersResolver}.
      * 
      * @param profileRequestContext current profile request context
      * 
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParameters.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParameters.java
index 6136043..f9a1f6d 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParameters.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParameters.java
@@ -35,10 +35,10 @@ import org.slf4j.LoggerFactory;
 
 import net.shibboleth.oidc.metadata.context.OIDCMetadataContext;
 import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
-import net.shibboleth.oidc.security.JWTSignatureSigningParameters;
-import net.shibboleth.oidc.security.JWTSignatureSigningParametersResolver;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
 import net.shibboleth.oidc.security.jose.SignatureSigningConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
+import net.shibboleth.oidc.security.jose.SignatureSigningParametersResolver;
 import net.shibboleth.utilities.java.support.annotation.ParameterName;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -47,7 +47,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
 
 
 /**
- * Action that resolves and populates {@link JWTSignatureSigningParameters} on a {@link JWTSecurityParametersContext}
+ * Action that resolves and populates {@link SignatureSigningParameters} on a {@link JWTSecurityParametersContext}
  * created/accessed via a lookup function, by default on the outbound message context.
  * 
  * @event {@link EventIds#PROCEED_EVENT_ID}
@@ -80,7 +80,7 @@ public class PopulateJWTSignatureSigningParameters
     private Function<ProfileRequestContext, OIDCProviderMetadataContext> oidcProviderMetadataContextLookupStrategy;
     
     /** Resolver for parameters to store into context. */
-    @NonnullAfterInit private JWTSignatureSigningParametersResolver resolver;
+    @NonnullAfterInit private SignatureSigningParametersResolver resolver;
     
     /** Whether failure to resolve parameters should be raised as an error. */
     private boolean noResultIsError;
@@ -173,7 +173,7 @@ public class PopulateJWTSignatureSigningParameters
      * @param newResolver resolver to use
      */
     public void setSignatureSigningParametersResolver(
-            @Nonnull final JWTSignatureSigningParametersResolver newResolver) {
+            @Nonnull final SignatureSigningParametersResolver newResolver) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
 
         resolver = Constraint.isNotNull(newResolver, "SignatureSigningParametersResolver cannot be null");
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java
index 83fca88..6109084 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java
@@ -40,14 +40,14 @@ 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.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.oidc.security.jose.SignatureSigningConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
+import net.shibboleth.oidc.security.jose.SignatureSigningParametersResolver;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -57,7 +57,7 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
  * 
- * Handler that resolves and populates {@link JWTSignatureSigningParameters} on a {@link JWTSecurityParametersContext}
+ * Handler that resolves and populates {@link SignatureSigningParameters} on a {@link JWTSecurityParametersContext}
  * created/accessed via a lookup function, by default as an immediate child context of the target
  * {@link MessageContext}.
  * 
@@ -94,7 +94,7 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
     @Nonnull private Function<MessageContext, RelyingPartyContext> relyingPartyContextLookupStrategy;
     
     /** Resolver for parameters to store into context. */
-    @NonnullAfterInit private JWTSignatureSigningParametersResolver resolver;
+    @NonnullAfterInit private SignatureSigningParametersResolver resolver;
     
     /** Whether failure to resolve parameters should be raised as an error. */
     private boolean noResultIsError;
@@ -172,7 +172,7 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
      * @param newResolver resolver to use
      */
     public void setSignatureSigningParametersResolver(
-            @Nonnull final JWTSignatureSigningParametersResolver newResolver) {
+            @Nonnull final SignatureSigningParametersResolver newResolver) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
 
         resolver = Constraint.isNotNull(newResolver, "SignatureSigningParametersResolver cannot be null");
@@ -336,7 +336,7 @@ public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessag
         }
 
         try {
-            final JWTSignatureSigningParameters params = resolver.resolveSingle(criteria);
+            final SignatureSigningParameters params = resolver.resolveSingle(criteria);
             if (params == null && noResultIsError) {
                 log.error("Failed to resolve SignatureSigningParameters");
                 throw new MessageHandlerException("Failed to resolve SignatureSigningParameters");
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParameters.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParameters.java
index f445fc4..67aa8a8 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParameters.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParameters.java
@@ -32,10 +32,10 @@ import org.opensaml.profile.context.navigate.InboundMessageContextLookup;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import net.shibboleth.oidc.security.JWTSignatureValidationParameters;
-import net.shibboleth.oidc.security.JWTSignatureValidationParametersResolver;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
 import net.shibboleth.oidc.security.jose.SignatureValidationConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureValidationParameters;
+import net.shibboleth.oidc.security.jose.SignatureValidationParametersResolver;
 import net.shibboleth.utilities.java.support.annotation.ParameterName;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -43,7 +43,7 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
 /**
- * Action that resolves and populates {@link JWTSignatureValidationParameters} on a {@link JWTSecurityParametersContext}
+ * Action that resolves and populates {@link SignatureValidationParameters} on a {@link JWTSecurityParametersContext}
  * created/accessed via a lookup function, by default on the inbound message context.
  * 
  * @event {@link EventIds#PROCEED_EVENT_ID}
@@ -65,7 +65,7 @@ public class PopulateJWTSignatureValidationParameters
     private Function<ProfileRequestContext,List<SignatureValidationConfiguration>> configurationLookupStrategy;
     
     /** Resolver for parameters to store into context. */
-    @NonnullAfterInit private JWTSignatureValidationParametersResolver resolver;
+    @NonnullAfterInit private SignatureValidationParametersResolver resolver;
     
     /**
      * Constructor.
@@ -114,7 +114,7 @@ public class PopulateJWTSignatureValidationParameters
      * @param newResolver   resolver to use
      */
     public void setSignatureValidationParametersResolver(
-            @Nonnull final JWTSignatureValidationParametersResolver newResolver) {
+            @Nonnull final SignatureValidationParametersResolver newResolver) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         
         resolver = Constraint.isNotNull(newResolver, "SignatureValidationParametersResolver cannot be null");
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParametersHandler.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParametersHandler.java
index b9215c7..444024c 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParametersHandler.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureValidationParametersHandler.java
@@ -29,11 +29,11 @@ import org.opensaml.messaging.handler.MessageHandlerException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import net.shibboleth.oidc.security.JWTSignatureValidationParameters;
-import net.shibboleth.oidc.security.JWTSignatureValidationParametersResolver;
 import net.shibboleth.oidc.security.context.JWTSecurityParametersContext;
 import net.shibboleth.oidc.security.criterion.JWTSignatureValidationConfigurationCriterion;
 import net.shibboleth.oidc.security.jose.SignatureValidationConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureValidationParameters;
+import net.shibboleth.oidc.security.jose.SignatureValidationParametersResolver;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -43,7 +43,7 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 
 /**
- * Handler that resolves and populates {@link JWTSignatureValidationParameters} on a 
+ * Handler that resolves and populates {@link SignatureValidationParameters} on a 
  * {@link JWTSecurityParametersContext} created/accessed via a lookup function, by default as 
  * an immediate child context of the target {@link MessageContext}.
  */
@@ -60,7 +60,7 @@ public class PopulateJWTSignatureValidationParametersHandler extends AbstractMes
     private Function<MessageContext,List<SignatureValidationConfiguration>> configurationLookupStrategy;
     
     /** Resolver for parameters to store into context. */
-    @NonnullAfterInit private JWTSignatureValidationParametersResolver resolver;
+    @NonnullAfterInit private SignatureValidationParametersResolver resolver;
     
     /**
      * Constructor.
@@ -102,7 +102,7 @@ public class PopulateJWTSignatureValidationParametersHandler extends AbstractMes
      * @param newResolver   resolver to use
      */
     public void setSignatureValidationParametersResolver(
-            @Nonnull final JWTSignatureValidationParametersResolver newResolver) {
+            @Nonnull final SignatureValidationParametersResolver newResolver) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         
         resolver = Constraint.isNotNull(newResolver, "SignatureValidationParametersResolver cannot be null");
@@ -142,7 +142,7 @@ public class PopulateJWTSignatureValidationParametersHandler extends AbstractMes
         }
         
         try {
-            final JWTSignatureValidationParameters params = resolver.resolveSingle(
+            final SignatureValidationParameters params = resolver.resolveSingle(
                     new CriteriaSet(new JWTSignatureValidationConfigurationCriterion(configs)));
             paramsCtx.setSignatureValidationParameters(params);
             log.debug("{} {} SignatureValidationParameters", getLogPrefix(),

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


More information about the commits mailing list