[java-oidc-common] branch main updated: Minor Javadoc and annotation improvements

Phil Smart philip.smart at jisc.ac.uk
Thu Apr 27 14:20:20 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=f19b7e3585fbb5d826f82dc4b06765d1b4f21239

The following commit(s) were added to refs/heads/main by this push:
     new f19b7e3  Minor Javadoc and annotation improvements
f19b7e3 is described below

commit f19b7e3585fbb5d826f82dc4b06765d1b4f21239
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Thu Apr 27 15:20:17 2023 +0100

    Minor Javadoc and annotation improvements
    
     - Add more since tags
     - Fix javadoc
     - Fix formatting
---
 .../descriptors/KeyAgreementECDHESA128KW.java        |  6 +++++-
 .../descriptors/KeyAgreementECDHESA192KW.java        |  6 +++++-
 .../descriptors/KeyAgreementECDHESA256KW.java        |  6 +++++-
 .../descriptors/KeyTransportRSAOAEP384.java          |  1 +
 .../descriptors/KeyTransportRSAOAEP512.java          |  2 ++
 .../net/shibboleth/oidc/jwk/RemoteJwkSetCache.java   |  6 +++---
 .../shibboleth/oidc/security}/JWSAssemblyUtils.java  |  2 +-
 .../BasicClientSecretCredentialFactoryBean.java      |  2 +-
 ...ExpiringJWTSharedSecretCredentialFactoryBean.java |  7 ++-----
 .../oidc/security/jose/EncryptionParameters.java     |  8 ++++----
 .../security/jose/SignatureSigningParameters.java    |  4 ++--
 .../oidc/security/jose/context/package-info.java     |  6 +++++-
 .../SignatureValidationConfigurationCriterion.java   |  2 +-
 .../SignatureValidationParametersCriterion.java      |  2 +-
 .../oidc/security/jose/criterion/package-info.java   |  6 +++++-
 .../shibboleth/oidc/security/jose/package-info.java  |  6 +++++-
 .../impl/BasicJOSEObjectCredentialResolver.java      |  2 +-
 .../impl/CollectionJOSEObjectCredentialResolver.java |  1 -
 .../impl/DataEncryptionAlgorithmCriterion.java       |  5 +++--
 .../impl/KeyManagmentAlgorithmCriterion.java         |  2 ++
 ...urnAllCollectionJOSEObjectCredentialResolver.java |  2 +-
 .../impl/BaseJWTSignatureSecurityHandler.java        |  1 -
 .../oidc/security/impl/EncryptJWTHandler.java        |  4 ++--
 .../oidc/security/impl/JWETokenDecrypter.java        | 19 +------------------
 .../impl/JWTMessageSignatureSecurityHandler.java     |  1 -
 .../oidc/security/impl/SignJWTHandler.java           | 10 ++++++----
 .../impl/BasicSignatureSigningConfiguration.java     |  4 ++--
 ...efaultDataEncryptionAlgorithmsLookupStrategy.java |  7 ++++---
 .../oidc/security/jose/impl}/package-info.java       |  8 ++++++--
 .../security/jwt/claims/impl/ACRClaimsValidator.java |  2 +-
 .../jwt/claims/impl/AccessTokenHashValidator.java    |  4 ++--
 .../impl/AuthenticationAudienceClaimsValidator.java  |  2 ++
 .../RequestedEssentialACRClaimsLookupStrategy.java   |  2 +-
 .../oidc/security/impl/EncryptJWTHandlerTest.java    | 15 ++++++++++++++-
 .../oidc/security/impl/JWETokenDecrypterTest.java    |  1 +
 .../oidc/security/impl/JWSAssemblyUtilsTest.java     |  2 ++
 .../security/impl/support/TestCredentialHelper.java  |  2 +-
 .../profile/config/JSONSecurityConfiguration.java    | 20 +++++++-------------
 .../config/logic/UseRequestObjectPredicate.java      |  2 +-
 .../config/navigate/GrantTypesLookupFunction.java    |  1 -
 .../JWKCredentialsToPublishLookupStrategy.java       |  2 ++
 .../ProviderMetadataStringValuesLookupFunction.java  |  4 ++--
 ...enticationContextClassResponseLookupFunction.java |  4 ++--
 .../oidc/profile/core/OIDCAuthenticationRequest.java |  1 +
 .../impl/PopulateJWTDecryptionParameters.java        |  2 ++
 .../impl/PopulateJWTEncryptionParameters.java        |  2 ++
 .../impl/PopulateJWTSignatureSigningParameters.java  |  2 ++
 ...PopulateJWTSignatureSigningParametersHandler.java |  2 ++
 .../PopulateJWTSignatureValidationParameters.java    |  2 ++
 ...ulateJWTSignatureValidationParametersHandler.java |  2 ++
 50 files changed, 127 insertions(+), 87 deletions(-)

diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA128KW.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA128KW.java
index d00f4c4..fc3a859 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA128KW.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA128KW.java
@@ -25,7 +25,11 @@ import org.opensaml.xmlsec.algorithm.KeyAgreementAlgorithm;
 import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 
-/** Algorithm descriptor for JWE key management algorithm: ECDH-ES+A128KW. */
+/** 
+ * Algorithm descriptor for JWE key management algorithm: ECDH-ES+A128KW. 
+ * 
+ * @since 2.2.0
+ */
 public class KeyAgreementECDHESA128KW implements KeyAgreementAlgorithm {
 
     @Override
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA192KW.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA192KW.java
index a07db6d..c26ecdd 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA192KW.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA192KW.java
@@ -25,7 +25,11 @@ import org.opensaml.xmlsec.algorithm.KeyAgreementAlgorithm;
 import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 
-/** Algorithm descriptor for JWE key management algorithm: ECDH-ES+A192KW. */
+/** 
+ * Algorithm descriptor for JWE key management algorithm: ECDH-ES+A192KW. 
+ * 
+ * @since 2.2.0
+ */
 public class KeyAgreementECDHESA192KW implements KeyAgreementAlgorithm {
 
     @Override
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA256KW.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA256KW.java
index 0331293..57b6b64 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA256KW.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyAgreementECDHESA256KW.java
@@ -25,7 +25,11 @@ import org.opensaml.xmlsec.algorithm.KeyAgreementAlgorithm;
 import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 
-/** Algorithm descriptor for JWE key management algorithm: ECDH-ES+A256KW. */
+/** 
+ * Algorithm descriptor for JWE key management algorithm: ECDH-ES+A256KW. 
+ * 
+ * @since 2.2.0
+ */
 public class KeyAgreementECDHESA256KW implements KeyAgreementAlgorithm {
 
     @Override
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP384.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP384.java
index 0a4bed6..ea8cd1b 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP384.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP384.java
@@ -29,6 +29,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 /**
  * Algorithm descriptor for JWE key transport algorithm: RSA-OAEP-384.
  * 
+ * @since 2.2.0
  */
 public class KeyTransportRSAOAEP384 implements KeyTransportAlgorithm {
 
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP512.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP512.java
index 7e35deb..471bb25 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP512.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwa/algorithm/descriptors/KeyTransportRSAOAEP512.java
@@ -29,6 +29,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 /**
  * Algorithm descriptor for JWE key transport algorithm: RSA-OAEP-512.
  * 
+ * @since 2.2.0
+ * 
  */
 public class KeyTransportRSAOAEP512 implements KeyTransportAlgorithm {
 
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwk/RemoteJwkSetCache.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwk/RemoteJwkSetCache.java
index 40c8b38..ce6d110 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwk/RemoteJwkSetCache.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/jwk/RemoteJwkSetCache.java
@@ -219,9 +219,9 @@ public class RemoteJwkSetCache extends AbstractIdentifiableInitializableComponen
     
     /**
      * Returns remote JWK set if found from the cache, otherwise fetches and stores it. If the JWK set is retrieved
-     * from the cache, checks it contains the keyId, if not it re-fetches the JWK set even if the set has not expired. 
-     * This allows keys to be returned when the JWK Set has been updated but has not yet expired e.g. during key 
-     * rotation.
+     * from the cache, checks it contains the JWK keyId input, if not it re-fetches the JWK set even if the set has not 
+     * expired. This allows keys to be returned when the JWK Set has been updated but has not yet expired e.g. 
+     * during key rotation.
      * 
      * @param context a context label to subdivide the cache
      * @param uri value to check
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtils.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWSAssemblyUtils.java
similarity index 99%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtils.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWSAssemblyUtils.java
index 36dab31..7edb3c2 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtils.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/JWSAssemblyUtils.java
@@ -16,7 +16,7 @@
  */
 
 
-package net.shibboleth.oidc.security.impl;
+package net.shibboleth.oidc.security;
 
 import java.nio.charset.StandardCharsets;
 import java.text.ParseException;
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java
index dbf4be4..72e9218 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java
@@ -47,7 +47,7 @@ public class BasicClientSecretCredentialFactoryBean
     @Override
     protected DefaultClientSecretCredential doCreateInstance() throws Exception {
         if (secret == null) {
-            throw new Exception("Nimbus secret can not be null");
+            throw new Exception("Client secret can not be null");
         }
         return new DefaultClientSecretCredential(secret);      
     }
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicExpiringJWTSharedSecretCredentialFactoryBean.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
similarity index 93%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
rename to oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
index fa8715f..1da52be 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.oidc.security.credential.impl;
+package net.shibboleth.oidc.security.credential;
 
 import java.time.Duration;
 import java.util.List;
@@ -31,10 +31,7 @@ import com.google.common.base.Enums;
 import com.nimbusds.jose.Algorithm;
 
 import net.shibboleth.idp.profile.spring.factory.AbstractCredentialFactoryBean;
-import net.shibboleth.oidc.security.credential.BasicExpiringJWKCredential;
-import net.shibboleth.oidc.security.credential.BasicJWKCredential;
-import net.shibboleth.oidc.security.credential.ExpiringJWKCredential;
-import net.shibboleth.oidc.security.impl.JWSAssemblyUtils;
+import net.shibboleth.oidc.security.JWSAssemblyUtils;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java
index 5e61cbf..4005fdd 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/EncryptionParameters.java
@@ -29,16 +29,16 @@ import org.opensaml.security.credential.Credential;
 public class EncryptionParameters {
     
     /** The EncryptedData encryption credential. */
-    private Credential dataEncryptionCredential;
+    @Nullable private Credential dataEncryptionCredential;
     
     /** The EncryptedKey encryption credential. */
-    private Credential keyTransportEncryptionCredential;
+    @Nullable private Credential keyTransportEncryptionCredential;
     
     /** The EncryptedData encryption algorithm URI. */
-    private String dataEncryptionAlgorithmURI;
+    @Nullable private String dataEncryptionAlgorithmURI;
     
     /** The EncryptedKey encryption algorithm URI. */
-    private String keyTransportEncryptionAlgorithmURI;
+    @Nullable private String keyTransportEncryptionAlgorithmURI;
     
     /**
      * Get the encryption credential to use when encrypting the EncryptedData.
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java
index c165437..ca7d168 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/SignatureSigningParameters.java
@@ -29,10 +29,10 @@ import org.opensaml.security.credential.Credential;
 public class SignatureSigningParameters {
     
     /** The signing credential. */
-    private Credential signingCredential;
+    @Nullable private Credential signingCredential;
     
     /** The signature algorithm URI. */
-    private String signatureAlgorithmURI;
+    @Nullable private String signatureAlgorithmURI;
     
     /**
      * Get the signing credential to use when signing.
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/context/package-info.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/context/package-info.java
index bd66908..b006cc7 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/context/package-info.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/context/package-info.java
@@ -15,5 +15,9 @@
  * limitations under the License.
  */
 
-/** JOSE security contexts .*/
+/** 
+ * JOSE security contexts .
+ * 
+ * @since 2.2.0
+ */
 package net.shibboleth.oidc.security.jose.context;
\ No newline at end of file
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationConfigurationCriterion.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationConfigurationCriterion.java
index dc1a580..c253303 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationConfigurationCriterion.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationConfigurationCriterion.java
@@ -40,7 +40,7 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
 public class SignatureValidationConfigurationCriterion implements Criterion {
     
     /** The list of configuration instances. */
-    @Nonnull @NonnullElements private final List<SignatureValidationConfiguration> configs;
+    @Nonnull @NonnullElements @Unmodifiable @NotLive private final List<SignatureValidationConfiguration> configs;
     
     /**
      * Constructor.
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationParametersCriterion.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationParametersCriterion.java
index dc1d272..002fd6e 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationParametersCriterion.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/SignatureValidationParametersCriterion.java
@@ -32,7 +32,7 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
 public class SignatureValidationParametersCriterion implements Criterion {
     
     /** The SignatureValidationParameters instance. */
-    private final SignatureValidationParameters params;
+    @Nonnull private final SignatureValidationParameters params;
     
     /**
      * Constructor.
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java
index b68d7c6..eaaa447 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java
@@ -15,5 +15,9 @@
  * limitations under the License.
  */
 
-/** OIDC security criterion .*/
+/** 
+ * OIDC security criterion.
+ * 
+ * @since 2.2.0
+ */
 package net.shibboleth.oidc.security.jose.criterion;
\ No newline at end of file
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java
index dd48b15..14254f1 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/package-info.java
@@ -15,5 +15,9 @@
  * limitations under the License.
  */
 
-/** JOSE security API classes.*/
+/** 
+ * JOSE security API classes.
+ * 
+ * @since 2.2.0
+ */
 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 a61c3dc..fb1f959 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
@@ -56,7 +56,7 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
- * A basic implementation of {@link JOSEObjectCredentialResolver}.
+ * A basic implementation of {@link JOSEObjectCredentialResolver}. Resolves credentials from JOSE Headers.
  */
 public class BasicJOSEObjectCredentialResolver extends AbstractCriteriaFilteringCredentialResolver 
                                                                     implements JOSEObjectCredentialResolver {
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolver.java
index 1767015..1cdf011 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolver.java
@@ -39,7 +39,6 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * An implementation of {@link BasicJOSEObjectCredentialResolver} that
  * uses a {@link Collection} as the underlying credential source.
  * 
- * 
  * <p>
  * Like the
  * {@link BasicJOSEObjectCredentialResolver}, credentials returned are filtered based on any
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/DataEncryptionAlgorithmCriterion.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/DataEncryptionAlgorithmCriterion.java
index afca686..5271285 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/DataEncryptionAlgorithmCriterion.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/DataEncryptionAlgorithmCriterion.java
@@ -3,6 +3,7 @@ package net.shibboleth.oidc.security.credential.impl;
 
 import javax.annotation.Nonnull;
 
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.resolver.Criterion;
@@ -15,7 +16,7 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
 public final class DataEncryptionAlgorithmCriterion implements Criterion {
     
     /** Key algorithm type of resolved credentials. */
-    private String encAlgorithm;
+    @Nonnull @NotEmpty private String encAlgorithm;
     
     /**
      * Constructor.
@@ -31,7 +32,7 @@ public final class DataEncryptionAlgorithmCriterion implements Criterion {
      * 
      * @return returns the keyAlgorithm.
      */
-    @Nonnull public String getEncAlgorithm() {
+    @Nonnull @NotEmpty public String getEncAlgorithm() {
         return encAlgorithm;
     }
 
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/KeyManagmentAlgorithmCriterion.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/KeyManagmentAlgorithmCriterion.java
index d3023b6..3179a18 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/KeyManagmentAlgorithmCriterion.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/KeyManagmentAlgorithmCriterion.java
@@ -9,6 +9,8 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
 
 /**
  * An implementation of {@link Criterion} which specifies key management algorithm criteria.
+ * 
+ * @since 2.2.0
  */
 public final class KeyManagmentAlgorithmCriterion implements Criterion {
     
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/ReturnAllCollectionJOSEObjectCredentialResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/ReturnAllCollectionJOSEObjectCredentialResolver.java
index c33a6d9..e30e127 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/ReturnAllCollectionJOSEObjectCredentialResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/ReturnAllCollectionJOSEObjectCredentialResolver.java
@@ -45,7 +45,7 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
 public class ReturnAllCollectionJOSEObjectCredentialResolver implements JOSEObjectCredentialResolver {
     
     /** List of credentials held by this resolver. */
-    private final List<Credential> collection;
+    @Nonnull private final List<Credential> collection;
     
     /**
      * Constructor.
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java
index b6e452a..2ce9cb3 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java
@@ -173,7 +173,6 @@ public abstract class BaseJWTSignatureSecurityHandler extends BaseTrustEngineSec
         return secParams.getSignatureValidationParameters().getSignatureTrustEngine();
     }
     
-    /** {@inheritDoc} */
     @Override
     protected boolean doPreInvoke(@Nonnull final MessageContext messageContext) throws MessageHandlerException {
         
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 68a2d0a..4b8bc78 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
@@ -170,7 +170,7 @@ public class EncryptJWTHandler extends AbstractMessageHandler {
         encryptionParameters = secParamCtx.getEncryptionParameters();
         if (encryptionParameters == null) {
             log.debug("{} Message context did not contain encryption parameters, "
-                    + "request object will not be encrypted", getLogPrefix());
+                    + "'{}' will not be encrypted", getLogPrefix(), logName);
             return false;
         }
         
@@ -258,7 +258,7 @@ public class EncryptJWTHandler extends AbstractMessageHandler {
             if (log.isDebugEnabled() && !log.isTraceEnabled()) {
                 log.debug("{} Encrypted '{}' JWT", getLogPrefix(), logName);
             } else if (log.isTraceEnabled()) {
-                log.debug("{} Encrypted '{}' JWT: {}", getLogPrefix(), logName, encryptedJWT.serialize());
+                log.trace("{} Encrypted '{}' JWT: {}", getLogPrefix(), logName, encryptedJWT.serialize());
             }
             
         } catch (final Exception e) {
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWETokenDecrypter.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWETokenDecrypter.java
index 34beadf..69ec9d8 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWETokenDecrypter.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWETokenDecrypter.java
@@ -34,22 +34,6 @@ import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
 import org.opensaml.xmlsec.encryption.support.DecryptionException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
 
 import com.google.common.base.Strings;
 import com.nimbusds.jose.EncryptionMethod;
@@ -125,7 +109,6 @@ public class JWETokenDecrypter {
         }
         
         final JWEAlgorithm jwtAlg = encryptedObject.getHeader().getAlgorithm();
-
         
         if (JWEAlgorithm.DIR.equals(jwtAlg)) {
             decryptUsingDirectEncryption(encryptedObject);
@@ -148,7 +131,7 @@ public class JWETokenDecrypter {
             }
         } else {
             // Should not happen if all the above key management modes are correctly captured
-            throw new DecryptionException("JWE failed to decrypt without error");
+            throw new DecryptionException("JWE failed to decryptm, no error given");
         }  
 
 
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTMessageSignatureSecurityHandler.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTMessageSignatureSecurityHandler.java
index a1389f8..c179c8f 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTMessageSignatureSecurityHandler.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTMessageSignatureSecurityHandler.java
@@ -97,7 +97,6 @@ public class JWTMessageSignatureSecurityHandler extends BaseJWTSignatureSecurity
             throw new MessageHandlerException("Signed JWT was missing or unpopulated");
         }
         try {
-            //TODO debatable we should fail here if there are no claims, as the signature can still be checked.
             claimsSet = signedJwt.getJWTClaimsSet();
         } catch (final ParseException e) {
             throw new MessageHandlerException("Signed JWT did not have any claims, signature check failed");
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 2175400..0c81cbc 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
@@ -58,7 +58,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
 /**
- * Action that signs a request object and sets it as the request object to the authentication request.
+ * Message handler that signs a JWT and sets it back to the message context via an update consumer.
  */
 public class SignJWTHandler extends AbstractMessageHandler {
     
@@ -68,14 +68,14 @@ public class SignJWTHandler extends AbstractMessageHandler {
     /** Strategy used to locate the {@link SecurityParametersContext} to use for signing. */
     @Nonnull private Function<MessageContext, SecurityParametersContext> securityParametersLookupStrategy;
     
-    /** A consumer that takes the EncryptedJWT and updates the correct object inside the MessageContext.*/
+    /** A consumer that takes the Signed JWT and updates the correct object inside the MessageContext.*/
     @NonnullAfterInit private BiConsumer<JWT, MessageContext> jwtUpdateConsumer;
     
     /** Strategy used to locate the payload to encrypt.*/
     @NonnullAfterInit private Function<MessageContext, JWTClaimsSet> claimsToSignLookupStrategy;    
        
     /** The signature signing parameters. */
-    @Nullable private SignatureSigningParameters signatureSigningParameters;
+    @Nonnull private SignatureSigningParameters signatureSigningParameters;
     
     /** resolved credential. */
     @Nullable private Credential credential;
@@ -87,7 +87,7 @@ public class SignJWTHandler extends AbstractMessageHandler {
     @Nullable @NotEmpty private String typeHeader;
     
     /** A friendly name to log as the subject of signing.*/
-    @Nonnull private String logName;
+    @Nonnull @NotEmpty private String logName;
     
     /** Constructor.*/
     public SignJWTHandler() {
@@ -150,6 +150,7 @@ public class SignJWTHandler extends AbstractMessageHandler {
      */
     public void setTypeHeader(@Nullable @NotEmpty final String type) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
         
         typeHeader = StringSupport.trimOrNull(type);
     }
@@ -162,6 +163,7 @@ public class SignJWTHandler extends AbstractMessageHandler {
     public void setSecurityParametersLookupStrategy(
             @Nonnull final Function<MessageContext, SecurityParametersContext> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
 
         securityParametersLookupStrategy =
                 Constraint.isNotNull(strategy, "SecurityParameterContext lookup strategy cannot be null");
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningConfiguration.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningConfiguration.java
index 52a041f..2d1ab8b 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningConfiguration.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningConfiguration.java
@@ -46,10 +46,10 @@ public class BasicSignatureSigningConfiguration extends BasicAlgorithmPolicyConf
     @Nonnull private final Logger log = LoggerFactory.getLogger(BasicSignatureSigningConfiguration.class);
     
     /** Signing credentials. */
-    @Nonnull @NonnullElements private List<Credential> signingCredentials;
+    @Nonnull @NonnullElements @Unmodifiable @NotLive private List<Credential> signingCredentials;
     
     /** Signature method algorithm URIs. */
-    @Nonnull @NonnullElements private List<String> signatureAlgorithms;
+    @Nonnull @NonnullElements @Unmodifiable @NotLive private List<String> signatureAlgorithms;
     
     /** Constructor. */
     public BasicSignatureSigningConfiguration() {
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
index 47edf5b..2490a51 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategy.java
@@ -52,7 +52,8 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategy extends AbstractEncry
     }
 
     @Override
-    @Nonnull public List<String> apply(final CriteriaSet criteria, final Predicate<String> includeExcludePredicate) {
+    @Nonnull public List<String> apply(@Nonnull final CriteriaSet criteria, 
+            @Nonnull final Predicate<String> includeExcludePredicate) {
         return getDataEncryptionAlgorithmsFromConfiguration(criteria, includeExcludePredicate);
     }
     
@@ -65,8 +66,8 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategy extends AbstractEncry
      * 
      * @return the data/content encryption algorithms from the configuration, an empty list otherwise
      */
-    @Nonnull protected List<String> getDataEncryptionAlgorithmsFromConfiguration(final CriteriaSet criteria,
-            final Predicate<String> includeExcludePredicate){
+    @Nonnull protected List<String> getDataEncryptionAlgorithmsFromConfiguration(@Nonnull final CriteriaSet criteria,
+            @Nonnull final Predicate<String> includeExcludePredicate){
         final ArrayList<String> accumulator = new ArrayList<>();
         for (final EncryptionConfiguration config
                 : criteria.get(EncryptionConfigurationCriterion.class).getConfigurations()) {
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/package-info.java
similarity index 84%
copy from oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java
copy to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/package-info.java
index b68d7c6..b9bcf58 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/jose/criterion/package-info.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jose/impl/package-info.java
@@ -15,5 +15,9 @@
  * limitations under the License.
  */
 
-/** OIDC security criterion .*/
-package net.shibboleth.oidc.security.jose.criterion;
\ No newline at end of file
+/** 
+ * Implementation of cryptographic primitives that support JOSE objects. 
+ * 
+ * @Since 2.2.0
+ */
+package net.shibboleth.oidc.security.jose.impl;
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/ACRClaimsValidator.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/ACRClaimsValidator.java
index 2fdd3fa..24d5bcb 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/ACRClaimsValidator.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/ACRClaimsValidator.java
@@ -36,7 +36,7 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
 /**
- * Check the ACR value requested was received.
+ * Check the ACR values requested were received.
  * 
  * <p>Only those essential ACR requested values are validated. Voluntary ACR claims optionally appear in the returned
  * claims set and can not be meaningfully validated here.</p>
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AccessTokenHashValidator.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AccessTokenHashValidator.java
index 48b6a48..f1c3643 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AccessTokenHashValidator.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AccessTokenHashValidator.java
@@ -77,7 +77,7 @@ public class AccessTokenHashValidator extends AbstractClaimsValidator {
      * 
      * @param strategy the strategy.
      */
-    public void setAccessTokenLookupStrategy(final Function<ProfileRequestContext, AccessToken> strategy) {
+    public void setAccessTokenLookupStrategy(@Nonnull final Function<ProfileRequestContext, AccessToken> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
 
@@ -90,7 +90,7 @@ public class AccessTokenHashValidator extends AbstractClaimsValidator {
      * 
      * @param strategy the strategy.
      */
-    public void setJoseHeaderLookupStrategy(final Function<ProfileRequestContext, JWSHeader> strategy) {
+    public void setJoseHeaderLookupStrategy(@Nonnull final Function<ProfileRequestContext, JWSHeader> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
 
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AuthenticationAudienceClaimsValidator.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AuthenticationAudienceClaimsValidator.java
index f51fb81..f8708a4 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AuthenticationAudienceClaimsValidator.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/AuthenticationAudienceClaimsValidator.java
@@ -47,6 +47,8 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
  * 
  * The {@link AudienceClaimsValidator#resolveAcceptedAudiences(JWTClaimsSet, ProfileRequestContext)} is expected
  * to return the endpoint URL used in the HTTP request containing the JWT authentication.
+ * 
+ * @since 2.2.0
  */
 @ThreadSafeAfterInit
 public class AuthenticationAudienceClaimsValidator extends AudienceClaimsValidator{
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/RequestedEssentialACRClaimsLookupStrategy.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/RequestedEssentialACRClaimsLookupStrategy.java
index 20aaad1..2723898 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/RequestedEssentialACRClaimsLookupStrategy.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/jwt/claims/impl/RequestedEssentialACRClaimsLookupStrategy.java
@@ -57,7 +57,7 @@ public class RequestedEssentialACRClaimsLookupStrategy
     }
 
     @Override
-    public List<String> apply(final ProfileRequestContext prc, final JWTClaimsSet claims) {
+    @Nonnull public List<String> apply(final ProfileRequestContext prc, final JWTClaimsSet claims) {
         
         final OIDCAuthenticationRequest authRequest = authenticationRequestLookupStrategy.apply(prc);
         
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 7cffb91..fd4093b 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
@@ -270,7 +270,20 @@ public class EncryptJWTHandlerTest extends AbstractHandlerTest {
     
     /* No exception, but should not have performed any operation on the plain JWT.*/
     @Test
-    public void testFail_NoEncryptionParams() throws Exception {   
+    public void testFail_NoEncryptionContext() throws Exception {   
+        encrypter.initialize();
+        encrypter.invoke(prc.getOutboundMessageContext());
+        final JWT jwt = request.getRequestObject();
+        assertTrue(jwt instanceof PlainJWT);
+
+    }
+    
+    /* No exception, but should not have performed any operation on the plain JWT.*/
+    @Test
+    public void testFail_NoEncryptionParams() throws Exception {  
+        final SecurityParametersContext secParamCtx = new SecurityParametersContext();
+        prc.getOutboundMessageContext().addSubcontext(secParamCtx);
+        
         encrypter.initialize();
         encrypter.invoke(prc.getOutboundMessageContext());
         final JWT jwt = request.getRequestObject();
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWETokenDecrypterTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWETokenDecrypterTest.java
index f89f3bd..e0d1fe5 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWETokenDecrypterTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWETokenDecrypterTest.java
@@ -55,6 +55,7 @@ import com.nimbusds.jwt.JWT;
 import com.nimbusds.jwt.JWTClaimsSet;
 import com.nimbusds.jwt.SignedJWT;
 
+import net.shibboleth.oidc.security.JWSAssemblyUtils;
 import net.shibboleth.oidc.security.credential.BasicExpiringJWKCredential;
 import net.shibboleth.oidc.security.credential.BasicJWKCredential;
 import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtilsTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtilsTest.java
index 37c9247..8ee7f34 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtilsTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWSAssemblyUtilsTest.java
@@ -35,6 +35,8 @@ import com.nimbusds.jose.util.JSONObjectUtils;
 import com.nimbusds.jwt.JWTClaimsSet;
 import com.nimbusds.jwt.SignedJWT;
 
+import net.shibboleth.oidc.security.JWSAssemblyUtils;
+
 
 /** Test for {@link JWSAssemblyUtils}.*/
 public class JWSAssemblyUtilsTest {
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/support/TestCredentialHelper.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/support/TestCredentialHelper.java
index a5ad107..f4c716d 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/support/TestCredentialHelper.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/support/TestCredentialHelper.java
@@ -31,11 +31,11 @@ import com.nimbusds.jose.jwk.ECKey;
 import com.nimbusds.jose.jwk.JWK;
 import com.nimbusds.jose.jwk.RSAKey;
 
+import net.shibboleth.oidc.security.JWSAssemblyUtils;
 import net.shibboleth.oidc.security.credential.BasicExpiringJWKCredential;
 import net.shibboleth.oidc.security.credential.ClientSecretCredential;
 import net.shibboleth.oidc.security.credential.DefaultClientSecretCredential;
 import net.shibboleth.oidc.security.credential.JWKCredential;
-import net.shibboleth.oidc.security.impl.JWSAssemblyUtils;
 
 /** Helper that creates different credentials.*/
 public final class TestCredentialHelper {
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java
index 80f6f84..e685d11 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java
@@ -34,21 +34,17 @@ import net.shibboleth.oidc.security.jose.SignatureValidationConfiguration;
 public class JSONSecurityConfiguration extends SecurityConfiguration {
     
     /** Configuration used when decrypting JWE tokens. */
-    @Nullable
-    private DecryptionConfiguration jwtDecryptConfig;
+    @Nullable private DecryptionConfiguration jwtDecryptConfig;
     
     /** Configuration used when encrypting JWE tokens. */
-    @Nullable
-    private EncryptionConfiguration jwtEncryptConfig;    
+    @Nullable private EncryptionConfiguration jwtEncryptConfig;    
     
     /** Configuration used when JWS tokens. */
-    @Nullable
-    private SignatureSigningConfiguration jwtSignatureSigningConfig;    
+    @Nullable private SignatureSigningConfiguration jwtSignatureSigningConfig;    
     
     
     /** Configuration used when validating JWS signatures. */
-    @Nullable
-    private SignatureValidationConfiguration jwtSignatureValidationConfig;
+    @Nullable private SignatureValidationConfiguration jwtSignatureValidationConfig;
 
     /**
      * Set the configuration used to decrypt JWE tokens.
@@ -82,7 +78,7 @@ public class JSONSecurityConfiguration extends SecurityConfiguration {
      * 
      * @return configuration used when encrypting JWE tokens, or null
      */
-    public EncryptionConfiguration getJwtEncryptionConfiguration() {
+    @Nullable public EncryptionConfiguration getJwtEncryptionConfiguration() {
         return jwtEncryptConfig;
     }
     
@@ -101,8 +97,7 @@ public class JSONSecurityConfiguration extends SecurityConfiguration {
      * 
      * @return configuration used when signing JWS tokens, or null
      */
-    @Nullable
-    public SignatureSigningConfiguration getJwtSignatureSigningConfiguration() {
+    @Nullable public SignatureSigningConfiguration getJwtSignatureSigningConfiguration() {
         return jwtSignatureSigningConfig;
     }
     
@@ -121,8 +116,7 @@ public class JSONSecurityConfiguration extends SecurityConfiguration {
      * 
      * @return configuration used when validating JWS tokens, or null
      */
-    @Nullable
-    public SignatureValidationConfiguration getJwtSignatureValidationConfiguration() {
+    @Nullable public SignatureValidationConfiguration getJwtSignatureValidationConfiguration() {
         return jwtSignatureValidationConfig;
     }
 
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/UseRequestObjectPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/UseRequestObjectPredicate.java
index d84430c..b8d9b06 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/UseRequestObjectPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/UseRequestObjectPredicate.java
@@ -26,7 +26,7 @@ import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
 import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
 
-/** A predicate that determines if the RequestObject JWT should be used based on the profile configuration.*/
+/** A predicate that determines if a RequestObject JWT should be used based on the profile configuration.*/
 public class UseRequestObjectPredicate extends AbstractRelyingPartyPredicate {
 
     @Override
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java
index 2c175cc..417a581 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java
@@ -32,7 +32,6 @@ import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFun
 import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
 import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenConfiguration;
 
-
 /**
  * A function that obtains
  * {@link OAuth2TokenConfiguration#getGrantTypes(ProfileRequestContext)}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java
index 2a8f374..9dd87ea 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java
@@ -35,6 +35,8 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
 /**
  * Strategy to locate the set of JWK credentials to publish in a KeySet document.
+ * 
+ * @since 2.2.0
  */
 public class JWKCredentialsToPublishLookupStrategy implements Function<JSONSecurityConfiguration, List<Credential>> {
     
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java
index 569a436..96fba44 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java
@@ -33,8 +33,8 @@ import net.shibboleth.utilities.java.support.annotation.ParameterName;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
 /**
- * Fetches the values for the configured key as {@link String}. May return null if the value is not found or the given
- * {@link OIDCProviderMetadata} is null.
+ * Fetches the values for the configured key as {@link String}. May return {@code null} and *not* an empty list 
+ * if the value is not found or the given {@link OIDCProviderMetadata} is {@code null}.
  */
 public class ProviderMetadataStringValuesLookupFunction implements Function<OIDCProviderMetadata, List<String>> {
 
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java
index a122310..f3c9c0d 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java
@@ -92,7 +92,7 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
                 implements Function<ProfileRequestContext, Function<Collection<String>,Collection<Principal>>> {
 
         /** A function used to map OIDC ACR/AMRs to Principals. A single instance is supplied.*/
-        private final Function<Collection<String>,Collection<Principal>> function; 
+        @Nonnull private final Function<Collection<String>,Collection<Principal>> function; 
         
         /**
          * 
@@ -106,7 +106,7 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
         }
         
         @Override
-        public Function<Collection<String>, Collection<Principal>> apply(final ProfileRequestContext prc) {
+        @Nonnull public Function<Collection<String>, Collection<Principal>> apply(final ProfileRequestContext prc) {
             return function;
         }
         
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/core/OIDCAuthenticationRequest.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/core/OIDCAuthenticationRequest.java
index 2b8341b..ee4f25a 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/core/OIDCAuthenticationRequest.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/core/OIDCAuthenticationRequest.java
@@ -256,6 +256,7 @@ public class OIDCAuthenticationRequest extends OAuthAuthorizationRequest {
     * Set the display. 
     * 
     * @param theDisplay The display to set.
+    * 
     */
    public void setDisplay(@Nullable final Display theDisplay) {
        display = theDisplay;
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 4afdf87..d950975 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
@@ -63,6 +63,8 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * @event {@link EventIds#INVALID_PROFILE_CTX}
  * @event {@link EventIds#INVALID_SEC_CFG}
  * @post set the decryption parameters onto the security parameters context
+ * 
+ * @since 2.2.0
  */
 public class PopulateJWTDecryptionParameters extends AbstractProfileAction {
     
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 b396654..2f8ab60 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
@@ -76,6 +76,8 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * @event {@link EventIds#INVALID_PROFILE_CTX}
  * @event {@link EventIds#INVALID_SEC_CFG}
  * @post set the encryption parameters onto the security parameters context
+ * 
+ * @since 2.2.0
  */
 public class PopulateJWTEncryptionParameters extends AbstractProfileAction {
 
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 b7cc8fa..1762756 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
@@ -53,6 +53,8 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
  * @event {@link EventIds#PROCEED_EVENT_ID}
  * @event {@link EventIds#INVALID_MSG_CTX}
  * @event {@link EventIds#INVALID_SEC_CFG}
+ * 
+ * @since 2.2.0
  */
 public class PopulateJWTSignatureSigningParameters 
     extends AbstractHandlerDelegatingProfileAction<PopulateJWTSignatureSigningParametersHandler> {
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 a2fec6f..2efc184 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
@@ -64,6 +64,8 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * 
  * <p>Extracts any OpenID client/provider metadata, SAML metadata, and static client credentials
  * from relying party configuration as criteria to pass to the signing parameters resolver. </p>
+ * 
+ * @since 2.2.0
  */
 public class PopulateJWTSignatureSigningParametersHandler extends AbstractMessageHandler {
     
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 de755f0..a154fb9 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
@@ -49,6 +49,8 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
  * @event {@link EventIds#PROCEED_EVENT_ID}
  * @event {@link EventIds#INVALID_MSG_CTX}
  * @event {@link EventIds#MESSAGE_PROC_ERROR}
+ * 
+ * @since 2.2.0
  */
 public class PopulateJWTSignatureValidationParameters 
         extends AbstractHandlerDelegatingProfileAction<PopulateJWTSignatureValidationParametersHandler> {
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 5c86180..c9c9e6d 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
@@ -46,6 +46,8 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
  * Handler that resolves and populates {@link SignatureValidationParameters} on a 
  * {@link SecurityParametersContext} created/accessed via a lookup function, by default as 
  * an immediate child context of the target {@link MessageContext}.
+ * 
+ * @since 2.2.0
  */
 public class PopulateJWTSignatureValidationParametersHandler extends AbstractMessageHandler {
 

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


More information about the commits mailing list