[java-oidc-common] branch main updated: Null cleanup in tests.
Scott Cantor
cantor.2 at osu.edu
Tue Nov 7 19:51:38 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor 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=7f2aade3b92070c58a0d84facf226e17da14bd66
The following commit(s) were added to refs/heads/main by this push:
new 7f2aade Null cleanup in tests.
7f2aade is described below
commit 7f2aade3b92070c58a0d84facf226e17da14bd66
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Nov 7 14:51:34 2023 -0500
Null cleanup in tests.
---
.../shibboleth/oidc/jwk/RemoteJwkSetCacheTest.java | 5 +-
...asicSignatureSigningParametersResolverTest.java | 45 +++---
...tionSignatureSigningParametersResolverTest.java | 11 +-
...DataEncryptionAlgorithmsLookupStrategyTest.java | 18 +--
.../DefaultEncryptionParametersResolverTest.java | 169 ++++++++++++---------
...portEncryptionAlgorithmsLookupStrategyTest.java | 18 +--
.../RelyingPartySigningParametersResolverTest.java | 109 +++++++------
7 files changed, 216 insertions(+), 159 deletions(-)
diff --git a/oidc-common-crypto-api/src/test/java/net/shibboleth/oidc/jwk/RemoteJwkSetCacheTest.java b/oidc-common-crypto-api/src/test/java/net/shibboleth/oidc/jwk/RemoteJwkSetCacheTest.java
index 83623f0..3c305cc 100644
--- a/oidc-common-crypto-api/src/test/java/net/shibboleth/oidc/jwk/RemoteJwkSetCacheTest.java
+++ b/oidc-common-crypto-api/src/test/java/net/shibboleth/oidc/jwk/RemoteJwkSetCacheTest.java
@@ -41,6 +41,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
/**
* Unit tests for {@link RemoteJwkSetCache}.
*/
+ at SuppressWarnings("javadoc")
public class RemoteJwkSetCacheTest {
RemoteJwkSetCache jwkSetCache;
@@ -102,7 +103,7 @@ public class RemoteJwkSetCacheTest {
// Now lookup key that is not in the cached set
final JWKSet jwkSet = jwkSetCache.fetch(new URI(uri), "key-not-in-keyset", Instant.now().plusSeconds(500));
- Assert.assertNotNull(jwkSet);
+ assert jwkSet != null;
Assert.assertTrue(jwkSet.getKeyByKeyId("key-not-in-keyset") == null);
}
@@ -126,7 +127,7 @@ public class RemoteJwkSetCacheTest {
// Now lookup key that is not in the cached set
final JWKSet jwkSet = jwkSetCache.fetch(new URI(uri), "key-in-rotated-keyset", Instant.now().plusSeconds(500));
- Assert.assertNotNull(jwkSet);
+ assert jwkSet != null;
Assert.assertTrue(jwkSet.getKeyByKeyId("key-in-rotated-keyset") != null);
}
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningParametersResolverTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningParametersResolverTest.java
index 9772823..1a9753d 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningParametersResolverTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/BasicSignatureSigningParametersResolverTest.java
@@ -7,8 +7,8 @@ import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
+import java.security.PrivateKey;
import java.security.spec.ECParameterSpec;
-import java.util.Collections;
import java.util.List;
import org.opensaml.core.config.InitializationException;
@@ -32,6 +32,7 @@ import net.shibboleth.oidc.security.credential.DefaultClientSecretCredential;
import net.shibboleth.oidc.security.impl.support.TestCredentialHelper;
import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
import net.shibboleth.oidc.security.jose.criterion.SignatureSigningConfigurationCriterion;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
/** Tests for the {@link BasicSignatureSigningParametersResolver}.*/
@@ -61,7 +62,7 @@ public class BasicSignatureSigningParametersResolverTest {
final BasicSignatureSigningConfiguration config = new BasicSignatureSigningConfiguration();
config.setSignatureAlgorithms(supportedSigningAlgos);
config.setSigningCredentials(credentials);
- crit.add(new SignatureSigningConfigurationCriterion(List.of(config)));
+ crit.add(new SignatureSigningConfigurationCriterion(CollectionSupport.singletonList(config)));
return crit;
}
@@ -75,8 +76,9 @@ public class BasicSignatureSigningParametersResolverTest {
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getSecretKey());
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getSecretKey());
}
@Test
@@ -104,8 +106,11 @@ public class BasicSignatureSigningParametersResolverTest {
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential().getPrivateKey());
- assertEquals(params.iterator().next().getSigningCredential().getPrivateKey().getAlgorithm(),"RSA");
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ final PrivateKey pkey = cred.getPrivateKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"RSA");
}
@Test
@@ -122,9 +127,11 @@ public class BasicSignatureSigningParametersResolverTest {
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getPrivateKey());
- assertEquals(params.iterator().next().getSigningCredential().getPrivateKey().getAlgorithm(),"RSA");
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ final PrivateKey pkey = cred.getPrivateKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"RSA");
}
@Test
@@ -141,9 +148,11 @@ public class BasicSignatureSigningParametersResolverTest {
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getPrivateKey());
- assertEquals(params.iterator().next().getSigningCredential().getPrivateKey().getAlgorithm(),"EC");
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ final PrivateKey pkey = cred.getPrivateKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"EC");
}
/**
@@ -174,13 +183,15 @@ public class BasicSignatureSigningParametersResolverTest {
final SignatureSigningParameters sigParams = params.iterator().next();
assertNotNull(sigParams.getSigningCredential());
final Credential cred = sigParams.getSigningCredential();
- assertNotNull(cred.getPrivateKey());
+ assert cred != null;
+ final PrivateKey pkey = cred.getPrivateKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"EC");
assertTrue(cred.getPrivateKey() instanceof java.security.interfaces.ECKey);
final java.security.interfaces.ECKey ecPrivateKeyChosen = (java.security.interfaces.ECKey)cred.getPrivateKey();
+ assert ecPrivateKeyChosen != null;
final ECParameterSpec ecParameterSpec = ecPrivateKeyChosen.getParams();
- assertEquals(cred.getPrivateKey().getAlgorithm(),"EC");
-
// Check the curve is compatible with the ES512 alg.
final JWSAlgorithm algCompatibleWithCredentialCurve =
ECDSA.resolveAlgorithm(Curve.forECParameterSpec(ecParameterSpec));
@@ -198,7 +209,7 @@ public class BasicSignatureSigningParametersResolverTest {
.keyUse(KeyUse.SIGNATURE)
.generate();
- final CriteriaSet criteria = buildCriteria(Collections.emptyList(),
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.emptyList(),
List.of(TestCredentialHelper.createAsymmetricSigningCredential(keyRecipient)));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
@@ -206,4 +217,4 @@ public class BasicSignatureSigningParametersResolverTest {
assertFalse(params.iterator().hasNext());
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/ClientInformationSignatureSigningParametersResolverTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/ClientInformationSignatureSigningParametersResolverTest.java
index 5145488..dcddfd1 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/ClientInformationSignatureSigningParametersResolverTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/ClientInformationSignatureSigningParametersResolverTest.java
@@ -28,6 +28,7 @@ import java.util.List;
import javax.annotation.Nonnull;
import org.opensaml.core.config.InitializationException;
+import org.opensaml.security.credential.Credential;
import org.opensaml.xmlsec.config.GlobalAlgorithmRegistryInitializer;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
@@ -110,8 +111,9 @@ public class ClientInformationSignatureSigningParametersResolverTest {
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getSecretKey());
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getSecretKey());
}
@Test
@@ -160,8 +162,9 @@ public class ClientInformationSignatureSigningParametersResolverTest {
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getSecretKey());
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getSecretKey());
}
}
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
index b3e7993..f493745 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultDataEncryptionAlgorithmsLookupStrategyTest.java
@@ -15,7 +15,6 @@
package net.shibboleth.oidc.security.jose.impl;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
import java.util.List;
@@ -31,6 +30,7 @@ import net.shibboleth.oidc.jwa.algorithm.descriptors.EncryptionA192CBCHS384;
import net.shibboleth.oidc.jwa.algorithm.descriptors.EncryptionA256CBCHS512;
import net.shibboleth.oidc.jwa.support.EncryptionConstants;
import net.shibboleth.oidc.security.jose.criterion.EncryptionConfigurationCriterion;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
@SuppressWarnings("javadoc")
@@ -55,10 +55,10 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
config = new BasicEncryptionConfiguration();
config.setDataEncryptionAlgorithms(
- List.of(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256,EncryptionConstants.ALGO_ID_ENC_ALG_A128GCM,
+ CollectionSupport.listOf(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256,EncryptionConstants.ALGO_ID_ENC_ALG_A128GCM,
EncryptionConstants.ALGO_ID_ENC_ALG_A256CBC_HS512, EncryptionConstants.ALGO_ID_ENC_ALG_A192CBC_HS384));
- criteria = new CriteriaSet(new EncryptionConfigurationCriterion(List.of(config)));
+ criteria = new CriteriaSet(new EncryptionConfigurationCriterion(CollectionSupport.singletonList(config)));
strategy = new DefaultDataEncryptionAlgorithmsLookupStrategy(algorithmRegistry);
}
@@ -66,7 +66,7 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
@Test
public void testSuccess_AllAlgs() {
final List<String> keyAlgs = strategy.apply(criteria, Predicates.alwaysTrue());
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 4);
}
@@ -79,7 +79,7 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
strategy = new DefaultDataEncryptionAlgorithmsLookupStrategy(algorithmRegistry);
final List<String> keyAlgs = strategy.apply(criteria, Predicates.alwaysTrue());
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 2);
}
@@ -87,7 +87,7 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
public void testSuccess_SomeAlgsExcluded() {
final List<String> keyAlgs = strategy.apply(
criteria, alg -> !EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256.equals(alg));
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 3);
}
@@ -96,7 +96,7 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
// Set only one included alg
final List<String> keyAlgs = strategy.apply(
criteria, alg -> EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256.equals(alg));
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 1);
}
@@ -105,8 +105,8 @@ public class DefaultDataEncryptionAlgorithmsLookupStrategyTest {
// Set the only included alg as the A256GCM algorithm
final List<String> keyAlgs = strategy.apply(
criteria, alg -> EncryptionConstants.ALGO_ID_ENC_ALG_A256GCM.equals(alg));
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 0);
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java
index 9a0cd51..0369a34 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultEncryptionParametersResolverTest.java
@@ -21,10 +21,14 @@ import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
+import java.security.PublicKey;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import javax.crypto.SecretKey;
+
import org.opensaml.core.config.InitializationException;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.UsageType;
@@ -54,6 +58,7 @@ import net.shibboleth.oidc.security.impl.support.TestCredentialHelper;
import net.shibboleth.oidc.security.jose.EncryptionParameters;
import net.shibboleth.oidc.security.jose.criterion.ClientSecretCredentialCriterion;
import net.shibboleth.oidc.security.jose.criterion.EncryptionConfigurationCriterion;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
@@ -88,17 +93,19 @@ public class DefaultEncryptionParametersResolverTest {
@Override
- protected Iterable<Credential> resolveFromSource(final CriteriaSet criteriaSet) throws ResolverException {
- if (criteriaSet.contains(ClientSecretCredentialCriterion.class)) {
- final ClientSecretCredentialCriterion credentialCriterion =
- criteriaSet.get(ClientSecretCredentialCriterion.class);
- final ClientSecretCredential credential = credentialCriterion.getCredential();
+ @Nonnull protected Iterable<Credential> resolveFromSource(@Nullable final CriteriaSet criteriaSet)
+ throws ResolverException {
+
+ final ClientSecretCredentialCriterion secretCrit =
+ criteriaSet != null ? criteriaSet.get(ClientSecretCredentialCriterion.class) : null;
+ if (secretCrit != null) {
+ final ClientSecretCredential credential = secretCrit.getCredential();
// Wrong key type for encryption
- return List.of(credential.toSigningCredential());
+ return CollectionSupport.singletonList(credential.toSigningCredential());
} else {
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
@@ -115,7 +122,8 @@ public class DefaultEncryptionParametersResolverTest {
}
@Override
- protected Iterable<Credential> resolveFromSource(final CriteriaSet criteriaSet) throws ResolverException {
+ @Nonnull protected Iterable<Credential> resolveFromSource(@Nullable final CriteriaSet criteriaSet)
+ throws ResolverException {
return creds;
}
@@ -131,16 +139,16 @@ public class DefaultEncryptionParametersResolverTest {
config = new BasicEncryptionConfiguration();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_128_KW, KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256,
+ CollectionSupport.listOf(KeyManagementConstants.ALGO_ID_ALG_AES_128_KW, KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256,
KeyManagementConstants.ALGO_ID_ALG_ECDH_ES_AES_192_KW, KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP));
if (addDataEncryptionAlgs) {
config.setDataEncryptionAlgorithms(
- List.of(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256,EncryptionConstants.ALGO_ID_ENC_ALG_A128GCM,
+ CollectionSupport.listOf(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256,EncryptionConstants.ALGO_ID_ENC_ALG_A128GCM,
EncryptionConstants.ALGO_ID_ENC_ALG_A256CBC_HS512));
} else {
- config.setDataEncryptionAlgorithms(Collections.emptyList());
+ config.setDataEncryptionAlgorithms(CollectionSupport.emptyList());
}
- final CriteriaSet criteria = new CriteriaSet(new EncryptionConfigurationCriterion(List.of(config)));
+ final CriteriaSet criteria = new CriteriaSet(new EncryptionConfigurationCriterion(CollectionSupport.listOf(config)));
criteria.add(new UsageCriterion(UsageType.ENCRYPTION));
return criteria;
}
@@ -149,7 +157,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicRSA() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
final List<Credential> creds = new ArrayList<>();
final RSAKey key = new RSAKeyGenerator(2048)
@@ -166,14 +174,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getPublicKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getPublicKey().getAlgorithm(),"RSA");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final PublicKey pkey = cred.getPublicKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"RSA");
}
@@ -181,7 +191,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicRSA_noDataEncryptionAlgs() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet(false);
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
final List<Credential> creds = new ArrayList<>();
final RSAKey key = new RSAKeyGenerator(2048)
@@ -203,7 +213,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicRSA_WrongAlgorithmInConfig() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP));
final List<Credential> creds = new ArrayList<>();
final RSAKey key = new RSAKeyGenerator(2048)
@@ -229,7 +239,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicRSA_NoAlgorithmSpecifiedInJWKCredential() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
final List<Credential> creds = new ArrayList<>();
final RSAKey key = new RSAKeyGenerator(2048)
@@ -244,21 +254,23 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getPublicKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getPublicKey().getAlgorithm(),"RSA");
+ final Credential transportcred = param.getKeyTransportEncryptionCredential();
+ assert transportcred != null;
+ final PublicKey pkey = transportcred.getPublicKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"RSA");
}
@Test
public void testBasicRSA_WrongAlgorithmInFirstKey_ChooseSecondKey() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
- config.setKeyTransportEncryptionAlgorithms(List.of(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
+ config.setKeyTransportEncryptionAlgorithms(CollectionSupport.listOf(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
final RSAKey key = new RSAKeyGenerator(2048)
.algorithm(JWEAlgorithm.RSA_OAEP)
.keyUse(KeyUse.ENCRYPTION)
@@ -275,21 +287,22 @@ public class DefaultEncryptionParametersResolverTest {
config.setKEKCredentialResolver(new MockStaticFilteringCredentialResolver(creds));
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getPublicKey());
- assertTrue(param.getKeyTransportEncryptionCredential().getKeyNames().contains("mock-key-correct-type"));
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ assertNotNull(cred.getPublicKey());
+ assertTrue(cred.getKeyNames().contains("mock-key-correct-type"));
}
@Test
public void testBasicEC() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_ECDH_ES));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_ECDH_ES));
final List<Credential> creds = new ArrayList<>();
final ECKey key = new ECKeyGenerator(Curve.P_256)
@@ -305,14 +318,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_ECDH_ES);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getPublicKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getPublicKey().getAlgorithm(),"EC");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final PublicKey pkey = cred.getPublicKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"EC");
}
@@ -321,7 +336,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrap() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
final List<Credential> creds = new ArrayList<>();
creds.add(TestCredentialHelper.createClientSecretCredential(SYMMETRIC_KEY)
@@ -332,14 +347,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_AES_256_KW);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(),"AES");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final SecretKey skey = cred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(),"AES");
}
@@ -354,8 +371,8 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrap_KeyWrapKeySizeDifferentThanEncryptionMethod() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_192_KW));
- config.setDataEncryptionAlgorithms(List.of(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_AES_192_KW));
+ config.setDataEncryptionAlgorithms(CollectionSupport.singletonList(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256));
final List<Credential> creds = new ArrayList<>();
creds.add(TestCredentialHelper.createClientSecretCredential(SYMMETRIC_KEY)
@@ -365,14 +382,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_AES_192_KW);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(),"AES");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final SecretKey skey = cred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(),"AES");
}
@@ -381,8 +400,8 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrap_WrongKeyLength() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_128_KW));
- config.setDataEncryptionAlgorithms(List.of(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256));
+ CollectionSupport.listOf(KeyManagementConstants.ALGO_ID_ALG_AES_128_KW));
+ config.setDataEncryptionAlgorithms(CollectionSupport.listOf(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256));
final List<Credential> creds = new ArrayList<>();
creds.add(TestCredentialHelper.createClientSecretCredential(SYMMETRIC_KEY)
@@ -400,7 +419,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrapWhenRSAKeyAlsoExists() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
final List<Credential> creds = new ArrayList<>();
final RSAKey key = new RSAKeyGenerator(2048)
@@ -417,14 +436,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_AES_256_KW);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(),"AES");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final SecretKey skey = cred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(),"AES");
}
@@ -433,7 +454,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrapWhenRSAKeyAlsoExists_CheckOrderingIsPreserved() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW,
+ CollectionSupport.listOf(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW,
KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256));
final List<Credential> creds = new ArrayList<>();
@@ -451,14 +472,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_AES_256_KW);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(),"AES");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final SecretKey skey = cred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(),"AES");
}
@@ -467,7 +490,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrapWhenRSAKeyAlsoExists_CheckOrderingIsPreserved_RSAFirst() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256,
+ CollectionSupport.listOf(KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256,
KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
final List<Credential> creds = new ArrayList<>();
@@ -485,14 +508,16 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256);
- assertNotNull(param.getKeyTransportEncryptionCredential());
- assertNotNull(param.getKeyTransportEncryptionCredential().getPublicKey());
- assertEquals(param.getKeyTransportEncryptionCredential().getPublicKey().getAlgorithm(),"RSA");
+ final Credential cred = param.getKeyTransportEncryptionCredential();
+ assert cred != null;
+ final PublicKey pkey = cred.getPublicKey();
+ assert pkey != null;
+ assertEquals(pkey.getAlgorithm(),"RSA");
}
@@ -500,7 +525,7 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicAESKeyWrap_WrongKeyAndUsageType() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_AES_256_KW));
criteria.add(
new ClientSecretCredentialCriterion(new DefaultClientSecretCredential(SYMMETRIC_KEY)));
@@ -516,8 +541,8 @@ public class DefaultEncryptionParametersResolverTest {
public void testBasicDirectEncryption() throws Exception {
final CriteriaSet criteria = buildBasicCriteriaSet();
config.setKeyTransportEncryptionAlgorithms(
- List.of(KeyManagementConstants.ALGO_ID_ALG_DIR));
- config.setDataEncryptionAlgorithms(List.of(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256,
+ CollectionSupport.singletonList(KeyManagementConstants.ALGO_ID_ALG_DIR));
+ config.setDataEncryptionAlgorithms(CollectionSupport.listOf(EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256,
EncryptionConstants.ALGO_ID_ENC_ALG_A256CBC_HS512));
final List<Credential> creds = new ArrayList<>();
@@ -529,15 +554,17 @@ public class DefaultEncryptionParametersResolverTest {
final EncryptionParameters param = resolver.resolveSingle(criteria);
- assertNotNull(param);
+ assert param != null;
assertNotNull(param.getDataEncryptionAlgorithm());
assertNotNull(param.getKeyTransportEncryptionAlgorithm());
assertEquals(param.getDataEncryptionAlgorithm(),EncryptionConstants.ALGO_ID_ENC_ALG_A128CBC_HS256);
assertEquals(param.getKeyTransportEncryptionAlgorithm(),KeyManagementConstants.ALGO_ID_ALG_DIR);
- assertNotNull(param.getDataEncryptionCredential());
- assertNotNull(param.getDataEncryptionCredential().getSecretKey());
- assertEquals(param.getDataEncryptionCredential().getSecretKey().getAlgorithm(),"AES");
+ final Credential cred = param.getDataEncryptionCredential();
+ assert cred != null;
+ final SecretKey skey = cred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(),"AES");
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
index 6172eba..ddfbc8e 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest.java
@@ -15,7 +15,6 @@
package net.shibboleth.oidc.security.jose.impl;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
import java.util.List;
@@ -31,6 +30,7 @@ import net.shibboleth.oidc.jwa.algorithm.descriptors.KeyTransportRSAOAEP256;
import net.shibboleth.oidc.jwa.algorithm.descriptors.SymmetricKeyWrapA128KW;
import net.shibboleth.oidc.jwa.support.KeyManagementConstants;
import net.shibboleth.oidc.security.jose.criterion.EncryptionConfigurationCriterion;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
@SuppressWarnings("javadoc")
@@ -58,7 +58,7 @@ public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
List.of(KeyManagementConstants.ALGO_ID_ALG_AES_128_KW, KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP_256,
KeyManagementConstants.ALGO_ID_ALG_ECDH_ES, KeyManagementConstants.ALGO_ID_ALG_RSA_OAEP));
- criteria = new CriteriaSet(new EncryptionConfigurationCriterion(List.of(config)));
+ criteria = new CriteriaSet(new EncryptionConfigurationCriterion(CollectionSupport.singletonList(config)));
strategy = new DefaultKeyTransportEncryptionAlgorithmsLookupStrategy(algorithmRegistry);
}
@@ -66,14 +66,14 @@ public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
@Test
public void testSuccess_AllAlgs() {
final List<String> keyAlgs = strategy.apply(criteria, Predicates.alwaysTrue());
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 4);
}
@Test
public void testSuccess() {
final List<String> keyAlgs = strategy.apply(criteria, Predicates.alwaysTrue());
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 4);
}
@@ -86,7 +86,7 @@ public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
strategy = new DefaultKeyTransportEncryptionAlgorithmsLookupStrategy(algorithmRegistry);
final List<String> keyAlgs = strategy.apply(criteria, Predicates.alwaysTrue());
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 2);
}
@@ -94,7 +94,7 @@ public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
public void testSuccess_SomeAlgsExcluded() {
final List<String> keyAlgs = strategy.apply(
criteria, alg -> !KeyManagementConstants.ALGO_ID_ALG_AES_128_KW.equals(alg));
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 3);
}
@@ -103,7 +103,7 @@ public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
// Set only one included alg
final List<String> keyAlgs = strategy.apply(
criteria, alg -> KeyManagementConstants.ALGO_ID_ALG_AES_128_KW.equals(alg));
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 1);
}
@@ -112,8 +112,8 @@ public class DefaultKeyTransportEncryptionAlgorithmsLookupStrategyTest {
// Set the only included alg as the Dir algorithm
final List<String> keyAlgs = strategy.apply(
criteria, alg -> KeyManagementConstants.ALGO_ID_ALG_DIR.equals(alg));
- assertNotNull(keyAlgs);
+ assert keyAlgs != null;
assertEquals(keyAlgs.size(), 0);
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/RelyingPartySigningParametersResolverTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/RelyingPartySigningParametersResolverTest.java
index 8cb213b..2c8474f 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/RelyingPartySigningParametersResolverTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/jose/impl/RelyingPartySigningParametersResolverTest.java
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
import org.opensaml.core.config.InitializationException;
import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.UsageType;
import org.opensaml.xmlsec.config.GlobalAlgorithmRegistryInitializer;
import org.testng.annotations.BeforeMethod;
@@ -58,6 +59,7 @@ import net.shibboleth.oidc.security.jose.criterion.SignatureSigningConfiguration
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.BasicRelyingPartyConfiguration;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
@@ -103,19 +105,20 @@ public class RelyingPartySigningParametersResolverTest {
@Test
public void testResolveSuccess_StaticCredentials() throws ResolverException {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getSecretKey());
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getSecretKey());
}
@Test
public void testResolveFail_StaticCredentials_UnsupportedMethod() throws ResolverException {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RS_256));
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_RS_256));
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
@@ -125,48 +128,50 @@ public class RelyingPartySigningParametersResolverTest {
@Test
public void testResolveSuccess_StaticCredentials_ConfigSupportsOne() throws ResolverException {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.listOf(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));;
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getSecretKey());
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getSecretKey());
}
@Test
public void testResolveSuccess_StaticCredentials_OPSupportsOne() throws ResolverException, URISyntaxException {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.listOf(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
// Now let the OP support one of those which matches the credential
final OIDCProviderMetadata metadata =
- new OIDCProviderMetadata(new Issuer("test"), List.of(SubjectType.PUBLIC), new URI("nowhere"));
- metadata.setRequestObjectJWSAlgs(List.of(JWSAlgorithm.HS256));
+ new OIDCProviderMetadata(new Issuer("test"), CollectionSupport.singletonList(SubjectType.PUBLIC), new URI("nowhere"));
+ metadata.setRequestObjectJWSAlgs(CollectionSupport.singletonList(JWSAlgorithm.HS256));
criteria.add(new ProviderMetadataCriterion(metadata));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getSecretKey());
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getSecretKey());
}
@Test
public void testResolveSuccess_StaticCredentials_OPSupportsNone() throws ResolverException, URISyntaxException {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.listOf(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
// Now let the OP support none of those supported by the config
final OIDCProviderMetadata metadata =
- new OIDCProviderMetadata(new Issuer("test"), List.of(SubjectType.PUBLIC), new URI("nowhere"));
- metadata.setRequestObjectJWSAlgs(List.of(JWSAlgorithm.EdDSA));
+ new OIDCProviderMetadata(new Issuer("test"), CollectionSupport.singletonList(SubjectType.PUBLIC), new URI("nowhere"));
+ metadata.setRequestObjectJWSAlgs(CollectionSupport.singletonList(JWSAlgorithm.EdDSA));
criteria.add(new ProviderMetadataCriterion(metadata));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
@@ -176,7 +181,7 @@ public class RelyingPartySigningParametersResolverTest {
@Test
public void testResolveSuccess_RSACredentials_OPSupportsOne() throws Exception {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.listOf(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
// Create the normal client_secret
@@ -184,33 +189,36 @@ public class RelyingPartySigningParametersResolverTest {
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
// Add an RSA type to the security config
+ final SignatureSigningConfigurationCriterion signingCrit = criteria.get(SignatureSigningConfigurationCriterion.class);
+ assert signingCrit != null;
+
final BasicSignatureSigningConfiguration config =
- (BasicSignatureSigningConfiguration)
- criteria.get(SignatureSigningConfigurationCriterion.class).getConfigurations().get(0);
+ (BasicSignatureSigningConfiguration) signingCrit.getConfigurations().get(0);
- config.setSigningCredentials(List.of(createRSASigningCredential(new RSAKeyGenerator(2048)
+ config.setSigningCredentials(CollectionSupport.singletonList(createRSASigningCredential(new RSAKeyGenerator(2048)
.keyID("1")
.keyUse(KeyUse.SIGNATURE)
.generate())));
// Now let the OP support one of those which matches one of the credentials
final OIDCProviderMetadata metadata =
- new OIDCProviderMetadata(new Issuer("test"), List.of(SubjectType.PUBLIC), new URI("nowhere"));
- metadata.setRequestObjectJWSAlgs(List.of(JWSAlgorithm.RS256));
+ new OIDCProviderMetadata(new Issuer("test"), CollectionSupport.singletonList(SubjectType.PUBLIC), new URI("nowhere"));
+ metadata.setRequestObjectJWSAlgs(CollectionSupport.singletonList(JWSAlgorithm.RS256));
criteria.add(new ProviderMetadataCriterion(metadata));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getPrivateKey());
- assertTrue(params.iterator().next().getSigningCredential().getPrivateKey() instanceof RSAPrivateKey);
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getPrivateKey());
+ assertTrue(cred.getPrivateKey() instanceof RSAPrivateKey);
}
/* Also should preserve alg order from the config.*/
@Test
public void testResolveSuccess_ECCredentials_OPSupportsTwo() throws Exception {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.listOf(SignatureConstants.ALGO_ID_SIGNATURE_RS_256,
SignatureConstants.ALGO_ID_SIGNATURE_HS_256, SignatureConstants.ALGO_ID_SIGNATURE_ES_256));
// Create the normal client_secret
@@ -218,46 +226,51 @@ public class RelyingPartySigningParametersResolverTest {
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
// Add an RSA type to the security config
+ final SignatureSigningConfigurationCriterion signingCrit = criteria.get(SignatureSigningConfigurationCriterion.class);
+ assert signingCrit != null;
+
final BasicSignatureSigningConfiguration config =
- (BasicSignatureSigningConfiguration)
- criteria.get(SignatureSigningConfigurationCriterion.class).getConfigurations().get(0);
+ (BasicSignatureSigningConfiguration) signingCrit.getConfigurations().get(0);
- config.setSigningCredentials(List.of(createRSASigningCredential(
+ config.setSigningCredentials(CollectionSupport.singletonList(createRSASigningCredential(
new ECKeyGenerator(Curve.P_256).keyID("123").generate())));
// Now let the OP support one of those which matches one of the credentials
final OIDCProviderMetadata metadata =
- new OIDCProviderMetadata(new Issuer("test"), List.of(SubjectType.PUBLIC), new URI("nowhere"));
- metadata.setRequestObjectJWSAlgs(List.of(JWSAlgorithm.ES256, JWSAlgorithm.RS256));
+ new OIDCProviderMetadata(new Issuer("test"), CollectionSupport.singletonList(SubjectType.PUBLIC), new URI("nowhere"));
+ metadata.setRequestObjectJWSAlgs(CollectionSupport.listOf(JWSAlgorithm.ES256, JWSAlgorithm.RS256));
criteria.add(new ProviderMetadataCriterion(metadata));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
assertNotNull(params);
assertTrue(params.iterator().hasNext());
- assertNotNull(params.iterator().next().getSigningCredential());
- assertNotNull(params.iterator().next().getSigningCredential().getPrivateKey());
- assertTrue(params.iterator().next().getSigningCredential().getPrivateKey() instanceof ECPrivateKey);
+ final Credential cred = params.iterator().next().getSigningCredential();
+ assert cred != null;
+ assertNotNull(cred.getPrivateKey());
+ assertTrue(cred.getPrivateKey() instanceof ECPrivateKey);
}
@Test
public void testResolveFail_AlgorithmExcluded() throws Exception {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
// Create the normal client_secret
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
+ final SignatureSigningConfigurationCriterion signingCrit = criteria.get(SignatureSigningConfigurationCriterion.class);
+ assert signingCrit != null;
+
final BasicSignatureSigningConfiguration config =
- (BasicSignatureSigningConfiguration)
- criteria.get(SignatureSigningConfigurationCriterion.class).getConfigurations().get(0);
+ (BasicSignatureSigningConfiguration) signingCrit.getConfigurations().get(0);
// Explicitly exclude the algorithm
- config.setExcludedAlgorithms(List.of(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
+ config.setExcludedAlgorithms(CollectionSupport.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
final OIDCProviderMetadata metadata =
- new OIDCProviderMetadata(new Issuer("test"), List.of(SubjectType.PUBLIC), new URI("nowhere"));
- metadata.setRequestObjectJWSAlgs(List.of(JWSAlgorithm.HS256));
+ new OIDCProviderMetadata(new Issuer("test"), CollectionSupport.singletonList(SubjectType.PUBLIC), new URI("nowhere"));
+ metadata.setRequestObjectJWSAlgs(CollectionSupport.singletonList(JWSAlgorithm.HS256));
criteria.add(new ProviderMetadataCriterion(metadata));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
@@ -268,22 +281,24 @@ public class RelyingPartySigningParametersResolverTest {
@Test
public void testResolveFail_AlgorithmNotInIncludeList() throws Exception {
- final CriteriaSet criteria = buildCriteria(List.of(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
+ final CriteriaSet criteria = buildCriteria(CollectionSupport.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_HS_256));
// Create the normal client_secret
criteria.add(new ClientSecretCredentialCriterion(
new DefaultClientSecretCredential(CLIENT_SECRET_256)));
+ final SignatureSigningConfigurationCriterion signingCrit = criteria.get(SignatureSigningConfigurationCriterion.class);
+ assert signingCrit != null;
+
final BasicSignatureSigningConfiguration config =
- (BasicSignatureSigningConfiguration)
- criteria.get(SignatureSigningConfigurationCriterion.class).getConfigurations().get(0);
+ (BasicSignatureSigningConfiguration) signingCrit.getConfigurations().get(0);
// Do not include the algorithm
- config.setIncludedAlgorithms(List.of(SignatureConstants.ALGO_ID_SIGNATURE_HS_512));
+ config.setIncludedAlgorithms(CollectionSupport.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_HS_512));
final OIDCProviderMetadata metadata =
- new OIDCProviderMetadata(new Issuer("test"), List.of(SubjectType.PUBLIC), new URI("nowhere"));
- metadata.setRequestObjectJWSAlgs(List.of(JWSAlgorithm.HS256));
+ new OIDCProviderMetadata(new Issuer("test"), CollectionSupport.singletonList(SubjectType.PUBLIC), new URI("nowhere"));
+ metadata.setRequestObjectJWSAlgs(CollectionSupport.singletonList(JWSAlgorithm.HS256));
criteria.add(new ProviderMetadataCriterion(metadata));
final Iterable<SignatureSigningParameters> params = resolver.resolve(criteria);
@@ -296,7 +311,7 @@ public class RelyingPartySigningParametersResolverTest {
final CriteriaSet crit = new CriteriaSet();
final BasicSignatureSigningConfiguration config = new BasicSignatureSigningConfiguration();
config.setSignatureAlgorithms(supportedSigningAlgos);
- crit.add(new SignatureSigningConfigurationCriterion(List.of(config)));
+ crit.add(new SignatureSigningConfigurationCriterion(CollectionSupport.singletonList(config)));
return crit;
}
@@ -323,4 +338,4 @@ public class RelyingPartySigningParametersResolverTest {
return jwkCredential;
}
-}
+}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list