[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