[java-opensaml] branch main updated: IDP-2069 - Null Handling Task
Scott Cantor
cantor.2 at osu.edu
Mon Apr 3 18:03:08 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=7fbd82de70cc286ae0b54f370ee288b11756defa
The following commit(s) were added to refs/heads/main by this push:
new 7fbd82de7 IDP-2069 - Null Handling Task
7fbd82de7 is described below
commit 7fbd82de70cc286ae0b54f370ee288b11756defa
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Apr 3 14:03:05 2023 -0400
IDP-2069 - Null Handling Task
https://shibboleth.atlassian.net/browse/IDP-2069
Cleaned most tests in xmlsec-impl.
Add some clarifying comments.
---
.../core/testing/XMLObjectBaseTestCase.java | 2 +-
.../support/DefaultPreDecryptionValidator.java | 3 +-
.../KeyAgreementEncryptionConfiguration.java | 12 +-
opensaml-xmlsec-impl/pom.xml | 5 +
.../impl/BasicEncryptionParametersResolver.java | 3 +
.../DefaultSecurityConfigurationBootstrapTest.java | 31 ++-
.../encryption/impl/AgreementMethodTest.java | 12 +-
.../xmlsec/encryption/impl/CarriedKeyNameTest.java | 6 +-
.../xmlsec/encryption/impl/CipherDataTest.java | 12 +-
.../tests/ChainingEncryptedKeyResolverTest.java | 20 +-
.../support/tests/DHWithExplicitKDFTest.java | 66 +++--
.../support/tests/DHWithLegacyKDFTest.java | 57 +++--
.../xmlsec/encryption/support/tests/ECDHTest.java | 61 +++--
.../support/tests/EncryptionClonedContentTest.java | 36 +--
.../tests/InlineEncryptedKeyResolverTest.java | 76 +++---
.../support/tests/SimpleDecryptionTest.java | 11 +-
.../support/tests/SimpleEncryptionTest.java | 211 ++++++++++------
...leKeyInfoReferenceEncryptedKeyResolverTest.java | 67 ++---
...pleRetrievalMethodEncryptedKeyResolverTest.java | 75 +++---
.../AbstractSecurityParametersResolverTest.java | 75 +++---
.../AlgorithmPolicyConfigurationCriterion.java | 7 +-
.../AlgorithmRuntimeSupportedPredicateTest.java | 6 +-
.../BasicAlgorithmPolicyConfigurationTest.java | 8 +-
.../impl/BasicDecryptionConfigurationTest.java | 1 +
.../BasicDecryptionParametersResolverTest.java | 9 +-
.../impl/BasicEncryptionConfigurationTest.java | 4 +-
.../BasicEncryptionParametersResolverTest.java | 271 +++++++++++++--------
.../BasicSignatureSigningConfigurationTest.java | 4 +-
...asicSignatureSigningParametersResolverTest.java | 67 ++---
.../BasicSignatureValidationConfigurationTest.java | 1 +
...cSignatureValidationParametersResolverTest.java | 7 +-
.../impl/ExcludedAlgorithmsPredicateTest.java | 14 +-
.../impl/IncludedAlgorithmsPredicateTest.java | 17 +-
.../keyinfo/impl/BasicKeyInfoGeneratorTest.java | 24 +-
.../impl/KeyAgreementKeyInfoGeneratorTest.java | 243 +++++++++++-------
.../impl/LocalKeyInfoCredentialResolverTest.java | 35 +--
.../keyinfo/impl/StaticKeyInfoGeneratorTest.java | 5 +-
.../keyinfo/impl/X509KeyInfoGeneratorTest.java | 76 +++---
.../xmlsec/keyinfo/tests/KeyInfoSupportTest.java | 157 ++++++++----
.../impl/ChainingSignatureTrustEngineTest.java | 13 +-
.../impl/ExplicitKeySignatureTrustEngineTest.java | 49 ++--
.../support/impl/PKIXSignatureTrustEngineTest.java | 45 ++--
.../support/tests/DetachedSignatureTest.java | 16 +-
.../support/tests/EnvelopedSignatureTest.java | 6 +-
.../signature/support/tests/HMACSignatureTest.java | 5 +-
.../xmlsec/testing/XMLSecurityTestingSupport.java | 8 +-
46 files changed, 1159 insertions(+), 780 deletions(-)
diff --git a/opensaml-testing/src/main/java/org/opensaml/core/testing/XMLObjectBaseTestCase.java b/opensaml-testing/src/main/java/org/opensaml/core/testing/XMLObjectBaseTestCase.java
index 328b84aec..2d9bbe8b9 100644
--- a/opensaml-testing/src/main/java/org/opensaml/core/testing/XMLObjectBaseTestCase.java
+++ b/opensaml-testing/src/main/java/org/opensaml/core/testing/XMLObjectBaseTestCase.java
@@ -138,7 +138,7 @@ public abstract class XMLObjectBaseTestCase extends OpenSAMLInitBaseTestCase {
*
* @return the built XMLObject
*/
- protected <T extends XMLObject> T buildXMLObject(@Nonnull final QName name) {
+ @Nonnull protected <T extends XMLObject> T buildXMLObject(@Nonnull final QName name) {
final XMLObjectBuilder<T> builder = getBuilder(name);
if (builder == null) {
Assert.fail("no builder registered for: " + name);
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DefaultPreDecryptionValidator.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DefaultPreDecryptionValidator.java
index 670557973..475cd46b1 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DefaultPreDecryptionValidator.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DefaultPreDecryptionValidator.java
@@ -64,4 +64,5 @@ public class DefaultPreDecryptionValidator implements PreDecryptionValidator {
encryptedType.getClass().getSimpleName()));
}
}
-}
+
+}
\ No newline at end of file
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyAgreementEncryptionConfiguration.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyAgreementEncryptionConfiguration.java
index d4442f265..28a39e4a6 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyAgreementEncryptionConfiguration.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyAgreementEncryptionConfiguration.java
@@ -25,7 +25,6 @@ import javax.annotation.Nullable;
import org.opensaml.xmlsec.agreement.KeyAgreementParameter;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.primitive.StringSupport;
@@ -36,7 +35,7 @@ import net.shibboleth.shared.primitive.StringSupport;
public class KeyAgreementEncryptionConfiguration {
/** The key agreement algorithm URI. */
- private String algorithm;
+ @Nullable private String algorithm;
/** The collection of {@link KeyAgreementParameter}. */
@Nullable private Collection<KeyAgreementParameter> parameters;
@@ -62,10 +61,13 @@ public class KeyAgreementEncryptionConfiguration {
/**
* Get the collection of {@link KeyAgreementParameter}.
*
- * @return the collection of parameters
+ * <p>Note that null is a very significant return value here as the calling code
+ * will skip nulls but pick the first non-null result, so an empty collection will
+ * circumvent key agreement.</p>
+ *
+ * @return the collection of parameters or null if none exist
*/
- @Nullable @NonnullElements @NotLive @Unmodifiable
- public Collection<KeyAgreementParameter> getParameters() {
+ @Nullable @NotLive @Unmodifiable public Collection<KeyAgreementParameter> getParameters() {
return parameters;
}
diff --git a/opensaml-xmlsec-impl/pom.xml b/opensaml-xmlsec-impl/pom.xml
index 9785e5da7..abc788f3f 100644
--- a/opensaml-xmlsec-impl/pom.xml
+++ b/opensaml-xmlsec-impl/pom.xml
@@ -100,6 +100,11 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>net.shibboleth</groupId>
+ <artifactId>shib-support</artifactId>
+ <version>9.0.0-SNAPSHOT</version>
+ </dependency>
</dependencies>
<scm>
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
index ef1235262..794ff5a14 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
@@ -519,6 +519,9 @@ public class BasicEncryptionParametersResolver extends AbstractSecurityParameter
.findFirst().orElse(null)
);
+ // Note this stops on the first non-null collection of parameters, so an empty collection
+ // will "break" it, and the absence of any parameters must be handled with a null.
+
config.setParameters(
encConfigs.stream()
.map(c -> c.getKeyAgreementConfigurations().get(keyType))
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/config/impl/DefaultSecurityConfigurationBootstrapTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/config/impl/DefaultSecurityConfigurationBootstrapTest.java
index a9d045173..9f302ea09 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/config/impl/DefaultSecurityConfigurationBootstrapTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/config/impl/DefaultSecurityConfigurationBootstrapTest.java
@@ -17,11 +17,13 @@
package org.opensaml.xmlsec.config.impl;
+import java.util.Collection;
import java.util.Map;
import java.util.Properties;
import org.opensaml.core.config.provider.ThreadLocalConfigurationPropertiesHolder;
import org.opensaml.security.crypto.JCAConstants;
+import org.opensaml.xmlsec.agreement.KeyAgreementParameter;
import org.opensaml.xmlsec.derivation.KeyDerivation;
import org.opensaml.xmlsec.derivation.impl.ConcatKDF;
import org.opensaml.xmlsec.derivation.impl.PBKDF2;
@@ -38,7 +40,10 @@ public class DefaultSecurityConfigurationBootstrapTest {
Assert.assertTrue(kaConfigs.containsKey(JCAConstants.KEY_ALGO_EC));
final KeyAgreementEncryptionConfiguration config = kaConfigs.get(JCAConstants.KEY_ALGO_EC);
- final KeyDerivation keyDerivation = config.getParameters().stream()
+ final Collection<KeyAgreementParameter> params = config.getParameters();
+ assert params != null;
+
+ final KeyDerivation keyDerivation = params.stream()
.filter(KeyDerivation.class::isInstance)
.map(KeyDerivation.class::cast)
.findFirst().orElse(null);
@@ -57,7 +62,9 @@ public class DefaultSecurityConfigurationBootstrapTest {
Assert.assertTrue(kaConfigs.containsKey(JCAConstants.KEY_ALGO_EC));
final KeyAgreementEncryptionConfiguration config = kaConfigs.get(JCAConstants.KEY_ALGO_EC);
- KeyDerivation keyDerivation = config.getParameters().stream()
+ final Collection<KeyAgreementParameter> params = config.getParameters();
+ assert params != null;
+ final KeyDerivation keyDerivation = params.stream()
.filter(KeyDerivation.class::isInstance)
.map(KeyDerivation.class::cast)
.findFirst().orElse(null);
@@ -72,15 +79,17 @@ public class DefaultSecurityConfigurationBootstrapTest {
@Test
public void testECDHPBKDF2() {
try {
- Properties props = new Properties();
+ final Properties props = new Properties();
props.setProperty("opensaml.config.ecdh.defaultKDF", "PBKDF2");
ThreadLocalConfigurationPropertiesHolder.setProperties(props);
- Map<String, KeyAgreementEncryptionConfiguration> kaConfigs = DefaultSecurityConfigurationBootstrap.buildKeyAgreementConfigurations();
+ final Map<String, KeyAgreementEncryptionConfiguration> kaConfigs = DefaultSecurityConfigurationBootstrap.buildKeyAgreementConfigurations();
Assert.assertTrue(kaConfigs.containsKey(JCAConstants.KEY_ALGO_EC));
- KeyAgreementEncryptionConfiguration config = kaConfigs.get(JCAConstants.KEY_ALGO_EC);
- KeyDerivation keyDerivation = config.getParameters().stream()
+ final KeyAgreementEncryptionConfiguration config = kaConfigs.get(JCAConstants.KEY_ALGO_EC);
+ final Collection<KeyAgreementParameter> params = config.getParameters();
+ assert params != null;
+ final KeyDerivation keyDerivation = params.stream()
.filter(KeyDerivation.class::isInstance)
.map(KeyDerivation.class::cast)
.findFirst().orElse(null);
@@ -95,15 +104,17 @@ public class DefaultSecurityConfigurationBootstrapTest {
@Test
public void testECDHBadKDF() {
try {
- Properties props = new Properties();
+ final Properties props = new Properties();
props.setProperty("opensaml.config.ecdh.defaultKDF", "BADBADBAD");
ThreadLocalConfigurationPropertiesHolder.setProperties(props);
- Map<String, KeyAgreementEncryptionConfiguration> kaConfigs = DefaultSecurityConfigurationBootstrap.buildKeyAgreementConfigurations();
+ final Map<String, KeyAgreementEncryptionConfiguration> kaConfigs = DefaultSecurityConfigurationBootstrap.buildKeyAgreementConfigurations();
Assert.assertTrue(kaConfigs.containsKey(JCAConstants.KEY_ALGO_EC));
- KeyAgreementEncryptionConfiguration config = kaConfigs.get(JCAConstants.KEY_ALGO_EC);
- KeyDerivation keyDerivation = config.getParameters().stream()
+ final KeyAgreementEncryptionConfiguration config = kaConfigs.get(JCAConstants.KEY_ALGO_EC);
+ final Collection<KeyAgreementParameter> params = config.getParameters();
+ assert params != null;
+ final KeyDerivation keyDerivation = params.stream()
.filter(KeyDerivation.class::isInstance)
.map(KeyDerivation.class::cast)
.findFirst().orElse(null);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/AgreementMethodTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/AgreementMethodTest.java
index 6dd7b343c..99bb81123 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/AgreementMethodTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/AgreementMethodTest.java
@@ -54,9 +54,9 @@ public class AgreementMethodTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testSingleElementUnmarshall() {
- AgreementMethod am = (AgreementMethod) unmarshallElement(singleElementFile);
+ final AgreementMethod am = (AgreementMethod) unmarshallElement(singleElementFile);
- Assert.assertNotNull(am, "AgreementMethod");
+ assert am != null;
Assert.assertEquals(am.getAlgorithm(), expectedAlgorithm, "Algorithm attribute");
Assert.assertNull(am.getKANonce(), "KA-Nonce child element");
Assert.assertEquals(am.getUnknownXMLObjects().size(), 0, "Unknown children");
@@ -67,9 +67,9 @@ public class AgreementMethodTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testChildElementsUnmarshall() {
- AgreementMethod am = (AgreementMethod) unmarshallElement(childElementsFile);
+ final AgreementMethod am = (AgreementMethod) unmarshallElement(childElementsFile);
- Assert.assertNotNull(am, "AgreementMethod");
+ assert am != null;
Assert.assertEquals(am.getAlgorithm(), expectedAlgorithm, "Algorithm attribute");
Assert.assertNotNull(am.getKANonce(), "KA-Nonce child element");
Assert.assertEquals(am.getUnknownXMLObjects().size(), expectedNumUnknownChildren, "Unknown children");
@@ -80,7 +80,7 @@ public class AgreementMethodTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testSingleElementMarshall() {
- AgreementMethod am = (AgreementMethod) buildXMLObject(AgreementMethod.DEFAULT_ELEMENT_NAME);
+ final AgreementMethod am = (AgreementMethod) buildXMLObject(AgreementMethod.DEFAULT_ELEMENT_NAME);
am.setAlgorithm(expectedAlgorithm);
@@ -90,7 +90,7 @@ public class AgreementMethodTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testChildElementsMarshall() {
- AgreementMethod am = (AgreementMethod) buildXMLObject(AgreementMethod.DEFAULT_ELEMENT_NAME);
+ final AgreementMethod am = (AgreementMethod) buildXMLObject(AgreementMethod.DEFAULT_ELEMENT_NAME);
am.setAlgorithm(expectedAlgorithm);
am.setKANonce((KANonce) buildXMLObject(KANonce.DEFAULT_ELEMENT_NAME));
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CarriedKeyNameTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CarriedKeyNameTest.java
index 11b673ac1..5624a43e8 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CarriedKeyNameTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CarriedKeyNameTest.java
@@ -48,16 +48,16 @@ public class CarriedKeyNameTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testSingleElementUnmarshall() {
- CarriedKeyName ckn = (CarriedKeyName) unmarshallElement(singleElementFile);
+ final CarriedKeyName ckn = (CarriedKeyName) unmarshallElement(singleElementFile);
- Assert.assertNotNull(ckn, "CarriedKeyName");
+ assert ckn != null;
Assert.assertEquals(expectedStringContent, ckn.getValue(), "CarriedKeyName value");
}
/** {@inheritDoc} */
@Test
public void testSingleElementMarshall() {
- CarriedKeyName ckn = (CarriedKeyName) buildXMLObject(CarriedKeyName.DEFAULT_ELEMENT_NAME);
+ final CarriedKeyName ckn = (CarriedKeyName) buildXMLObject(CarriedKeyName.DEFAULT_ELEMENT_NAME);
ckn.setValue(expectedStringContent);
assertXMLEquals(expectedDOM, ckn);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CipherDataTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CipherDataTest.java
index 5555847b8..4d980c0ae 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CipherDataTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/impl/CipherDataTest.java
@@ -42,9 +42,9 @@ public class CipherDataTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testSingleElementUnmarshall() {
- CipherData cipherData = (CipherData) unmarshallElement(singleElementFile);
+ final CipherData cipherData = (CipherData) unmarshallElement(singleElementFile);
- Assert.assertNotNull(cipherData, "CipherData");
+ assert cipherData != null;
Assert.assertNull(cipherData.getCipherValue(), "CipherValue child element");
Assert.assertNull(cipherData.getCipherReference(), "CipherReference child element");
}
@@ -52,9 +52,9 @@ public class CipherDataTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testChildElementsUnmarshall() {
- CipherData cipherData = (CipherData) unmarshallElement(childElementsFile);
+ final CipherData cipherData = (CipherData) unmarshallElement(childElementsFile);
- Assert.assertNotNull(cipherData, "CipherData");
+ assert cipherData != null;
Assert.assertNotNull(cipherData.getCipherValue(), "CipherValue child element");
Assert.assertNotNull(cipherData.getCipherReference(), "CipherReference child element");
}
@@ -62,7 +62,7 @@ public class CipherDataTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testSingleElementMarshall() {
- CipherData cipherData = (CipherData) buildXMLObject(CipherData.DEFAULT_ELEMENT_NAME);
+ final CipherData cipherData = (CipherData) buildXMLObject(CipherData.DEFAULT_ELEMENT_NAME);
assertXMLEquals(expectedDOM, cipherData);
}
@@ -70,7 +70,7 @@ public class CipherDataTest extends XMLObjectProviderBaseTestCase {
/** {@inheritDoc} */
@Test
public void testChildElementsMarshall() {
- CipherData cipherData = (CipherData) buildXMLObject(CipherData.DEFAULT_ELEMENT_NAME);
+ final CipherData cipherData = (CipherData) buildXMLObject(CipherData.DEFAULT_ELEMENT_NAME);
cipherData.setCipherValue((CipherValue) buildXMLObject(CipherValue.DEFAULT_ELEMENT_NAME));
cipherData.setCipherReference((CipherReference) buildXMLObject(CipherReference.DEFAULT_ELEMENT_NAME));
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ChainingEncryptedKeyResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ChainingEncryptedKeyResolverTest.java
index 4bf9a2bc7..575e695b9 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ChainingEncryptedKeyResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ChainingEncryptedKeyResolverTest.java
@@ -71,8 +71,8 @@ public class ChainingEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
final KeyInfo keyInfo = encData.getKeyInfo();
assert keyInfo != null;
Assert.assertFalse(keyInfo.getEncryptedKeys().isEmpty());
@@ -95,8 +95,8 @@ public class ChainingEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
final KeyInfo keyInfo = encData.getKeyInfo();
assert keyInfo != null;
Assert.assertFalse(keyInfo.getEncryptedKeys().isEmpty());
@@ -124,8 +124,8 @@ public class ChainingEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
final KeyInfo keyInfo = encData.getKeyInfo();
assert keyInfo != null;
Assert.assertTrue(keyInfo.getEncryptedKeys().isEmpty());
@@ -153,8 +153,8 @@ public class ChainingEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
final KeyInfo keyInfo = encData.getKeyInfo();
assert keyInfo != null;
Assert.assertFalse(keyInfo.getEncryptedKeys().isEmpty());
@@ -183,8 +183,8 @@ public class ChainingEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
final KeyInfo keyInfo = encData.getKeyInfo();
assert keyInfo != null;
Assert.assertFalse(keyInfo.getEncryptedKeys().isEmpty());
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithExplicitKDFTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithExplicitKDFTest.java
index 611c348f0..ef01c213d 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithExplicitKDFTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithExplicitKDFTest.java
@@ -48,6 +48,8 @@ import org.opensaml.xmlsec.derivation.impl.ConcatKDF;
import org.opensaml.xmlsec.derivation.impl.PBKDF2;
import org.opensaml.xmlsec.encryption.AgreementMethod;
import org.opensaml.xmlsec.encryption.EncryptedData;
+import org.opensaml.xmlsec.encryption.EncryptedKey;
+import org.opensaml.xmlsec.encryption.EncryptionMethod;
import org.opensaml.xmlsec.encryption.KeyDerivationMethod;
import org.opensaml.xmlsec.encryption.support.DataEncryptionParameters;
import org.opensaml.xmlsec.encryption.support.Decrypter;
@@ -63,6 +65,7 @@ import org.opensaml.xmlsec.keyinfo.impl.KeyInfoProvider;
import org.opensaml.xmlsec.keyinfo.impl.LocalKeyInfoCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.provider.AgreementMethodKeyInfoProvider;
import org.opensaml.xmlsec.mock.SignableSimpleXMLObject;
+import org.opensaml.xmlsec.signature.KeyInfo;
import org.opensaml.xmlsec.testing.XMLSecurityTestingSupport;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
@@ -71,6 +74,7 @@ import org.testng.annotations.Test;
import org.w3c.dom.Element;
import net.shibboleth.shared.resolver.CriteriaSet;
+import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
@SuppressWarnings("javadoc")
@@ -188,33 +192,46 @@ public class DHWithExplicitKDFTest extends XMLObjectBaseTestCase {
private void testRoundtrip(String expectedDataAlgo, String expectedKEKAlgo, String expectedKDFAlgo) throws Exception {
// Encrypt
- SignableSimpleXMLObject sxoOrig = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxoOrig = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxoOrig != null;
- EncryptionParameters encParams = encParamsResolver.resolveSingle(encCriteria);
- Assert.assertNotNull(encParams);
+ final EncryptionParameters encParams = encParamsResolver.resolveSingle(encCriteria);
+ assert encParams != null;
- DataEncryptionParameters dataEncParams = new DataEncryptionParameters(encParams);
- List<KeyEncryptionParameters> kekParams = encParams.getKeyTransportEncryptionCredential() != null ?
+ final DataEncryptionParameters dataEncParams = new DataEncryptionParameters(encParams);
+ final List<KeyEncryptionParameters> kekParams = encParams.getKeyTransportEncryptionCredential() != null ?
List.of(new KeyEncryptionParameters(encParams, null)) : Collections.emptyList();
- EncryptedData encryptedDataOrig = encrypter.encryptElement(sxoOrig, dataEncParams, kekParams);
+ final EncryptedData encryptedDataOrig = encrypter.encryptElement(sxoOrig, dataEncParams, kekParams);
Assert.assertNotNull(encryptedDataOrig);
Assert.assertNotNull(encryptedDataOrig.getKeyInfo());
if (expectedDataAlgo != null) {
- Assert.assertEquals(encryptedDataOrig.getEncryptionMethod().getAlgorithm(), expectedDataAlgo);
+ final EncryptionMethod method = encryptedDataOrig.getEncryptionMethod();
+ assert method != null;
+ Assert.assertEquals(method.getAlgorithm(), expectedDataAlgo);
}
+
+ final KeyInfo encKeyInfo = encryptedDataOrig.getKeyInfo();
+ assert encKeyInfo != null;
if (expectedKEKAlgo != null) {
- Assert.assertNotNull(encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0));
- Assert.assertEquals(encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0).getEncryptionMethod().getAlgorithm(), expectedKEKAlgo);
+ final EncryptedKey ekey = encKeyInfo.getEncryptedKeys().get(0);
+ assert ekey != null;
+ final EncryptionMethod nestedMethod = ekey.getEncryptionMethod();
+ assert nestedMethod != null;
+ Assert.assertEquals(nestedMethod.getAlgorithm(), expectedKEKAlgo);
}
- AgreementMethod agreementMethod = null;
- if (!encryptedDataOrig.getKeyInfo().getEncryptedKeys().isEmpty()) {
- agreementMethod = encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0).getKeyInfo().getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod;
+ if (!encKeyInfo.getEncryptedKeys().isEmpty()) {
+ final EncryptedKey ekey = encKeyInfo.getEncryptedKeys().get(0);
+ assert ekey != null;
+ final KeyInfo nestedKeyInfo = ekey.getKeyInfo();
+ assert nestedKeyInfo != null;
+ agreementMethod = nestedKeyInfo.getAgreementMethods().get(0);
} else {
- agreementMethod = encryptedDataOrig.getKeyInfo().getAgreementMethods().get(0);
+ agreementMethod = encKeyInfo.getAgreementMethods().get(0);
}
Assert.assertNotNull(agreementMethod);
Assert.assertEquals(agreementMethod.getAlgorithm(), EncryptionConstants.ALGO_ID_KEYAGREEMENT_DH_EXPLICIT_KDF);
@@ -226,28 +243,31 @@ public class DHWithExplicitKDFTest extends XMLObjectBaseTestCase {
}
// Serialize out and back in
- Element domEncrypted = XMLObjectSupport.marshall(encryptedDataOrig);
+ final Element domEncrypted = XMLObjectSupport.marshall(encryptedDataOrig);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ final ByteArrayOutputStream baos = new ByteArrayOutputStream();
SerializeSupport.writeNode(domEncrypted, baos);
baos.flush();
- byte[] bytesEncrypted = baos.toByteArray();
+ final byte[] bytesEncrypted = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(bytesEncrypted);
- EncryptedData encryptedData = (EncryptedData) XMLObjectSupport.unmarshallFromInputStream(
- XMLObjectProviderRegistrySupport.getParserPool(), bais);
+ final ParserPool parser = XMLObjectProviderRegistrySupport.getParserPool();
+ assert parser != null;
+ final EncryptedData encryptedData = (EncryptedData) XMLObjectSupport.unmarshallFromInputStream(parser, bais);
Assert.assertNotNull(encryptedData);
// Decrypt
- DecryptionParameters decryptParams = decryptParamsResolver.resolveSingle(decryptCriteria);
+ final DecryptionParameters decryptParams = decryptParamsResolver.resolveSingle(decryptCriteria);
- Decrypter decrypter = new Decrypter(decryptParams);
+ final Decrypter decrypter = new Decrypter(decryptParams);
- XMLObject decryptedXMLObject = decrypter.decryptData(encryptedData);
+ final XMLObject decryptedXMLObject = decrypter.decryptData(encryptedData);
Assert.assertNotNull(decryptedXMLObject);
Assert.assertTrue(decryptedXMLObject instanceof SignableSimpleXMLObject);
- assertXMLEquals(sxoOrig.getDOM().getOwnerDocument(), decryptedXMLObject);
+ final Element origDOM = sxoOrig.getDOM();
+ assert origDOM != null;
+ assertXMLEquals(origDOM.getOwnerDocument(), decryptedXMLObject);
}
-}
+}
\ No newline at end of file
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithLegacyKDFTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithLegacyKDFTest.java
index a1e1564df..2ac37ffb8 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithLegacyKDFTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/DHWithLegacyKDFTest.java
@@ -48,6 +48,8 @@ import org.opensaml.xmlsec.criterion.DecryptionConfigurationCriterion;
import org.opensaml.xmlsec.criterion.EncryptionConfigurationCriterion;
import org.opensaml.xmlsec.encryption.AgreementMethod;
import org.opensaml.xmlsec.encryption.EncryptedData;
+import org.opensaml.xmlsec.encryption.EncryptedKey;
+import org.opensaml.xmlsec.encryption.EncryptionMethod;
import org.opensaml.xmlsec.encryption.support.DataEncryptionParameters;
import org.opensaml.xmlsec.encryption.support.Decrypter;
import org.opensaml.xmlsec.encryption.support.Encrypter;
@@ -62,6 +64,7 @@ import org.opensaml.xmlsec.keyinfo.impl.KeyInfoProvider;
import org.opensaml.xmlsec.keyinfo.impl.LocalKeyInfoCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.provider.AgreementMethodKeyInfoProvider;
import org.opensaml.xmlsec.mock.SignableSimpleXMLObject;
+import org.opensaml.xmlsec.signature.KeyInfo;
import org.opensaml.xmlsec.signature.support.SignatureConstants;
import org.opensaml.xmlsec.testing.XMLSecurityTestingSupport;
import org.testng.Assert;
@@ -72,6 +75,7 @@ import org.w3c.dom.Element;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
+import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
@SuppressWarnings("javadoc")
@@ -185,33 +189,45 @@ public class DHWithLegacyKDFTest extends XMLObjectBaseTestCase {
private void testRoundtrip(String expectedDataAlgo, String expectedKEKAlgo, String expectedDigestMethod, boolean nonceExpected) throws Exception {
// Encrypt
- SignableSimpleXMLObject sxoOrig = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxoOrig = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxoOrig != null;
- EncryptionParameters encParams = encParamsResolver.resolveSingle(encCriteria);
- Assert.assertNotNull(encParams);
+ final EncryptionParameters encParams = encParamsResolver.resolveSingle(encCriteria);
+ assert encParams != null;
- DataEncryptionParameters dataEncParams = new DataEncryptionParameters(encParams);
- List<KeyEncryptionParameters> kekParams = encParams.getKeyTransportEncryptionCredential() != null ?
+ final DataEncryptionParameters dataEncParams = new DataEncryptionParameters(encParams);
+ final List<KeyEncryptionParameters> kekParams = encParams.getKeyTransportEncryptionCredential() != null ?
List.of(new KeyEncryptionParameters(encParams, null)) : Collections.emptyList();
- EncryptedData encryptedDataOrig = encrypter.encryptElement(sxoOrig, dataEncParams, kekParams);
+ final EncryptedData encryptedDataOrig = encrypter.encryptElement(sxoOrig, dataEncParams, kekParams);
Assert.assertNotNull(encryptedDataOrig);
- Assert.assertNotNull(encryptedDataOrig.getKeyInfo());
+
+ final KeyInfo encKeyInfo = encryptedDataOrig.getKeyInfo();
+ assert encKeyInfo != null;
if (expectedDataAlgo != null) {
- Assert.assertEquals(encryptedDataOrig.getEncryptionMethod().getAlgorithm(), expectedDataAlgo);
+ final EncryptionMethod method = encryptedDataOrig.getEncryptionMethod();
+ assert method != null;
+ Assert.assertEquals(method.getAlgorithm(), expectedDataAlgo);
}
if (expectedKEKAlgo != null) {
- Assert.assertNotNull(encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0));
- Assert.assertEquals(encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0).getEncryptionMethod().getAlgorithm(), expectedKEKAlgo);
+ final EncryptedKey ekey = encKeyInfo.getEncryptedKeys().get(0);
+ assert ekey != null;
+ final EncryptionMethod nestedMethod = ekey.getEncryptionMethod();
+ assert nestedMethod != null;
+ Assert.assertEquals(nestedMethod.getAlgorithm(), expectedKEKAlgo);
}
- AgreementMethod agreementMethod = null;
- if (!encryptedDataOrig.getKeyInfo().getEncryptedKeys().isEmpty()) {
- agreementMethod = encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0).getKeyInfo().getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod;
+ if (!encKeyInfo.getEncryptedKeys().isEmpty()) {
+ final EncryptedKey ekey = encKeyInfo.getEncryptedKeys().get(0);
+ assert ekey != null;
+ final KeyInfo nestedKeyInfo = ekey.getKeyInfo();
+ assert nestedKeyInfo != null;
+ agreementMethod = nestedKeyInfo.getAgreementMethods().get(0);
} else {
- agreementMethod = encryptedDataOrig.getKeyInfo().getAgreementMethods().get(0);
+ agreementMethod = encKeyInfo.getAgreementMethods().get(0);
}
Assert.assertNotNull(agreementMethod);
Assert.assertEquals(agreementMethod.getAlgorithm(), EncryptionConstants.ALGO_ID_KEYAGREEMENT_DH);
@@ -226,7 +242,7 @@ public class DHWithLegacyKDFTest extends XMLObjectBaseTestCase {
org.opensaml.xmlsec.encryption.KANonce nonce = agreementMethod.getKANonce();
if (nonceExpected) {
- Assert.assertNotNull(nonce);
+ assert nonce != null;
Assert.assertNotNull(nonce.getValue());
} else {
Assert.assertNull(nonce);
@@ -240,9 +256,10 @@ public class DHWithLegacyKDFTest extends XMLObjectBaseTestCase {
baos.flush();
byte[] bytesEncrypted = baos.toByteArray();
- ByteArrayInputStream bais = new ByteArrayInputStream(bytesEncrypted);
- EncryptedData encryptedData = (EncryptedData) XMLObjectSupport.unmarshallFromInputStream(
- XMLObjectProviderRegistrySupport.getParserPool(), bais);
+ final ByteArrayInputStream bais = new ByteArrayInputStream(bytesEncrypted);
+ final ParserPool parser = XMLObjectProviderRegistrySupport.getParserPool();
+ assert parser != null;
+ final EncryptedData encryptedData = (EncryptedData) XMLObjectSupport.unmarshallFromInputStream(parser, bais);
Assert.assertNotNull(encryptedData);
// Decrypt
@@ -254,7 +271,9 @@ public class DHWithLegacyKDFTest extends XMLObjectBaseTestCase {
Assert.assertNotNull(decryptedXMLObject);
Assert.assertTrue(decryptedXMLObject instanceof SignableSimpleXMLObject);
- assertXMLEquals(sxoOrig.getDOM().getOwnerDocument(), decryptedXMLObject);
+ final Element origDOM = sxoOrig.getDOM();
+ assert origDOM != null;
+ assertXMLEquals(origDOM.getOwnerDocument(), decryptedXMLObject);
}
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ECDHTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ECDHTest.java
index 601ad3918..5d16b5052 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ECDHTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/ECDHTest.java
@@ -47,6 +47,8 @@ import org.opensaml.xmlsec.criterion.EncryptionConfigurationCriterion;
import org.opensaml.xmlsec.derivation.impl.PBKDF2;
import org.opensaml.xmlsec.encryption.AgreementMethod;
import org.opensaml.xmlsec.encryption.EncryptedData;
+import org.opensaml.xmlsec.encryption.EncryptedKey;
+import org.opensaml.xmlsec.encryption.EncryptionMethod;
import org.opensaml.xmlsec.encryption.KeyDerivationMethod;
import org.opensaml.xmlsec.encryption.support.DataEncryptionParameters;
import org.opensaml.xmlsec.encryption.support.Decrypter;
@@ -62,6 +64,7 @@ import org.opensaml.xmlsec.keyinfo.impl.KeyInfoProvider;
import org.opensaml.xmlsec.keyinfo.impl.LocalKeyInfoCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.provider.AgreementMethodKeyInfoProvider;
import org.opensaml.xmlsec.mock.SignableSimpleXMLObject;
+import org.opensaml.xmlsec.signature.KeyInfo;
import org.opensaml.xmlsec.testing.XMLSecurityTestingSupport;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
@@ -70,6 +73,7 @@ import org.testng.annotations.Test;
import org.w3c.dom.Element;
import net.shibboleth.shared.resolver.CriteriaSet;
+import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
@SuppressWarnings("javadoc")
@@ -175,33 +179,45 @@ public class ECDHTest extends XMLObjectBaseTestCase {
private void testRoundtrip(String expectedDataAlgo, String expectedKEKAlgo, String expectedKDFAlgo) throws Exception {
// Encrypt
- SignableSimpleXMLObject sxoOrig = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxoOrig = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxoOrig != null;
- EncryptionParameters encParams = encParamsResolver.resolveSingle(encCriteria);
+ final EncryptionParameters encParams = encParamsResolver.resolveSingle(encCriteria);
assert encParams != null;
DataEncryptionParameters dataEncParams = new DataEncryptionParameters(encParams);
List<KeyEncryptionParameters> kekParams = encParams.getKeyTransportEncryptionCredential() != null ?
List.of(new KeyEncryptionParameters(encParams, null)) : Collections.emptyList();
- EncryptedData encryptedDataOrig = encrypter.encryptElement(sxoOrig, dataEncParams, kekParams);
+ final EncryptedData encryptedDataOrig = encrypter.encryptElement(sxoOrig, dataEncParams, kekParams);
Assert.assertNotNull(encryptedDataOrig);
- Assert.assertNotNull(encryptedDataOrig.getKeyInfo());
+
+ final KeyInfo encKeyInfo = encryptedDataOrig.getKeyInfo();
+ assert encKeyInfo != null;
if (expectedDataAlgo != null) {
- Assert.assertEquals(encryptedDataOrig.getEncryptionMethod().getAlgorithm(), expectedDataAlgo);
+ final EncryptionMethod method = encryptedDataOrig.getEncryptionMethod();
+ assert method != null;
+ Assert.assertEquals(method.getAlgorithm(), expectedDataAlgo);
}
if (expectedKEKAlgo != null) {
- Assert.assertNotNull(encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0));
- Assert.assertEquals(encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0).getEncryptionMethod().getAlgorithm(), expectedKEKAlgo);
+ final EncryptedKey ekey = encKeyInfo.getEncryptedKeys().get(0);
+ assert ekey != null;
+ final EncryptionMethod nestedMethod = ekey.getEncryptionMethod();
+ assert nestedMethod != null;
+ Assert.assertEquals(nestedMethod.getAlgorithm(), expectedKEKAlgo);
}
- AgreementMethod agreementMethod = null;
- if (!encryptedDataOrig.getKeyInfo().getEncryptedKeys().isEmpty()) {
- agreementMethod = encryptedDataOrig.getKeyInfo().getEncryptedKeys().get(0).getKeyInfo().getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod;
+ if (!encKeyInfo.getEncryptedKeys().isEmpty()) {
+ final EncryptedKey ekey = encKeyInfo.getEncryptedKeys().get(0);
+ assert ekey != null;
+ final KeyInfo nestedKeyInfo = ekey.getKeyInfo();
+ assert nestedKeyInfo != null;
+ agreementMethod = nestedKeyInfo.getAgreementMethods().get(0);
} else {
- agreementMethod = encryptedDataOrig.getKeyInfo().getAgreementMethods().get(0);
+ agreementMethod = encKeyInfo.getAgreementMethods().get(0);
}
Assert.assertNotNull(agreementMethod);
Assert.assertEquals(agreementMethod.getAlgorithm(), EncryptionConstants.ALGO_ID_KEYAGREEMENT_ECDH_ES);
@@ -213,28 +229,31 @@ public class ECDHTest extends XMLObjectBaseTestCase {
}
// Serialize out and back in
- Element domEncrypted = XMLObjectSupport.marshall(encryptedDataOrig);
+ final Element domEncrypted = XMLObjectSupport.marshall(encryptedDataOrig);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ final ByteArrayOutputStream baos = new ByteArrayOutputStream();
SerializeSupport.writeNode(domEncrypted, baos);
baos.flush();
- byte[] bytesEncrypted = baos.toByteArray();
+ final byte[] bytesEncrypted = baos.toByteArray();
- ByteArrayInputStream bais = new ByteArrayInputStream(bytesEncrypted);
- EncryptedData encryptedData = (EncryptedData) XMLObjectSupport.unmarshallFromInputStream(
- XMLObjectProviderRegistrySupport.getParserPool(), bais);
+ final ByteArrayInputStream bais = new ByteArrayInputStream(bytesEncrypted);
+ final ParserPool parser = XMLObjectProviderRegistrySupport.getParserPool();
+ assert parser != null;
+ final EncryptedData encryptedData = (EncryptedData) XMLObjectSupport.unmarshallFromInputStream(parser, bais);
Assert.assertNotNull(encryptedData);
// Decrypt
- DecryptionParameters decryptParams = decryptParamsResolver.resolveSingle(decryptCriteria);
+ final DecryptionParameters decryptParams = decryptParamsResolver.resolveSingle(decryptCriteria);
- Decrypter decrypter = new Decrypter(decryptParams);
+ final Decrypter decrypter = new Decrypter(decryptParams);
- XMLObject decryptedXMLObject = decrypter.decryptData(encryptedData);
+ final XMLObject decryptedXMLObject = decrypter.decryptData(encryptedData);
Assert.assertNotNull(decryptedXMLObject);
Assert.assertTrue(decryptedXMLObject instanceof SignableSimpleXMLObject);
- assertXMLEquals(sxoOrig.getDOM().getOwnerDocument(), decryptedXMLObject);
+ final Element origDOM = sxoOrig.getDOM();
+ assert origDOM != null;
+ assertXMLEquals(origDOM.getOwnerDocument(), decryptedXMLObject);
}
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/EncryptionClonedContentTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/EncryptionClonedContentTest.java
index b1929ed53..d934bfb21 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/EncryptionClonedContentTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/EncryptionClonedContentTest.java
@@ -17,12 +17,15 @@
package org.opensaml.xmlsec.encryption.support.tests;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.util.XMLObjectSupport;
import org.opensaml.security.credential.Credential;
import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
import org.opensaml.xmlsec.encryption.EncryptedData;
+import org.opensaml.xmlsec.encryption.EncryptionMethod;
import org.opensaml.xmlsec.encryption.support.DataEncryptionParameters;
import org.opensaml.xmlsec.encryption.support.Decrypter;
import org.opensaml.xmlsec.encryption.support.Encrypter;
@@ -31,46 +34,51 @@ import org.opensaml.xmlsec.keyinfo.impl.StaticKeyInfoCredentialResolver;
import org.opensaml.xmlsec.mock.SignableSimpleXMLObject;
import org.testng.Assert;
import org.testng.annotations.Test;
+import org.w3c.dom.Element;
@SuppressWarnings("javadoc")
public class EncryptionClonedContentTest extends XMLObjectBaseTestCase {
private String targetFile;
- private String algoURI = EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128;
+ @Nonnull private final String algoURI = EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128;
public EncryptionClonedContentTest() {
- super();
-
targetFile = "/org/opensaml/xmlsec/encryption/support/SimpleEncryptionTest.xml";
}
@Test
public void testEncryptDecrypt() throws Exception {
- SignableSimpleXMLObject origXMLObject = (SignableSimpleXMLObject) unmarshallElement(targetFile);
- SignableSimpleXMLObject clonedXMLObject = XMLObjectSupport.cloneXMLObject(origXMLObject);
+ final SignableSimpleXMLObject origXMLObject = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert origXMLObject != null;
+ final SignableSimpleXMLObject clonedXMLObject = XMLObjectSupport.cloneXMLObject(origXMLObject);
- Credential encCred = AlgorithmSupport.generateSymmetricKeyAndCredential(algoURI);
+ final Credential encCred = AlgorithmSupport.generateSymmetricKeyAndCredential(algoURI);
- DataEncryptionParameters encParams = new DataEncryptionParameters();
+ final DataEncryptionParameters encParams = new DataEncryptionParameters();
encParams.setAlgorithm(algoURI);
encParams.setEncryptionCredential(encCred);
Encrypter encrypter = new Encrypter();
- EncryptedData encryptedData = encrypter.encryptElement(clonedXMLObject, encParams);
-
+ final EncryptedData encryptedData = encrypter.encryptElement(clonedXMLObject, encParams);
Assert.assertNotNull(encryptedData);
- Assert.assertEquals(encryptedData.getEncryptionMethod().getAlgorithm(), algoURI);
- StaticKeyInfoCredentialResolver dataKeyInfoResolver = new StaticKeyInfoCredentialResolver(encCred);
+ final EncryptionMethod method = encryptedData.getEncryptionMethod();
+ assert method != null;
+ Assert.assertEquals(method.getAlgorithm(), algoURI);
- Decrypter decrypter = new Decrypter(dataKeyInfoResolver, null, null);
+ final StaticKeyInfoCredentialResolver dataKeyInfoResolver = new StaticKeyInfoCredentialResolver(encCred);
- XMLObject decryptedXMLObject = decrypter.decryptData(encryptedData);
+ final Decrypter decrypter = new Decrypter(dataKeyInfoResolver, null, null);
+
+ final XMLObject decryptedXMLObject = decrypter.decryptData(encryptedData);
Assert.assertNotNull(decryptedXMLObject);
Assert.assertTrue(decryptedXMLObject instanceof SignableSimpleXMLObject);
- assertXMLEquals(origXMLObject.getDOM().getOwnerDocument(), decryptedXMLObject);
+
+ final Element origDOM = origXMLObject.getDOM();
+ assert origDOM != null;
+ assertXMLEquals(origDOM.getOwnerDocument(), decryptedXMLObject);
}
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/InlineEncryptedKeyResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/InlineEncryptedKeyResolverTest.java
index 9b3ca1759..3eb7f592d 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/InlineEncryptedKeyResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/InlineEncryptedKeyResolverTest.java
@@ -26,11 +26,14 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.xmlsec.encryption.EncryptedData;
import org.opensaml.xmlsec.encryption.EncryptedKey;
import org.opensaml.xmlsec.encryption.support.EncryptedKeyResolver;
import org.opensaml.xmlsec.encryption.support.InlineEncryptedKeyResolver;
+import org.opensaml.xmlsec.signature.KeyInfo;
/**
* Test the inline encrypted key resolver.
@@ -43,17 +46,18 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
/** No recipients specified to resolver, one inline EncryptedKey in instance. */
@Test
public void testSingleEKNoRecipients() {
- String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverSingle.xml";
- EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverSingle.xml";
+ final EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ assert encData != null;
- Assert.assertNotNull(encData);
- Assert.assertNotNull(encData.getKeyInfo());
- List<EncryptedKey> allKeys = encData.getKeyInfo().getEncryptedKeys();
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ final List<EncryptedKey> allKeys = keyInfo.getEncryptedKeys();
Assert.assertFalse(allKeys.isEmpty());
resolver = new InlineEncryptedKeyResolver();
- List<EncryptedKey> resolved = generateList(encData, resolver);
+ final List<EncryptedKey> resolved = generateList(encData, resolver);
Assert.assertEquals(resolved.size(), 1, "Incorrect number of resolved EncryptedKeys found");
Assert.assertTrue(resolved.get(0) == allKeys.get(0), "Unexpected EncryptedKey instance found");
@@ -62,12 +66,13 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
/** One recipient specified to resolver, one matching inline EncryptedKey in instance. */
@Test
public void testSingleEKOneRecipientWithMatch() {
- String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverSingle.xml";
- EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverSingle.xml";
+ final EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ assert encData != null;
- Assert.assertNotNull(encData);
- Assert.assertNotNull(encData.getKeyInfo());
- List<EncryptedKey> allKeys = encData.getKeyInfo().getEncryptedKeys();
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ final List<EncryptedKey> allKeys = keyInfo.getEncryptedKeys();
Assert.assertFalse(allKeys.isEmpty());
resolver = new InlineEncryptedKeyResolver(Collections.singleton("foo"));
@@ -81,12 +86,13 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
/** One recipient specified to resolver, zero matching inline EncryptedKey in instance. */
@Test
public void testSingleEKOneRecipientNoMatch() {
- String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverSingle.xml";
- EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverSingle.xml";
+ final EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ assert encData != null;
- Assert.assertNotNull(encData);
- Assert.assertNotNull(encData.getKeyInfo());
- List<EncryptedKey> allKeys = encData.getKeyInfo().getEncryptedKeys();
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ final List<EncryptedKey> allKeys = keyInfo.getEncryptedKeys();
Assert.assertFalse(allKeys.isEmpty());
resolver = new InlineEncryptedKeyResolver(Collections.singleton("bar"));
@@ -98,12 +104,13 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
/** No recipients specified to resolver. */
@Test
public void testMultiEKNoRecipients() {
- String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverMultiple.xml";
- EncryptedData encData = (EncryptedData) unmarshallElement(filename);
-
- Assert.assertNotNull(encData);
- Assert.assertNotNull(encData.getKeyInfo());
- List<EncryptedKey> allKeys = encData.getKeyInfo().getEncryptedKeys();
+ final String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverMultiple.xml";
+ final EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ assert encData != null;
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ final List<EncryptedKey> allKeys = keyInfo.getEncryptedKeys();
Assert.assertFalse(allKeys.isEmpty());
resolver = new InlineEncryptedKeyResolver();
@@ -121,12 +128,13 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
* inline EncryptedKey in instance. */
@Test
public void testMultiEKOneRecipientWithMatch() {
- String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverMultiple.xml";
- EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverMultiple.xml";
+ final EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ assert encData != null;
- Assert.assertNotNull(encData);
- Assert.assertNotNull(encData.getKeyInfo());
- List<EncryptedKey> allKeys = encData.getKeyInfo().getEncryptedKeys();
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ final List<EncryptedKey> allKeys = keyInfo.getEncryptedKeys();
Assert.assertFalse(allKeys.isEmpty());
resolver = new InlineEncryptedKeyResolver(Collections.singleton("foo"));
@@ -141,12 +149,13 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
/** Multi recipient specified to resolver, several matching inline EncryptedKey in instance. */
@Test
public void testMultiEKOneRecipientWithMatches() {
- String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverMultiple.xml";
- EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolverMultiple.xml";
+ final EncryptedData encData = (EncryptedData) unmarshallElement(filename);
+ assert encData != null;
- Assert.assertNotNull(encData);
- Assert.assertNotNull(encData.getKeyInfo());
- List<EncryptedKey> allKeys = encData.getKeyInfo().getEncryptedKeys();
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ final List<EncryptedKey> allKeys = keyInfo.getEncryptedKeys();
Assert.assertFalse(allKeys.isEmpty());
resolver = new InlineEncryptedKeyResolver(new HashSet<>(Arrays.asList("foo", "baz")));
@@ -166,7 +175,8 @@ public class InlineEncryptedKeyResolverTest extends XMLObjectBaseTestCase {
* @param ekResolver the resolver to test
* @return list of resolved EncryptedKeys
*/
- private List<EncryptedKey> generateList(EncryptedData encData, EncryptedKeyResolver ekResolver) {
+ @Nonnull private List<EncryptedKey> generateList(@Nonnull final EncryptedData encData,
+ @Nonnull final EncryptedKeyResolver ekResolver) {
List<EncryptedKey> resolved = new ArrayList<>();
for (EncryptedKey encKey : ekResolver.resolve(encData)) {
resolved.add(encKey);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleDecryptionTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleDecryptionTest.java
index dc854ec10..ca1dcb01b 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleDecryptionTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleDecryptionTest.java
@@ -34,6 +34,7 @@ import org.opensaml.security.credential.BasicCredential;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.testing.SecurityProviderTestSupport;
import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
+import org.opensaml.xmlsec.encryption.CipherData;
import org.opensaml.xmlsec.encryption.CipherReference;
import org.opensaml.xmlsec.encryption.EncryptedData;
import org.opensaml.xmlsec.encryption.EncryptedKey;
@@ -216,7 +217,9 @@ public class SimpleDecryptionTest extends XMLObjectBaseTestCase {
*/
@Test(expectedExceptions=DecryptionException.class)
public void testEncryptedDataWithCipherReference() throws DecryptionException {
- encryptedData.getCipherData().setCipherReference((CipherReference) XMLObjectSupport.buildXMLObject(CipherReference.DEFAULT_ELEMENT_NAME));
+ final CipherData data = encryptedData.getCipherData();
+ assert data != null;
+ data.setCipherReference((CipherReference) XMLObjectSupport.buildXMLObject(CipherReference.DEFAULT_ELEMENT_NAME));
Decrypter decrypter = new Decrypter(keyResolver, null, null);
decrypter.decryptData(encryptedData);
@@ -230,9 +233,11 @@ public class SimpleDecryptionTest extends XMLObjectBaseTestCase {
*/
@Test(expectedExceptions=DecryptionException.class)
public void testEncryptedKeyWithCipherReference() throws DecryptionException {
- encryptedKey.getCipherData().setCipherReference((CipherReference) XMLObjectSupport.buildXMLObject(CipherReference.DEFAULT_ELEMENT_NAME));
+ final CipherData data = encryptedKey.getCipherData();
+ assert data != null;
+ data.setCipherReference((CipherReference) XMLObjectSupport.buildXMLObject(CipherReference.DEFAULT_ELEMENT_NAME));
- Decrypter decrypter = new Decrypter(null, kekResolver, null);
+ final Decrypter decrypter = new Decrypter(null, kekResolver, null);
decrypter.decryptKey(encryptedKey, encURI);
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleEncryptionTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleEncryptionTest.java
index 6a138025b..b7c106976 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleEncryptionTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleEncryptionTest.java
@@ -25,6 +25,8 @@ import java.security.NoSuchProviderException;
import java.util.ArrayList;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.security.credential.CredentialSupport;
@@ -33,6 +35,7 @@ import org.opensaml.security.testing.SecurityProviderTestSupport;
import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
import org.opensaml.xmlsec.encryption.EncryptedData;
import org.opensaml.xmlsec.encryption.EncryptedKey;
+import org.opensaml.xmlsec.encryption.EncryptionMethod;
import org.opensaml.xmlsec.encryption.MGF;
import org.opensaml.xmlsec.encryption.OAEPparams;
import org.opensaml.xmlsec.encryption.support.DataEncryptionParameters;
@@ -149,8 +152,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptDataWithKeyNameNoKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
-
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
encParams.setKeyInfoGenerator(new StaticKeyInfoGenerator(keyInfo));
EncryptedData encData = null;
@@ -159,14 +162,19 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
+ assert encData != null;
- Assert.assertNotNull(encData);
+ final EncryptionMethod method = encData.getEncryptionMethod();
+ assert method != null;
+
Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_ELEMENT, "Type attribute");
- Assert.assertEquals(encData.getEncryptionMethod().getAlgorithm(), algoURI, "Algorithm attribute");
- Assert.assertNotNull(encData.getKeyInfo(), "KeyInfo");
- Assert.assertEquals(encData.getKeyInfo().getKeyNames().get(0).getValue(), expectedKeyName, "KeyName");
+ Assert.assertEquals(method.getAlgorithm(), algoURI, "Algorithm attribute");
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertEquals(keyInfo.getKeyNames().get(0).getValue(), expectedKeyName, "KeyName");
- Assert.assertEquals(encData.getKeyInfo().getEncryptedKeys().size(), 0, "Number of EncryptedKeys");
+ Assert.assertEquals(keyInfo.getEncryptedKeys().size(), 0, "Number of EncryptedKeys");
}
/**
@@ -174,7 +182,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptDataSingleKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
kekParamsRSA.setKeyInfoGenerator(new StaticKeyInfoGenerator(kekKeyInfoRSA));
@@ -184,14 +193,19 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
-
- Assert.assertNotNull(encData);
+ assert encData != null;
+
+ final EncryptionMethod method = encData.getEncryptionMethod();
+ assert method != null;
+
Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_ELEMENT, "Type attribute");
- Assert.assertEquals(encData.getEncryptionMethod().getAlgorithm(), algoURI, "Algorithm attribute");
- Assert.assertNotNull(encData.getKeyInfo(), "KeyInfo");
+ Assert.assertEquals(method.getAlgorithm(), algoURI, "Algorithm attribute");
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
- List<EncryptedKey> encKeys = encData.getKeyInfo().getEncryptedKeys();
- Assert.assertEquals(encData.getKeyInfo().getEncryptedKeys().size(), 1, "Number of EncryptedKeys");
+ List<EncryptedKey> encKeys = keyInfo.getEncryptedKeys();
+ Assert.assertEquals(keyInfo.getEncryptedKeys().size(), 1, "Number of EncryptedKeys");
checkKEKRSA(encKeys.get(0), true);
}
@@ -200,7 +214,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptDataMultipleKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
kekParamsRSA.setKeyInfoGenerator(new StaticKeyInfoGenerator(kekKeyInfoRSA));
kekParamsAES.setKeyInfoGenerator(new StaticKeyInfoGenerator(kekKeyInfoAES));
@@ -214,14 +229,19 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
+ assert encData != null;
- Assert.assertNotNull(encData);
+ final EncryptionMethod method = encData.getEncryptionMethod();
+ assert method != null;
+
Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_ELEMENT, "Type attribute");
- Assert.assertEquals(encData.getEncryptionMethod().getAlgorithm(), algoURI, "Algorithm attribute");
- Assert.assertNotNull(encData.getKeyInfo(), "KeyInfo");
+ Assert.assertEquals(method.getAlgorithm(), algoURI, "Algorithm attribute");
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
- List<EncryptedKey> encKeys = encData.getKeyInfo().getEncryptedKeys();
- Assert.assertEquals(encData.getKeyInfo().getEncryptedKeys().size(), 2, "Number of EncryptedKeys");
+ List<EncryptedKey> encKeys = keyInfo.getEncryptedKeys();
+ Assert.assertEquals(keyInfo.getEncryptedKeys().size(), 2, "Number of EncryptedKeys");
checkKEKRSA(encKeys.get(0), true);
checkKEKAES(encKeys.get(1), true);
}
@@ -232,7 +252,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptContentWithKeyNameNoKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
encParams.setKeyInfoGenerator(new StaticKeyInfoGenerator(keyInfo));
@@ -242,14 +263,19 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
+ assert encData != null;
- Assert.assertNotNull(encData);
+ final EncryptionMethod method = encData.getEncryptionMethod();
+ assert method != null;
+
Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_CONTENT, "Type attribute");
- Assert.assertEquals(encData.getEncryptionMethod().getAlgorithm(), algoURI, "Algorithm attribute");
- Assert.assertNotNull(encData.getKeyInfo(), "KeyInfo");
- Assert.assertEquals(encData.getKeyInfo().getKeyNames().get(0).getValue(), expectedKeyName, "KeyName");
+ Assert.assertEquals(method.getAlgorithm(), algoURI, "Algorithm attribute");
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertEquals(keyInfo.getKeyNames().get(0).getValue(), expectedKeyName, "KeyName");
- Assert.assertEquals(encData.getKeyInfo().getEncryptedKeys().size(), 0, "Number of EncryptedKeys");
+ Assert.assertEquals(keyInfo.getEncryptedKeys().size(), 0, "Number of EncryptedKeys");
}
/**
@@ -257,7 +283,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptContentSingleKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
kekParamsRSA.setKeyInfoGenerator(new StaticKeyInfoGenerator(kekKeyInfoRSA));
@@ -267,14 +294,18 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
+ assert encData != null;
- Assert.assertNotNull(encData);
- Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_CONTENT, "Type attribute");
- Assert.assertEquals(encData.getEncryptionMethod().getAlgorithm(), algoURI, "Algorithm attribute");
- Assert.assertNotNull(encData.getKeyInfo(), "KeyInfo");
+ final EncryptionMethod method = encData.getEncryptionMethod();
+ assert method != null;
- List<EncryptedKey> encKeys = encData.getKeyInfo().getEncryptedKeys();
- Assert.assertEquals(encData.getKeyInfo().getEncryptedKeys().size(), 1, "Number of EncryptedKeys");
+ Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_CONTENT, "Type attribute");
+ Assert.assertEquals(method.getAlgorithm(), algoURI, "Algorithm attribute");
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ List<EncryptedKey> encKeys = keyInfo.getEncryptedKeys();
+ Assert.assertEquals(keyInfo.getEncryptedKeys().size(), 1, "Number of EncryptedKeys");
checkKEKRSA(encKeys.get(0), true);
}
@@ -283,7 +314,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptContentMultipleKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
kekParamsAES.setKeyInfoGenerator(new StaticKeyInfoGenerator(kekKeyInfoAES));
kekParamsRSA.setKeyInfoGenerator(new StaticKeyInfoGenerator(kekKeyInfoRSA));
@@ -297,14 +329,19 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
+ assert encData != null;
+
+ final EncryptionMethod method = encData.getEncryptionMethod();
+ assert method != null;
- Assert.assertNotNull(encData);
Assert.assertEquals(encData.getType(), EncryptionConstants.TYPE_CONTENT, "Type attribute");
- Assert.assertEquals(encData.getEncryptionMethod().getAlgorithm(), algoURI, "Algorithm attribute");
- Assert.assertNotNull(encData.getKeyInfo(), "KeyInfo");
-
- List<EncryptedKey> encKeys = encData.getKeyInfo().getEncryptedKeys();
- Assert.assertEquals(encData.getKeyInfo().getEncryptedKeys().size(), 2, "Number of EncryptedKeys");
+ Assert.assertEquals(method.getAlgorithm(), algoURI, "Algorithm attribute");
+
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+
+ List<EncryptedKey> encKeys = keyInfo.getEncryptedKeys();
+ Assert.assertEquals(keyInfo.getEncryptedKeys().size(), 2, "Number of EncryptedKeys");
checkKEKRSA(encKeys.get(0), true);
checkKEKAES(encKeys.get(1), true);
}
@@ -330,9 +367,10 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
Document ownerDocument = parserPool.newDocument();
try {
encKey = encrypter.encryptKey(targetKey, kekParamsRSA, ownerDocument);
- } catch (EncryptionException e) {
+ } catch (final EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
- }
+ }
+ assert encKey != null;
checkKEKRSA(encKey, true);
}
@@ -362,10 +400,11 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
Document ownerDocument = parserPool.newDocument();
try {
encKeys = encrypter.encryptKey(targetKey, kekParamsList, ownerDocument);
- } catch (EncryptionException e) {
+ } catch (final EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
}
+ assert encKeys != null;
Assert.assertEquals(encKeys.size(), 2, "Number of EncryptedKeys");
checkKEKAES(encKeys.get(0), true);
@@ -377,7 +416,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testAutoKeyGen() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
encParams.setEncryptionCredential(null);
@@ -407,7 +447,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testAutoKeyGenNoKEK() {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
encParams.setEncryptionCredential(null);
@@ -454,13 +495,14 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
encKey = encrypter.encryptKey(targetKey, kekParamsRSA, ownerDocument);
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
- }
+ }
+ assert encKey != null;
- Assert.assertFalse(encKey.getEncryptionMethod().getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME).isEmpty(),
+ final EncryptionMethod method = encKey.getEncryptionMethod();
+ assert method != null;
+ Assert.assertFalse(method.getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME).isEmpty(),
"EncryptedKey/EncryptionMethod/DigestMethod list was empty");
- DigestMethod dm =
- (DigestMethod) encKey.getEncryptionMethod()
- .getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME).get(0);
+ final DigestMethod dm = (DigestMethod) method.getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME).get(0);
Assert.assertEquals(dm.getAlgorithm(),
SignatureConstants.ALGO_ID_DIGEST_SHA1, "DigestMethod algorithm URI had unexpected value");
}
@@ -479,7 +521,7 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
public void testEncryptKeyDigestMethodsRSAv15() throws NoSuchAlgorithmException, NoSuchProviderException,
XMLParserException, KeyException {
- Key targetKey = AlgorithmSupport.generateSymmetricKey(algoURI);
+ final Key targetKey = AlgorithmSupport.generateSymmetricKey(algoURI);
kekParamsRSA.setAlgorithm(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15);
@@ -489,9 +531,12 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
encKey = encrypter.encryptKey(targetKey, kekParamsRSA, ownerDocument);
} catch (EncryptionException e) {
Assert.fail("Object encryption failed: " + e);
- }
+ }
+ assert encKey != null;
- Assert.assertTrue(encKey.getEncryptionMethod().getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME).isEmpty(),
+ final EncryptionMethod method = encKey.getEncryptionMethod();
+ assert method != null;
+ Assert.assertTrue(method.getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME).isEmpty(),
"EncryptedKey/EncryptionMethod/DigestMethod list was NOT empty");
}
@@ -503,7 +548,8 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
*/
@Test
public void testEncryptDataBadKEKDSA() throws NoSuchAlgorithmException, NoSuchProviderException {
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(targetFile);
+ assert sxo != null;
KeyEncryptionParameters kekParamsDSA = new KeyEncryptionParameters();
KeyPair kp = KeySupport.generateKeyPair("DSA", 1024, null);
@@ -611,17 +657,22 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
* @param encKey EncryptedKey to test
* @param hasKeyInfo flag indicating expectation of KeyInfo presence
*/
- private void checkKEKAES(EncryptedKey encKey, boolean hasKeyInfo) {
- Assert.assertNotNull(encKey, "EncryptedKey was null");
- Assert.assertEquals(encKey.getEncryptionMethod().getAlgorithm(), kekURIAES, "Algorithm attribute");
+ private void checkKEKAES(@Nonnull final EncryptedKey encKey, boolean hasKeyInfo) {
+
+ final EncryptionMethod method = encKey.getEncryptionMethod();
+ assert method != null;
+
+ Assert.assertEquals(method.getAlgorithm(), kekURIAES, "Algorithm attribute");
Assert.assertEquals(encKey.getRecipient(), expectedRecipientAES, "Recipient attribute");
- if (! hasKeyInfo) {
+ if (!hasKeyInfo) {
Assert.assertNull(encKey.getKeyInfo(), "Unexpected KeyInfo was present");
return;
}
- Assert.assertNotNull(encKey.getKeyInfo(), "KeyInfo was not present");
- Assert.assertNotNull(encKey.getKeyInfo().getKeyNames().get(0), "KeyName was not present");
- Assert.assertEquals(encKey.getKeyInfo().getKeyNames().get(0).getValue(), expectedKEKKeyNameAES,
+
+ final KeyInfo keyInfo = encKey.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertNotNull(keyInfo.getKeyNames().get(0), "KeyName was not present");
+ Assert.assertEquals(keyInfo.getKeyNames().get(0).getValue(), expectedKEKKeyNameAES,
"Unexpected KEK KeyName");
}
@@ -631,38 +682,52 @@ public class SimpleEncryptionTest extends XMLObjectBaseTestCase {
* @param encKey EncryptedKey to test
* @param hasKeyInfo flag indicating expectation of KeyInfo presence
*/
- private void checkKEKRSA(EncryptedKey encKey, boolean hasKeyInfo) {
- Assert.assertNotNull(encKey, "EncryptedKey was null");
- Assert.assertEquals(encKey.getEncryptionMethod().getAlgorithm(), kekURIRSA, "Algorithm attribute");
+ private void checkKEKRSA(@Nonnull final EncryptedKey encKey, boolean hasKeyInfo) {
+
+ final EncryptionMethod method = encKey.getEncryptionMethod();
+ assert method != null;
+
+ Assert.assertEquals(method.getAlgorithm(), kekURIRSA, "Algorithm attribute");
Assert.assertEquals(encKey.getRecipient(), expectedRecipientRSA, "Recipient attribute");
if (! hasKeyInfo) {
Assert.assertNull(encKey.getKeyInfo(), "Unexpected KeyInfo was present");
return;
}
- Assert.assertNotNull(encKey.getKeyInfo(), "KeyInfo was not present");
- Assert.assertNotNull(encKey.getKeyInfo().getKeyNames().get(0), "KeyName was not present");
- Assert.assertEquals(encKey.getKeyInfo().getKeyNames().get(0).getValue(), expectedKEKKeyNameRSA,
+
+ final KeyInfo keyInfo = encKey.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertNotNull(keyInfo.getKeyNames().get(0), "KeyName was not present");
+ Assert.assertEquals(keyInfo.getKeyNames().get(0).getValue(), expectedKEKKeyNameRSA,
"Unexpected KEK KeyName");
}
- private String getDigestMethod(EncryptedKey encryptedKey) {
- List<XMLObject> digestMethods = encryptedKey.getEncryptionMethod().getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME);
+ private String getDigestMethod(@Nonnull final EncryptedKey encryptedKey) {
+ final EncryptionMethod method = encryptedKey.getEncryptionMethod();
+ assert method != null;
+
+ final List<XMLObject> digestMethods = method.getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME);
if (digestMethods != null && digestMethods.size() > 0) {
return ((DigestMethod)digestMethods.get(0)).getAlgorithm();
}
return null;
}
- private String getMGF(EncryptedKey encryptedKey) {
- List<XMLObject> mgfs = encryptedKey.getEncryptionMethod().getUnknownXMLObjects(MGF.DEFAULT_ELEMENT_NAME);
+ private String getMGF(@Nonnull final EncryptedKey encryptedKey) {
+ final EncryptionMethod method = encryptedKey.getEncryptionMethod();
+ assert method != null;
+
+ final List<XMLObject> mgfs = method.getUnknownXMLObjects(MGF.DEFAULT_ELEMENT_NAME);
if (mgfs != null && mgfs.size() > 0) {
return ((MGF)mgfs.get(0)).getAlgorithm();
}
return null;
}
- private String getOAEPParams(EncryptedKey encryptedKey) {
- OAEPparams params = encryptedKey.getEncryptionMethod().getOAEPparams();
+ private String getOAEPParams(@Nonnull final EncryptedKey encryptedKey) {
+ final EncryptionMethod method = encryptedKey.getEncryptionMethod();
+ assert method != null;
+
+ final OAEPparams params = method.getOAEPparams();
if (params != null) {
return params.getValue();
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleKeyInfoReferenceEncryptedKeyResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleKeyInfoReferenceEncryptedKeyResolverTest.java
index b08b8034b..89d241706 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleKeyInfoReferenceEncryptedKeyResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleKeyInfoReferenceEncryptedKeyResolverTest.java
@@ -23,6 +23,8 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.xmlsec.encryption.EncryptedData;
@@ -46,16 +48,17 @@ public class SimpleKeyInfoReferenceEncryptedKeyResolverTest extends XMLObjectBas
/** No recipients specified to resolver, one EncryptedKey in instance. */
@Test
public void testSingleEKNoRecipient() {
- String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverSingle.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverSingle.xml";
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getXMLObjects(KeyInfoReference.DEFAULT_ELEMENT_NAME).isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getXMLObjects(KeyInfoReference.DEFAULT_ELEMENT_NAME).isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -71,16 +74,17 @@ public class SimpleKeyInfoReferenceEncryptedKeyResolverTest extends XMLObjectBas
/** One recipient specified to resolver, one EncryptedKey in instance. */
@Test
public void testSingleEKWithRecipient() {
- String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverSingle.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverSingle.xml";
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getXMLObjects(KeyInfoReference.DEFAULT_ELEMENT_NAME).isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getXMLObjects(KeyInfoReference.DEFAULT_ELEMENT_NAME).isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -96,16 +100,17 @@ public class SimpleKeyInfoReferenceEncryptedKeyResolverTest extends XMLObjectBas
/** One recipient specified to resolver, three EncryptedKeys in instance, two KeyInfoReference references. */
@Test
public void testMultiEKWithOneRecipient() {
- String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverMultiple.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverMultiple.xml";
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getKeyInfoReferences().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getKeyInfoReferences().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -124,16 +129,17 @@ public class SimpleKeyInfoReferenceEncryptedKeyResolverTest extends XMLObjectBas
*/
@Test
public void testMultiEKWithTwoRecipients() {
- String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverMultiple.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolverMultiple.xml";
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getKeyInfoReferences().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getKeyInfoReferences().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -153,7 +159,7 @@ public class SimpleKeyInfoReferenceEncryptedKeyResolverTest extends XMLObjectBas
* @param sxo the mock object to process
* @return a list of EncryptedKey elements
*/
- private List<EncryptedKey> getEncryptedKeys(SignableSimpleXMLObject sxo) {
+ @Nonnull private List<EncryptedKey> getEncryptedKeys(@Nonnull final SignableSimpleXMLObject sxo) {
List<EncryptedKey> allKeys = new ArrayList<>();
for (XMLObject xmlObject : sxo.getUnknownXMLObjects()) {
if (xmlObject instanceof KeyInfo) {
@@ -170,7 +176,8 @@ public class SimpleKeyInfoReferenceEncryptedKeyResolverTest extends XMLObjectBas
* @param ekResolver the resolver to test
* @return list of resolved EncryptedKeys
*/
- private List<EncryptedKey> generateList(EncryptedData encData, EncryptedKeyResolver ekResolver) {
+ @Nonnull private List<EncryptedKey> generateList(@Nonnull final EncryptedData encData,
+ @Nonnull final EncryptedKeyResolver ekResolver) {
List<EncryptedKey> resolved = new ArrayList<>();
for (EncryptedKey encKey : ekResolver.resolve(encData)) {
resolved.add(encKey);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleRetrievalMethodEncryptedKeyResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleRetrievalMethodEncryptedKeyResolverTest.java
index 9c555c10b..df2583447 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleRetrievalMethodEncryptedKeyResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/encryption/support/tests/SimpleRetrievalMethodEncryptedKeyResolverTest.java
@@ -26,6 +26,8 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.xmlsec.encryption.EncryptedData;
@@ -33,6 +35,7 @@ import org.opensaml.xmlsec.encryption.EncryptedKey;
import org.opensaml.xmlsec.encryption.support.EncryptedKeyResolver;
import org.opensaml.xmlsec.encryption.support.SimpleRetrievalMethodEncryptedKeyResolver;
import org.opensaml.xmlsec.mock.SignableSimpleXMLObject;
+import org.opensaml.xmlsec.signature.KeyInfo;
/**
* Test the encrypted key resolver which dereferences RetrievalMethods.
@@ -45,16 +48,17 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
/** No recipients specified to resolver, one EncryptedKey in instance. */
@Test
public void testSingleEKNoRecipient() {
- String filename = "/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolverSingle.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final String filename = "/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolverSingle.xml";
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getRetrievalMethods().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getRetrievalMethods().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -71,15 +75,16 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
@Test
public void testSingleEKWithRecipient() {
String filename = "/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolverSingle.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getRetrievalMethods().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getRetrievalMethods().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -97,15 +102,16 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
public void testSingleEKWithTransform() {
String filename =
"/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolverSingleWithTransforms.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getRetrievalMethods().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getRetrievalMethods().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -121,15 +127,16 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
@Test
public void testMultiEKWithOneRecipient() {
String filename = "/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolverMultiple.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getRetrievalMethods().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getRetrievalMethods().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -147,15 +154,16 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
@Test
public void testMultiEKWithTwoRecipients() {
String filename = "/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolverMultiple.xml";
- SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
- Assert.assertNotNull(sxo);
+ final SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) unmarshallElement(filename);
+ assert sxo != null;
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0));
Assert.assertNotNull(sxo.getSimpleXMLObjects().get(0).getEncryptedData());
- EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
-
- Assert.assertNotNull(encData.getKeyInfo());
- Assert.assertFalse(encData.getKeyInfo().getRetrievalMethods().isEmpty());
+ final EncryptedData encData = sxo.getSimpleXMLObjects().get(0).getEncryptedData();
+ assert encData != null;
+ final KeyInfo keyInfo = encData.getKeyInfo();
+ assert keyInfo != null;
+ Assert.assertFalse(keyInfo.getRetrievalMethods().isEmpty());
List<EncryptedKey> allKeys = getEncryptedKeys(sxo);
Assert.assertFalse(allKeys.isEmpty());
@@ -175,7 +183,7 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
* @param sxo the mock object to process
* @return a list of EncryptedKey elements
*/
- private List<EncryptedKey> getEncryptedKeys(SignableSimpleXMLObject sxo) {
+ @Nonnull private List<EncryptedKey> getEncryptedKeys(@Nonnull final SignableSimpleXMLObject sxo) {
List<EncryptedKey> allKeys = new ArrayList<>();
for (XMLObject xmlObject : sxo.getUnknownXMLObjects()) {
if (xmlObject instanceof EncryptedKey) {
@@ -192,7 +200,8 @@ public class SimpleRetrievalMethodEncryptedKeyResolverTest extends XMLObjectBase
* @param ekResolver the resolver to test
* @return list of resolved EncryptedKeys
*/
- private List<EncryptedKey> generateList(EncryptedData encData, EncryptedKeyResolver ekResolver) {
+ @Nonnull private List<EncryptedKey> generateList(@Nonnull final EncryptedData encData,
+ @Nonnull final EncryptedKeyResolver ekResolver) {
List<EncryptedKey> resolved = new ArrayList<>();
for (EncryptedKey encKey : ekResolver.resolve(encData)) {
resolved.add(encKey);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java
index 95e723be2..9b3ef73e9 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java
@@ -23,9 +23,7 @@ import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
-import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
@@ -33,7 +31,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.collection.CollectionSupport;
-import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
@@ -54,6 +52,7 @@ import org.testng.annotations.Test;
* Test various aspects of the {@link AbstractSecurityParametersResolver} so don't have to test
* them in all the individual subclasses.
*/
+ at SuppressWarnings("javadoc")
public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCase {
private DummyParametersResolver resolver;
@@ -85,13 +84,14 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setExcludedAlgorithms(set1);
config2.setExcludedAlgorithms(set2);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- HashSet<String> control = new HashSet<>();
+ final HashSet<String> control = new HashSet<>();
control.addAll(set1);
control.addAll(set2);
- assertTrue(params.getIncludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getIncludedAlgorithms().equals(CollectionSupport.emptySet()));
assertTrue(params.getExcludedAlgorithms().equals(control));
}
@@ -101,9 +101,10 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setExcludeMerge(false);
config2.setExcludedAlgorithms(set2);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertTrue(params.getIncludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getIncludedAlgorithms().equals(CollectionSupport.emptySet()));
assertTrue(params.getExcludedAlgorithms().equals(set1));
}
@@ -113,13 +114,14 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setExcludeMerge(true);
config2.setExcludedAlgorithms(set2);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
HashSet<String> control = new HashSet<>();
control.addAll(set1);
control.addAll(set2);
- assertTrue(params.getIncludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getIncludedAlgorithms().equals(CollectionSupport.emptySet()));
assertTrue(params.getExcludedAlgorithms().equals(control));
}
@@ -130,13 +132,14 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config2.setExcludeMerge(true);
config3.setExcludedAlgorithms(set3);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
HashSet<String> control = new HashSet<>();
control.addAll(set1);
control.addAll(set3);
- assertTrue(params.getIncludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getIncludedAlgorithms().equals(CollectionSupport.emptySet()));
assertTrue(params.getExcludedAlgorithms().equals(control));
}
@@ -145,10 +148,11 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setIncludedAlgorithms(set1);
config2.setIncludedAlgorithms(set2);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertTrue(params.getIncludedAlgorithms().equals(set1));
- assertTrue(params.getExcludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getExcludedAlgorithms().equals(CollectionSupport.emptySet()));
}
@Test
@@ -157,14 +161,15 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setIncludeMerge(true);
config2.setIncludedAlgorithms(set2);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
HashSet<String> control = new HashSet<>();
control.addAll(set1);
control.addAll(set2);
assertTrue(params.getIncludedAlgorithms().equals(control));
- assertTrue(params.getExcludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getExcludedAlgorithms().equals(CollectionSupport.emptySet()));
}
@Test
@@ -174,14 +179,15 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config2.setIncludeMerge(true);
config3.setIncludedAlgorithms(set3);
- AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ final AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
HashSet<String> control = new HashSet<>();
control.addAll(set1);
control.addAll(set3);
assertTrue(params.getIncludedAlgorithms().equals(control));
- assertTrue(params.getExcludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getExcludedAlgorithms().equals(CollectionSupport.emptySet()));
}
@Test
@@ -192,15 +198,17 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setIncludeExcludePrecedence(Precedence.INCLUDE);
AlgorithmPolicyParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertTrue(params.getIncludedAlgorithms().equals(set1));
- assertTrue(params.getExcludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getExcludedAlgorithms().equals(CollectionSupport.emptySet()));
config1.setIncludeExcludePrecedence(Precedence.EXCLUDE);
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertTrue(params.getIncludedAlgorithms().equals(Collections.emptySet()));
+ assertTrue(params.getIncludedAlgorithms().equals(CollectionSupport.emptySet()));
assertTrue(params.getExcludedAlgorithms().equals(set2));
}
@@ -214,7 +222,7 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setIncludeExcludePrecedence(Precedence.INCLUDE);
- predicate = resolver.resolveIncludeExcludePredicate(criteriaSet, List.of(config1, config2, config3));
+ predicate = resolver.resolveIncludeExcludePredicate(criteriaSet, CollectionSupport.listOf(config1, config2, config3));
// Note: Have effective whitelist based on set1
@@ -232,7 +240,7 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
config1.setIncludeExcludePrecedence(Precedence.EXCLUDE);
- predicate = resolver.resolveIncludeExcludePredicate(criteriaSet, List.of(config1, config2, config3));
+ predicate = resolver.resolveIncludeExcludePredicate(criteriaSet, CollectionSupport.listOf(config1, config2, config3));
// Note: Have effective blacklist based on set2
@@ -383,13 +391,6 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
assertNull(resolver.lookupKeyInfoGenerator(cred, null, null));
assertNull(resolver.lookupKeyInfoGenerator(cred, null, "test"));
-
- try {
- resolver.lookupKeyInfoGenerator(null, manager, "test");
- fail("Null credential should have thrown");
- } catch (ConstraintViolationException e) {
- // expected
- }
}
@@ -400,20 +401,22 @@ public class AbstractSecurityParametersResolverTest extends XMLObjectBaseTestCas
/** {@inheritDoc} */
@Nonnull
- public Iterable<AlgorithmPolicyParameters> resolve(CriteriaSet criteria) throws ResolverException {
- AlgorithmPolicyParameters params = resolveSingle(criteria);
+ public Iterable<AlgorithmPolicyParameters> resolve(@Nullable final CriteriaSet criteria) throws ResolverException {
+ final AlgorithmPolicyParameters params = resolveSingle(criteria);
if (params != null) {
- return Collections.singletonList(params);
+ return CollectionSupport.singletonList(params);
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
/** {@inheritDoc} */
@Nullable
- public AlgorithmPolicyParameters resolveSingle(CriteriaSet criteria) throws ResolverException {
- AlgorithmPolicyParameters params = new AlgorithmPolicyParameters();
+ public AlgorithmPolicyParameters resolveSingle(@Nullable final CriteriaSet criteria) throws ResolverException {
+
+ assert criteria != null;
+ final AlgorithmPolicyParameters params = new AlgorithmPolicyParameters();
resolveAndPopulateIncludesExcludes(params, criteria,
- criteria.get(AlgorithmPolicyConfigurationCriterion.class).getConfigurations());
+ Constraint.isNotNull(criteria.get(AlgorithmPolicyConfigurationCriterion.class), "Criterion").getConfigurations());
return params;
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java
index 5c41ee9e8..e23f06f73 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java
@@ -25,6 +25,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
@@ -37,7 +38,7 @@ import org.opensaml.xmlsec.AlgorithmPolicyConfiguration;
public class AlgorithmPolicyConfigurationCriterion implements Criterion {
/** The list of configuration instances. */
- private List<AlgorithmPolicyConfiguration> configs;
+ @Nonnull private List<AlgorithmPolicyConfiguration> configs;
/**
* Constructor.
@@ -46,7 +47,7 @@ public class AlgorithmPolicyConfigurationCriterion implements Criterion {
*/
public AlgorithmPolicyConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty
final List<AlgorithmPolicyConfiguration> configurations) {
- configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations may not be null"));
+ configs = CollectionSupport.copyToList(Constraint.isNotNull(configurations, "List of configurations may not be null"));
Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -58,7 +59,7 @@ public class AlgorithmPolicyConfigurationCriterion implements Criterion {
*/
public AlgorithmPolicyConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty
final AlgorithmPolicyConfiguration... configurations) {
- configs = List.of(Constraint.isNotNull(configurations, "List of configurations may not be null"));
+ configs = CollectionSupport.listOf(Constraint.isNotNull(configurations, "List of configurations may not be null"));
Constraint.isNotEmpty(configs, "At least one configuration is required");
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicateTest.java
index 9f97447ed..a6eeae2d9 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicateTest.java
@@ -59,8 +59,7 @@ public class AlgorithmRuntimeSupportedPredicateTest extends OpenSAMLInitBaseTest
@Test(dataProvider = "loadBCTestData")
public void testCommon(boolean loadBC) throws InitializationException {
- AlgorithmRegistry originalRegistry = AlgorithmSupport.getGlobalAlgorithmRegistry();
- Assert.assertNotNull(originalRegistry);
+ final AlgorithmRegistry originalRegistry = AlgorithmSupport.ensureGlobalAlgorithmRegistry();
if (loadBC) {
providerSupport.loadBC();
@@ -95,8 +94,7 @@ public class AlgorithmRuntimeSupportedPredicateTest extends OpenSAMLInitBaseTest
@Test(dataProvider = "loadBCTestData")
public void testConditional(boolean loadBC) throws InitializationException {
- AlgorithmRegistry originalRegistry = AlgorithmSupport.getGlobalAlgorithmRegistry();
- Assert.assertNotNull(originalRegistry);
+ final AlgorithmRegistry originalRegistry = AlgorithmSupport.ensureGlobalAlgorithmRegistry();
if (loadBC) {
providerSupport.loadBC();
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java
index 9bbf8bbcc..f9753c18e 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java
@@ -28,6 +28,7 @@ import org.testng.annotations.Test;
import net.shibboleth.shared.logic.ConstraintViolationException;
+ at SuppressWarnings("javadoc")
public class BasicAlgorithmPolicyConfigurationTest {
private BasicAlgorithmPolicyConfiguration config;
@@ -132,9 +133,4 @@ public class BasicAlgorithmPolicyConfigurationTest {
assertEquals(config.getIncludeExcludePrecedence(), Precedence.EXCLUDE);
}
- @Test(expectedExceptions=ConstraintViolationException.class)
- public void testNullPrecedence() {
- config.setIncludeExcludePrecedence(null);
- }
-
-}
+}
\ No newline at end of file
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionConfigurationTest.java
index 1ed43b33c..0e40340aa 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionConfigurationTest.java
@@ -28,6 +28,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+ at SuppressWarnings("javadoc")
public class BasicDecryptionConfigurationTest {
private BasicDecryptionConfiguration config;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java
index 7df9d707d..bff6b8a43 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java
@@ -38,9 +38,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class BasicDecryptionParametersResolverTest {
private BasicDecryptionParametersResolver resolver;
@@ -191,9 +189,8 @@ public class BasicDecryptionParametersResolverTest {
config1.setKEKKeyInfoCredentialResolver(controlKeyInfoResolver1);
config1.setEncryptedKeyResolver(controlEncKeyResolver1);
- DecryptionParameters params = resolver.resolveSingle(criteriaSet);
-
- Assert.assertNotNull(params);
+ final DecryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
Assert.assertTrue(params.getDataKeyInfoCredentialResolver() == controlKeyInfoResolver1);
Assert.assertTrue(params.getKEKKeyInfoCredentialResolver() == controlKeyInfoResolver1);
Assert.assertTrue(params.getEncryptedKeyResolver() == controlEncKeyResolver1);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java
index 4b68c425a..967157fb1 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java
@@ -37,9 +37,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class BasicEncryptionConfigurationTest {
private BasicEncryptionConfiguration config;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java
index 0e7fc28c5..a98cc5289 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java
@@ -25,16 +25,16 @@ import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.spec.ECGenParameterSpec;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.annotation.Nullable;
import javax.crypto.SecretKey;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
@@ -47,6 +47,7 @@ import org.opensaml.security.crypto.KeySupport;
import org.opensaml.xmlsec.EncryptionParameters;
import org.opensaml.xmlsec.KeyTransportAlgorithmPredicate;
import org.opensaml.xmlsec.agreement.KeyAgreementCredential;
+import org.opensaml.xmlsec.agreement.KeyAgreementParameter;
import org.opensaml.xmlsec.criterion.EncryptionConfigurationCriterion;
import org.opensaml.xmlsec.criterion.KeyInfoGenerationProfileCriterion;
import org.opensaml.xmlsec.derivation.impl.ConcatKDF;
@@ -65,9 +66,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase {
private BasicEncryptionParametersResolver resolver;
@@ -126,7 +125,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
config3 = new BasicEncryptionConfiguration();
// Set these as defaults on the last config in the chain, just so don't have to set in every test.
- config3.setDataEncryptionAlgorithms(List.of(
+ config3.setDataEncryptionAlgorithms(CollectionSupport.listOf(
defaultAES128DataAlgo,
defaultAES192DataAlgo,
defaultAES256DataAlgo,
@@ -135,7 +134,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES192_GCM,
EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256_GCM
));
- config3.setKeyTransportEncryptionAlgorithms(List.of(
+ config3.setKeyTransportEncryptionAlgorithms(CollectionSupport.listOf(
defaultRSAKeyTransportAlgo,
EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15,
EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP11,
@@ -151,8 +150,8 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
concatKDF.setAlgorithmID("00");
concatKDF.setPartyUInfo("00");
concatKDF.setPartyVInfo("00");
- ecConfig.setParameters(Set.of(concatKDF));
- config3.setKeyAgreementConfigurations(Map.of("EC", ecConfig));
+ ecConfig.setParameters(CollectionSupport.singletonList(concatKDF));
+ config3.setKeyAgreementConfigurations(CollectionSupport.singletonMap("EC", ecConfig));
BasicKeyInfoGeneratorFactory basicFactory1 = new BasicKeyInfoGeneratorFactory();
X509KeyInfoGeneratorFactory x509Factory1 = new X509KeyInfoGeneratorFactory();
@@ -181,9 +180,9 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
public void testBasicRSA() throws ResolverException {
config1.setKeyTransportEncryptionCredentials(Collections.singletonList(rsaCred1));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), rsaCred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), defaultRSAKeyTransportAlgo);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -200,9 +199,9 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
config2.setDataEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256));
config2.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), rsaCred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -215,11 +214,11 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
@Test
public void testRSAWithBlacklist() throws ResolverException {
config1.setKeyTransportEncryptionCredentials(Collections.singletonList(rsaCred1));
- config1.setExcludedAlgorithms(List.of(defaultRSAKeyTransportAlgo, defaultAES128DataAlgo, defaultAES192DataAlgo));
+ config1.setExcludedAlgorithms(CollectionSupport.listOf(defaultRSAKeyTransportAlgo, defaultAES128DataAlgo, defaultAES192DataAlgo));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), rsaCred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -232,11 +231,11 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
@Test
public void testRSAWithWhitelist() throws ResolverException {
config1.setKeyTransportEncryptionCredentials(Collections.singletonList(rsaCred1));
- config1.setIncludedAlgorithms(List.of(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15));
+ config1.setIncludedAlgorithms(CollectionSupport.listOf(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), rsaCred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -252,16 +251,19 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
resolver.setAutoGenerateDataEncryptionCredential(true);
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), rsaCred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), defaultRSAKeyTransportAlgo);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
- assertNotNull(params.getDataEncryptionCredential());
- assertNotNull(params.getDataEncryptionCredential().getSecretKey());
- assertEquals(KeySupport.getKeyLength(params.getDataEncryptionCredential().getSecretKey()), Integer.valueOf(128));
+ final Credential dataCred = params.getDataEncryptionCredential();
+ assert dataCred != null;
+
+ final SecretKey skey = dataCred.getSecretKey();
+ assert skey != null;
+ assertEquals(KeySupport.getKeyLength(skey), 128);
assertEquals(params.getDataEncryptionAlgorithm(), defaultAES128DataAlgo);
assertNotNull(params.getDataKeyInfoGenerator());
}
@@ -274,32 +276,41 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
// Shouldn't resolve since not RSA OAEP
config1.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15));
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNull(params.getRSAOAEPParameters());
// Should resolve an empty instance
config1.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP));
params = resolver.resolveSingle(criteriaSet);
- assertNotNull(params.getRSAOAEPParameters());
- assertTrue(params.getRSAOAEPParameters().isEmpty());
+ assert params != null;
+
+ RSAOAEPParameters oaep = params.getRSAOAEPParameters();
+ assert oaep != null;
+ assertTrue(oaep.isEmpty());
// Should resolve full set of values from config3
config1.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP));
config3.setRSAOAEPParameters(new RSAOAEPParameters(SignatureConstants.ALGO_ID_DIGEST_SHA1, EncryptionConstants.ALGO_ID_MGF1_SHA1, "dummy-oaep-params-3"));
params = resolver.resolveSingle(criteriaSet);
- assertNotNull(params.getRSAOAEPParameters());
- assertEquals(params.getRSAOAEPParameters().getDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA1);
- assertEquals(params.getRSAOAEPParameters().getMaskGenerationFunction(), EncryptionConstants.ALGO_ID_MGF1_SHA1);
- assertEquals(params.getRSAOAEPParameters().getOAEPParams(), "dummy-oaep-params-3");
+ assert params != null;
+ oaep = params.getRSAOAEPParameters();
+ assert oaep != null;
+ assertEquals(oaep.getDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA1);
+ assertEquals(oaep.getMaskGenerationFunction(), EncryptionConstants.ALGO_ID_MGF1_SHA1);
+ assertEquals(oaep.getOAEPParams(), "dummy-oaep-params-3");
// Should resolve digest and mgf from config2, OAEPParams from config3 (merged)
config1.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP11));
config2.setRSAOAEPParameters(new RSAOAEPParameters(SignatureConstants.ALGO_ID_DIGEST_SHA256, EncryptionConstants.ALGO_ID_MGF1_SHA256, null));
config3.setRSAOAEPParameters(new RSAOAEPParameters(SignatureConstants.ALGO_ID_DIGEST_SHA1, EncryptionConstants.ALGO_ID_MGF1_SHA1, "dummy-oaep-params-3"));
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+ oaep = params.getRSAOAEPParameters();
+ assert oaep != null;
assertNotNull(params.getRSAOAEPParameters());
- assertEquals(params.getRSAOAEPParameters().getDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA256);
- assertEquals(params.getRSAOAEPParameters().getMaskGenerationFunction(), EncryptionConstants.ALGO_ID_MGF1_SHA256);
- assertEquals(params.getRSAOAEPParameters().getOAEPParams(), "dummy-oaep-params-3");
+ assertEquals(oaep.getDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA256);
+ assertEquals(oaep.getMaskGenerationFunction(), EncryptionConstants.ALGO_ID_MGF1_SHA256);
+ assertEquals(oaep.getOAEPParams(), "dummy-oaep-params-3");
// Should resolve digest from config1, and mgf from config2 (merged), but with no merging from config3
config1.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP11));
@@ -308,10 +319,13 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
config2.setRSAOAEPParametersMerge(false);
config3.setRSAOAEPParameters(new RSAOAEPParameters(SignatureConstants.ALGO_ID_DIGEST_SHA1, EncryptionConstants.ALGO_ID_MGF1_SHA1, "dummy-oaep-params-3"));
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+ oaep = params.getRSAOAEPParameters();
+ assert oaep != null;
assertNotNull(params.getRSAOAEPParameters());
- assertEquals(params.getRSAOAEPParameters().getDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA512);
- assertEquals(params.getRSAOAEPParameters().getMaskGenerationFunction(), EncryptionConstants.ALGO_ID_MGF1_SHA256);
- assertNull(params.getRSAOAEPParameters().getOAEPParams());
+ assertEquals(oaep.getDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA512);
+ assertEquals(oaep.getMaskGenerationFunction(), EncryptionConstants.ALGO_ID_MGF1_SHA256);
+ assertNull(oaep.getOAEPParams());
// Should resolve empty instance based on config1 only, with no merging
config1.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP11));
@@ -319,26 +333,32 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
config1.setRSAOAEPParametersMerge(false);
config2.setRSAOAEPParameters(new RSAOAEPParameters(SignatureConstants.ALGO_ID_DIGEST_SHA256, EncryptionConstants.ALGO_ID_MGF1_SHA256, "dummy-oaep-params2"));
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+ oaep = params.getRSAOAEPParameters();
+ assert oaep != null;
assertNotNull(params.getRSAOAEPParameters());
- assertTrue(params.getRSAOAEPParameters().isEmpty());
+ assertTrue(oaep.isEmpty());
}
@Test
public void testECDHWithDirectDataEncryption() throws ResolverException {
config1.setDataEncryptionCredentials(Collections.singletonList(ecCred1));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertNull(params.getKeyTransportEncryptionCredential());
assertNull(params.getKeyTransportEncryptionAlgorithm());
assertNull(params.getKeyTransportKeyInfoGenerator());
- assertNotNull(params.getDataEncryptionCredential());
+ final Credential dataCred = params.getDataEncryptionCredential();
+ assert dataCred != null;
assertTrue(KeyAgreementCredential.class.isInstance(params.getDataEncryptionCredential()));
- assertNotNull(params.getDataEncryptionCredential().getSecretKey());
- assertEquals(params.getDataEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getDataEncryptionCredential().getSecretKey()), Integer.valueOf(128));
+
+ final SecretKey skey = dataCred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(skey), 128);
assertEquals(params.getDataEncryptionAlgorithm(), defaultAES128DataAlgo);
assertNotNull(params.getDataKeyInfoGenerator());
assertTrue(KeyAgreementKeyInfoGenerator.class.isInstance(params.getDataKeyInfoGenerator()));
@@ -350,18 +370,22 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
config2.setDataEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertNull(params.getKeyTransportEncryptionCredential());
assertNull(params.getKeyTransportEncryptionAlgorithm());
assertNull(params.getKeyTransportKeyInfoGenerator());
- assertNotNull(params.getDataEncryptionCredential());
+ final Credential dataCred = params.getDataEncryptionCredential();
+ assert dataCred != null;
assertTrue(KeyAgreementCredential.class.isInstance(params.getDataEncryptionCredential()));
- assertNotNull(params.getDataEncryptionCredential().getSecretKey());
- assertEquals(params.getDataEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getDataEncryptionCredential().getSecretKey()), Integer.valueOf(256));
+
+ final SecretKey skey = dataCred.getSecretKey();
+ assert skey != null;
+
+ assertEquals(skey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(skey), 256);
assertEquals(params.getDataEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256);
assertNotNull(params.getDataKeyInfoGenerator());
assertTrue(KeyAgreementKeyInfoGenerator.class.isInstance(params.getDataKeyInfoGenerator()));
@@ -371,13 +395,17 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
public void testECDHWithKeyWrap() throws ResolverException {
config1.setKeyTransportEncryptionCredentials(Collections.singletonList(ecCred1));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
-
- assertNotNull(params.getKeyTransportEncryptionCredential());
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+
+ final Credential keyCred = params.getKeyTransportEncryptionCredential();
+ assert keyCred != null;
assertTrue(KeyAgreementCredential.class.isInstance(params.getKeyTransportEncryptionCredential()));
- assertNotNull(params.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(params.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getKeyTransportEncryptionCredential().getSecretKey()), Integer.valueOf(128));
+
+ final SecretKey skey = keyCred.getSecretKey();
+ assert skey != null;
+ assertEquals(skey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(skey), 128);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYWRAP_AES128);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
assertTrue(KeyAgreementKeyInfoGenerator.class.isInstance(params.getKeyTransportKeyInfoGenerator()));
@@ -394,13 +422,18 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
config2.setKeyTransportEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_KEYWRAP_AES256));
config2.setDataEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES192));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
-
- assertNotNull(params.getKeyTransportEncryptionCredential());
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+
+ final Credential keyCred = params.getKeyTransportEncryptionCredential();
+ assert keyCred != null;
assertTrue(KeyAgreementCredential.class.isInstance(params.getKeyTransportEncryptionCredential()));
- assertNotNull(params.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(params.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getKeyTransportEncryptionCredential().getSecretKey()), Integer.valueOf(256));
+
+ final SecretKey skey = keyCred.getSecretKey();
+ assert skey != null;
+
+ assertEquals(skey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(skey), 256);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYWRAP_AES256);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
assertTrue(KeyAgreementKeyInfoGenerator.class.isInstance(params.getKeyTransportKeyInfoGenerator()));
@@ -416,21 +449,29 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
resolver.setAutoGenerateDataEncryptionCredential(true);
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params.getKeyTransportEncryptionCredential());
+ final Credential keyCred = params.getKeyTransportEncryptionCredential();
+ assert keyCred != null;
assertTrue(KeyAgreementCredential.class.isInstance(params.getKeyTransportEncryptionCredential()));
- assertNotNull(params.getKeyTransportEncryptionCredential().getSecretKey());
- assertEquals(params.getKeyTransportEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getKeyTransportEncryptionCredential().getSecretKey()), Integer.valueOf(128));
+
+ final SecretKey skey = keyCred.getSecretKey();
+ assert skey != null;
+
+ assertEquals(skey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(skey), 128);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYWRAP_AES128);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
assertTrue(KeyAgreementKeyInfoGenerator.class.isInstance(params.getKeyTransportKeyInfoGenerator()));
- assertNotNull(params.getDataEncryptionCredential());
- assertNotNull(params.getDataEncryptionCredential().getSecretKey());
- assertEquals(params.getDataEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getDataEncryptionCredential().getSecretKey()), Integer.valueOf(128));
+ final Credential dataCred = params.getDataEncryptionCredential();
+ assert dataCred != null;
+ final SecretKey dataKey = dataCred.getSecretKey();
+ assert dataKey != null;
+
+ assertEquals(dataKey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(dataKey), 128);
assertEquals(params.getDataEncryptionAlgorithm(), defaultAES128DataAlgo);
assertNotNull(params.getDataKeyInfoGenerator());
}
@@ -441,21 +482,24 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
KeyAgreementEncryptionConfiguration ecConfig = new KeyAgreementEncryptionConfiguration();
PBKDF2 kdf = new PBKDF2();
- ecConfig.setParameters(Set.of(kdf));
- config2.setKeyAgreementConfigurations(Map.of("EC", ecConfig));
+ ecConfig.setParameters(CollectionSupport.singletonList(kdf));
+ config2.setKeyAgreementConfigurations(CollectionSupport.singletonMap("EC", ecConfig));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertNull(params.getKeyTransportEncryptionCredential());
assertNull(params.getKeyTransportEncryptionAlgorithm());
assertNull(params.getKeyTransportKeyInfoGenerator());
-
- assertNotNull(params.getDataEncryptionCredential());
+
assertTrue(KeyAgreementCredential.class.isInstance(params.getDataEncryptionCredential()));
- assertNotNull(params.getDataEncryptionCredential().getSecretKey());
- assertEquals(params.getDataEncryptionCredential().getSecretKey().getAlgorithm(), "AES");
- assertEquals(KeySupport.getKeyLength(params.getDataEncryptionCredential().getSecretKey()), Integer.valueOf(128));
+ final Credential dataCred = params.getDataEncryptionCredential();
+ assert dataCred != null;
+ final SecretKey dataKey = dataCred.getSecretKey();
+ assert dataKey != null;
+
+ assertEquals(dataKey.getAlgorithm(), "AES");
+ assertEquals(KeySupport.getKeyLength(dataKey), 128);
assertEquals(params.getDataEncryptionAlgorithm(), defaultAES128DataAlgo);
assertNotNull(params.getDataKeyInfoGenerator());
assertTrue(KeyAgreementKeyInfoGenerator.class.isInstance(params.getDataKeyInfoGenerator()));
@@ -467,35 +511,42 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
@Test
public void testGetEffectiveKeyAgreementConfiguration() {
- KeyAgreementEncryptionConfiguration ecConfig1 = new KeyAgreementEncryptionConfiguration();
- ecConfig1.setParameters(Set.of(new ConcatKDF()));
- config1.setKeyAgreementConfigurations(Map.of("EC", ecConfig1));
+ final KeyAgreementEncryptionConfiguration ecConfig1 = new KeyAgreementEncryptionConfiguration();
+ ecConfig1.setParameters(CollectionSupport.singletonList(new ConcatKDF()));
+ config1.setKeyAgreementConfigurations(CollectionSupport.singletonMap("EC", ecConfig1));
- KeyAgreementEncryptionConfiguration ecConfig2 = new KeyAgreementEncryptionConfiguration();
+ final KeyAgreementEncryptionConfiguration ecConfig2 = new KeyAgreementEncryptionConfiguration();
ecConfig2.setAlgorithm(EncryptionConstants.ALGO_ID_KEYAGREEMENT_ECDH_ES);
- ecConfig2.setParameters(Set.of(new PBKDF2()));
- config2.setKeyAgreementConfigurations(Map.of("EC", ecConfig2));
+ ecConfig2.setParameters(CollectionSupport.singletonList(new PBKDF2()));
+ config2.setKeyAgreementConfigurations(CollectionSupport.singletonMap("EC", ecConfig2));
- KeyAgreementEncryptionConfiguration ecConfig3 = new KeyAgreementEncryptionConfiguration();
+ final KeyAgreementEncryptionConfiguration ecConfig3 = new KeyAgreementEncryptionConfiguration();
ecConfig3.setAlgorithm("SomeAlgo");
- ecConfig3.setParameters(Set.of(new ConcatKDF()));
- config3.setKeyAgreementConfigurations(Map.of("EC", ecConfig3));
+ ecConfig3.setParameters(CollectionSupport.singletonList(new ConcatKDF()));
+ config3.setKeyAgreementConfigurations(CollectionSupport.singletonMap("EC", ecConfig3));
- KeyAgreementEncryptionConfiguration config = resolver.getEffectiveKeyAgreementConfiguration(criteriaSet, ecCred1);
+ final KeyAgreementEncryptionConfiguration config = resolver.getEffectiveKeyAgreementConfiguration(criteriaSet, ecCred1);
+ assert config != null;
Assert.assertEquals(config.getAlgorithm(), EncryptionConstants.ALGO_ID_KEYAGREEMENT_ECDH_ES);
- Assert.assertEquals(config.getParameters().size(), 1);
- Assert.assertTrue(ConcatKDF.class.isInstance(config.getParameters().iterator().next()));
- Assert.assertSame(config.getParameters().iterator().next(), ecConfig1.getParameters().iterator().next());
+
+ final Collection<KeyAgreementParameter> agreementParams = config.getParameters();
+ assert agreementParams != null;
+ Assert.assertEquals(agreementParams.size(), 1);
+ Assert.assertTrue(ConcatKDF.class.isInstance(agreementParams.iterator().next()));
+
+ final Collection<KeyAgreementParameter> ec1Params = ecConfig1.getParameters();
+ assert ec1Params != null;
+ Assert.assertSame(agreementParams.iterator().next(), ec1Params.iterator().next());
}
@Test
public void testAES128KeyWrap() throws ResolverException {
config1.setKeyTransportEncryptionCredentials(Collections.singletonList(aes128Cred1));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), aes128Cred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYWRAP_AES128);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -509,9 +560,9 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
public void testDataCredOnly() throws ResolverException {
config1.setDataEncryptionCredentials(Collections.singletonList(aes256Cred1));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertNull(params.getKeyTransportEncryptionCredential());
assertNull(params.getKeyTransportEncryptionAlgorithm());
assertNull(params.getKeyTransportKeyInfoGenerator());
@@ -523,14 +574,14 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
@Test
public void testKeyTransportCredWithBlacklistAndFallthrough() throws ResolverException {
- config1.setKeyTransportEncryptionCredentials(List.of(rsaCred1, aes256Cred1));
+ config1.setKeyTransportEncryptionCredentials(CollectionSupport.listOf(rsaCred1, aes256Cred1));
// Blacklist all RSA algos so rsaCred1 is skipped in favor of aes256Cred1
- config1.setExcludedAlgorithms(List.of(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP11));
+ config1.setExcludedAlgorithms(CollectionSupport.listOf(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP11));
- EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), aes256Cred1);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYWRAP_AES256);
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -542,14 +593,14 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
@Test
public void testDataCredOnlyWithBlacklistAndFallthrough() throws ResolverException {
- config1.setDataEncryptionCredentials(List.of(aes128Cred1, aes256Cred1));
+ config1.setDataEncryptionCredentials(CollectionSupport.listOf(aes128Cred1, aes256Cred1));
// Blacklist both AES-128 variants so aes128Cred1 is skipped in favor of aes256Cred1
- config1.setExcludedAlgorithms(List.of(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128, EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128_GCM));
+ config1.setExcludedAlgorithms(CollectionSupport.listOf(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128, EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128_GCM));
final EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertNull(params.getKeyTransportEncryptionCredential());
assertNull(params.getKeyTransportEncryptionAlgorithm());
assertNull(params.getKeyTransportKeyInfoGenerator());
@@ -562,7 +613,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
@Test
public void testKeyTransportAlgorithmPredicate() throws ResolverException {
config1.setKeyTransportEncryptionCredentials(Collections.singletonList(rsaCred1));
- config1.setKeyTransportEncryptionAlgorithms(List.of(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP));
+ config1.setKeyTransportEncryptionAlgorithms(CollectionSupport.listOf(EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15, EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP));
config1.setDataEncryptionAlgorithms(Collections.singletonList(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128));
// Data algorithm -> key transport algorithm preferences mappings
@@ -573,6 +624,8 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
// Without the predicate, for control
EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+
assertEquals(params.getDataEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15);
@@ -580,6 +633,8 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
// Explicit preference with predicate, mapping # 1
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+
assertEquals(params.getDataEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES128);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSAOAEP);
@@ -587,6 +642,8 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
// Explicit preference with predicate, mapping # 2
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
+
assertEquals(params.getDataEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256);
assertEquals(params.getKeyTransportEncryptionAlgorithm(), EncryptionConstants.ALGO_ID_KEYTRANSPORT_RSA15);
}
@@ -602,6 +659,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
defaultKeyTransportKeyInfoGeneratorManager.setUseDefaultManager(true);
EncryptionParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNotNull(params.getDataKeyInfoGenerator());
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -610,6 +668,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
defaultKeyTransportKeyInfoGeneratorManager.setUseDefaultManager(false);
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNull(params.getDataKeyInfoGenerator());
assertNull(params.getKeyTransportKeyInfoGenerator());
@@ -620,6 +679,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
defaultKeyTransportKeyInfoGeneratorManager.registerFactory("testKeyInfoProfile", new BasicKeyInfoGeneratorFactory());
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNotNull(params.getDataKeyInfoGenerator());
assertNotNull(params.getKeyTransportKeyInfoGenerator());
@@ -637,7 +697,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
assertTrue(iterator.hasNext());
- EncryptionParameters params = iterator.next();
+ final EncryptionParameters params = iterator.next();
assertNotNull(params);
assertEquals(params.getKeyTransportEncryptionCredential(), rsaCred1);
@@ -724,6 +784,7 @@ public class BasicEncryptionParametersResolverTest extends XMLObjectBaseTestCase
}
public boolean test(@Nullable SelectionInput input) {
+ assert input != null;
return algoMap.get(input.getDataEncryptionAlgorithm()).equals(input.getKeyTransportAlgorithm());
}
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java
index 11d98c80b..883a43e1c 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java
@@ -33,9 +33,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class BasicSignatureSigningConfigurationTest {
private BasicSignatureSigningConfiguration config;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
index 44f1ed47b..5b2a622e9 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
@@ -49,9 +49,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTestCase {
private BasicSignatureSigningParametersResolver resolver;
@@ -127,9 +125,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
public void testBasicRSA() throws ResolverException {
config1.setSigningCredentials(Collections.singletonList(rsaCred));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultRSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -145,9 +143,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSignatureAlgorithms(Collections.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -166,9 +164,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSignatureAlgorithms(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1, SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256));
config2.setSignatureReferenceDigestMethods(List.of(SignatureConstants.ALGO_ID_DIGEST_SHA1, SignatureConstants.ALGO_ID_DIGEST_SHA256));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
assertEquals(params.getSignatureReferenceDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA256);
@@ -187,9 +185,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSignatureAlgorithms(List.of(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1, SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256));
config2.setSignatureReferenceDigestMethods(List.of(SignatureConstants.ALGO_ID_DIGEST_SHA1, SignatureConstants.ALGO_ID_DIGEST_SHA256));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
assertEquals(params.getSignatureReferenceDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA256);
@@ -203,9 +201,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
public void testBasicDSA() throws ResolverException {
config1.setSigningCredentials(Collections.singletonList(dsaCred));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), dsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultDSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -221,9 +219,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
if (ecCred != null) {
config1.setSigningCredentials(Collections.singletonList(ecCred));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), ecCred);
assertEquals(params.getSignatureAlgorithm(), defaultECAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -238,9 +236,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
public void testBasicHMAC() throws ResolverException {
config1.setSigningCredentials(Collections.singletonList(hmacCred));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), hmacCred);
assertEquals(params.getSignatureAlgorithm(), defaultHMACAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -258,9 +256,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSignatureReferenceDigestMethods(Collections.singletonList(SignatureConstants.ALGO_ID_DIGEST_SHA256));
config2.setSignatureHMACOutputLength(160);
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), hmacCred);
assertEquals(params.getSignatureAlgorithm(), SignatureConstants.ALGO_ID_MAC_HMAC_SHA256);
assertEquals(params.getSignatureReferenceDigestMethod(), SignatureConstants.ALGO_ID_DIGEST_SHA256);
@@ -276,9 +274,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSignatureCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N11_WITH_COMMENTS);
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultRSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -294,9 +292,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSignatureReferenceCanonicalizationAlgorithm(SignatureConstants.TRANSFORM_C14N_EXCL_WITH_COMMENTS);
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultRSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -311,8 +309,8 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config1.setSigningCredentials(List.of(rsaCred, dsaCred));
SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultRSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -324,8 +322,8 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config1.setSigningCredentials(List.of(dsaCred, rsaCred));
params = resolver.resolveSingle(criteriaSet);
-
- assertNotNull(params);
+ assert params != null;
+
assertEquals(params.getSigningCredential(), dsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultDSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -339,12 +337,12 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config1.setSigningCredentials(List.of(ecCred, dsaCred, rsaCred));
params = resolver.resolveSingle(criteriaSet);
-
- assertNotNull(params);
+ assert params != null;
+
assertEquals(params.getSigningCredential(), ecCred);
assertEquals(params.getSignatureAlgorithm(), defaultECAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
- assertNull(params.getSignatureReferenceCanonicalizationAlgorithm());
+ assertNull(params.getSignatureReferenceCanonicalizationAlgorithm());
assertEquals(params.getSignatureCanonicalizationAlgorithm(), defaultC14N);
assertNull(params.getSignatureHMACOutputLength());
assertNotNull(params.getKeyInfoGenerator());
@@ -353,8 +351,8 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config1.setSigningCredentials(List.of(hmacCred, dsaCred, rsaCred));
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), hmacCred);
assertEquals(params.getSignatureAlgorithm(), defaultHMACAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -371,9 +369,9 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
config2.setSigningCredentials(List.of(rsaCred, dsaCred, hmacCred));
config2.setSignatureAlgorithms(Collections.singletonList(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256));
- SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
- assertNotNull(params);
assertEquals(params.getSigningCredential(), dsaCred);
assertEquals(params.getSignatureAlgorithm(), defaultDSAAlgo);
assertEquals(params.getSignatureReferenceDigestMethod(), defaultReferenceDigest);
@@ -392,12 +390,14 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
defaultKeyInfoGeneratorManager.setUseDefaultManager(true);
SignatureSigningParameters params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNotNull(params.getKeyInfoGenerator());
defaultKeyInfoGeneratorManager.setUseDefaultManager(false);
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNull(params.getKeyInfoGenerator());
@@ -405,6 +405,7 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
defaultKeyInfoGeneratorManager.registerFactory("testKeyInfoProfile", new BasicKeyInfoGeneratorFactory());
params = resolver.resolveSingle(criteriaSet);
+ assert params != null;
assertNotNull(params.getKeyInfoGenerator());
}
@@ -421,7 +422,7 @@ public class BasicSignatureSigningParametersResolverTest extends XMLObjectBaseTe
assertTrue(iterator.hasNext());
- SignatureSigningParameters params =iterator.next();
+ final SignatureSigningParameters params =iterator.next();
assertNotNull(params);
assertEquals(params.getSigningCredential(), rsaCred);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationConfigurationTest.java
index 37326ec9c..12b511cf2 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationConfigurationTest.java
@@ -29,6 +29,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+ at SuppressWarnings("javadoc")
public class BasicSignatureValidationConfigurationTest {
private BasicSignatureValidationConfiguration config;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java
index 6723abfaf..c4a18f78f 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java
@@ -40,6 +40,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+ at SuppressWarnings("javadoc")
public class BasicSignatureValidationParametersResolverTest {
private BasicSignatureValidationParametersResolver resolver;
@@ -113,7 +114,7 @@ public class BasicSignatureValidationParametersResolverTest {
assertTrue(iterator.hasNext());
- SignatureValidationParameters params =iterator.next();
+ final SignatureValidationParameters params =iterator.next();
assertNotNull(params);
assertTrue(params.getSignatureTrustEngine() == controlTrustEngine1);
@@ -130,9 +131,9 @@ public class BasicSignatureValidationParametersResolverTest {
config1.setExcludedAlgorithms(List.of("foo", "bar"));
config1.setSignatureTrustEngine(controlTrustEngine1);
- SignatureValidationParameters params = resolver.resolveSingle(criteriaSet);
+ final SignatureValidationParameters params = resolver.resolveSingle(criteriaSet);
- assertNotNull(params);
+ assert params != null;
assertTrue(params.getSignatureTrustEngine() == controlTrustEngine1);
assertTrue(params.getIncludedAlgorithms().isEmpty());
assertEquals(params.getExcludedAlgorithms().size(), 2);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java
index b50e28df8..a734a3dfc 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java
@@ -17,18 +17,17 @@
package org.opensaml.xmlsec.impl;
-import java.util.List;
-
import org.testng.Assert;
import org.testng.annotations.Test;
-import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.collection.CollectionSupport;
+ at SuppressWarnings("javadoc")
public class ExcludedAlgorithmsPredicateTest {
@Test
public void testBasic() {
- ExcludedAlgorithmsPredicate predicate = new ExcludedAlgorithmsPredicate(List.of("A", "B", "C", "D"));
+ ExcludedAlgorithmsPredicate predicate = new ExcludedAlgorithmsPredicate(CollectionSupport.listOf("A", "B", "C", "D"));
Assert.assertFalse(predicate.test("A"));
Assert.assertFalse(predicate.test("B"));
@@ -43,14 +42,9 @@ public class ExcludedAlgorithmsPredicateTest {
Assert.assertTrue(predicate.test("bax"));
}
- @Test(expectedExceptions=ConstraintViolationException.class)
- public void testNullSet() {
- new ExcludedAlgorithmsPredicate(null);
- }
-
@Test(expectedExceptions=IllegalArgumentException.class)
public void testNullArg() {
- ExcludedAlgorithmsPredicate predicate = new ExcludedAlgorithmsPredicate(List.of("A", "B", "C", "D"));
+ ExcludedAlgorithmsPredicate predicate = new ExcludedAlgorithmsPredicate(CollectionSupport.listOf("A", "B", "C", "D"));
predicate.test(null);
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java
index 6d15646fd..2fc5d1bc4 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java
@@ -17,21 +17,17 @@
package org.opensaml.xmlsec.impl;
-import java.util.List;
-
import org.testng.Assert;
import org.testng.annotations.Test;
-import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.collection.CollectionSupport;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class IncludedAlgorithmsPredicateTest {
@Test
public void testBasic() {
- IncludedAlgorithmsPredicate predicate = new IncludedAlgorithmsPredicate(List.of("A", "B", "C", "D"));
+ IncludedAlgorithmsPredicate predicate = new IncludedAlgorithmsPredicate(CollectionSupport.listOf("A", "B", "C", "D"));
Assert.assertTrue(predicate.test("A"));
Assert.assertTrue(predicate.test("B"));
@@ -46,14 +42,9 @@ public class IncludedAlgorithmsPredicateTest {
Assert.assertFalse(predicate.test("bax"));
}
- @Test(expectedExceptions=ConstraintViolationException.class)
- public void testNullSet() {
- new IncludedAlgorithmsPredicate(null);
- }
-
@Test(expectedExceptions=IllegalArgumentException.class)
public void testNullArg() {
- IncludedAlgorithmsPredicate predicate = new IncludedAlgorithmsPredicate(List.of("A", "B", "C", "D"));
+ IncludedAlgorithmsPredicate predicate = new IncludedAlgorithmsPredicate(CollectionSupport.listOf("A", "B", "C", "D"));
predicate.test(null);
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/BasicKeyInfoGeneratorTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/BasicKeyInfoGeneratorTest.java
index 0f5a0ed89..27a8e8087 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/BasicKeyInfoGeneratorTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/BasicKeyInfoGeneratorTest.java
@@ -26,6 +26,7 @@ import java.security.PublicKey;
import java.util.List;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.BasicCredential;
import org.opensaml.security.crypto.KeySupport;
@@ -98,12 +99,13 @@ public class BasicKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitPublicDEREncodedKeyValue(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
- Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 2, "Unexpected number of KeyInfo children");
+ final List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+
+ Assert.assertEquals(children.size(), 2, "Unexpected number of KeyInfo children");
Assert.assertEquals(keyInfo.getKeyValues().size(), 1, "Unexpected number of KeyValue elements");
Assert.assertEquals(keyInfo.getDEREncodedKeyValues().size(), 1,
"Unexpected number of DEREncodedKeyValue elements");
@@ -179,10 +181,12 @@ public class BasicKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
generator = factory.newInstance();
keyInfo = generator.generate(credential);
-
assert keyInfo != null;
- Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 5, "Unexpected # of KeyInfo children found");
+
+ final List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+
+ Assert.assertEquals(children.size(), 5, "Unexpected # of KeyInfo children found");
}
@DataProvider
@@ -211,9 +215,11 @@ public class BasicKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
Assert.assertTrue(type.isInstance(keyInfo));
assert keyInfo != null;
- Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
+
+ final List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 2, "Unexpected number of KeyInfo children");
+ Assert.assertEquals(children.size(), 2, "Unexpected number of KeyInfo children");
Assert.assertEquals(keyInfo.getKeyValues().size(), 1, "Unexpected number of KeyValue elements");
Assert.assertEquals(keyInfo.getDEREncodedKeyValues().size(), 1,
"Unexpected number of DEREncodedKeyValue elements");
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/KeyAgreementKeyInfoGeneratorTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/KeyAgreementKeyInfoGeneratorTest.java
index e1bb82a3a..24c6c6380 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/KeyAgreementKeyInfoGeneratorTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/KeyAgreementKeyInfoGeneratorTest.java
@@ -22,10 +22,12 @@ import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.spec.ECGenParameterSpec;
+import java.util.List;
import javax.crypto.SecretKey;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
import org.opensaml.security.credential.BasicCredential;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.crypto.JCAConstants;
@@ -38,10 +40,15 @@ import org.opensaml.xmlsec.derivation.impl.ConcatKDF;
import org.opensaml.xmlsec.derivation.impl.PBKDF2;
import org.opensaml.xmlsec.encryption.AgreementMethod;
import org.opensaml.xmlsec.encryption.ConcatKDFParams;
+import org.opensaml.xmlsec.encryption.IterationCount;
import org.opensaml.xmlsec.encryption.KeyDerivationMethod;
+import org.opensaml.xmlsec.encryption.KeyLength;
import org.opensaml.xmlsec.encryption.OriginatorKeyInfo;
import org.opensaml.xmlsec.encryption.PBKDF2Params;
+import org.opensaml.xmlsec.encryption.PRF;
import org.opensaml.xmlsec.encryption.RecipientKeyInfo;
+import org.opensaml.xmlsec.encryption.Salt;
+import org.opensaml.xmlsec.encryption.Specified;
import org.opensaml.xmlsec.encryption.support.EncryptionConstants;
import org.opensaml.xmlsec.keyinfo.KeyInfoGenerator;
import org.opensaml.xmlsec.keyinfo.KeyInfoSupport;
@@ -52,9 +59,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-/**
- *
- */
+ at SuppressWarnings("javadoc")
public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
private KeyPair keyPairOriginatorECDH, keyPairRecipientECDH;
@@ -97,7 +102,7 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
@Test
public void ECDHWithConcatKDFWithDefaults() throws Exception {
- ConcatKDF kdf = new ConcatKDF();
+ final ConcatKDF kdf = new ConcatKDF();
kdf.setDigestMethod(SignatureConstants.ALGO_ID_DIGEST_SHA512);
kdf.setAlgorithmID("AA");
kdf.setPartyUInfo("BB");
@@ -108,32 +113,38 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
credECDH.getParameters().add(kdf);
- KeyInfoGenerator generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credECDH);
+ final KeyInfoGenerator generator = factory.newInstance();
+ final KeyInfo keyInfo = generator.generate(credECDH);
+ assert keyInfo != null;
+ List<XMLObject> children = keyInfo.getOrderedChildren();
- Assert.assertNotNull(keyInfo);
- Assert.assertNotNull(keyInfo.getOrderedChildren());
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1);
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(keyInfo.getAgreementMethods().size(), 1);
- AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
Assert.assertEquals(agreementMethod.getAlgorithm(), credECDH.getAlgorithm());
-
- Assert.assertEquals(agreementMethod.getOrderedChildren().size(), 3);
+ children = agreementMethod.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 3);
//Originator
- Assert.assertNotNull(agreementMethod.getOriginatorKeyInfo());
- OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
- Assert.assertEquals(originatorKeyInfo.getOrderedChildren().size(), 2);
+ final OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
+ assert originatorKeyInfo != null;
+ children = originatorKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(originatorKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getDEREncodedKeyValues().get(0)), keyPairOriginatorECDH.getPublic());
Assert.assertEquals(originatorKeyInfo.getKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getKeyValues().get(0)), keyPairOriginatorECDH.getPublic());
//Recipient
- Assert.assertNotNull(agreementMethod.getRecipientKeyInfo());
- RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
- Assert.assertEquals(recipientKeyInfo.getOrderedChildren().size(), 2);
+ final RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
+ assert recipientKeyInfo != null;
+ children = recipientKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(recipientKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(recipientKeyInfo.getDEREncodedKeyValues().get(0)), keyPairRecipientECDH.getPublic());
Assert.assertEquals(recipientKeyInfo.getKeyValues().size(), 1);
@@ -141,13 +152,14 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
//Params
Assert.assertEquals(agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).size(), 1);
- KeyDerivationMethod kdm = (KeyDerivationMethod) agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).get(0);
+ final KeyDerivationMethod kdm = (KeyDerivationMethod) agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).get(0);
Assert.assertEquals(kdm.getAlgorithm(), EncryptionConstants.ALGO_ID_KEYDERIVATION_CONCATKDF);
Assert.assertEquals(kdm.getUnknownXMLObjects().size(), 1);
Assert.assertEquals(kdm.getUnknownXMLObjects(ConcatKDFParams.DEFAULT_ELEMENT_NAME).size(), 1);
- ConcatKDFParams kdfParams = (ConcatKDFParams) kdm.getUnknownXMLObjects(ConcatKDFParams.DEFAULT_ELEMENT_NAME).get(0);
- Assert.assertNotNull(kdfParams.getDigestMethod());
- Assert.assertEquals(kdfParams.getDigestMethod().getAlgorithm(), SignatureConstants.ALGO_ID_DIGEST_SHA512);
+ final ConcatKDFParams kdfParams = (ConcatKDFParams) kdm.getUnknownXMLObjects(ConcatKDFParams.DEFAULT_ELEMENT_NAME).get(0);
+ final org.opensaml.xmlsec.signature.DigestMethod dm = kdfParams.getDigestMethod();
+ assert dm != null;
+ Assert.assertEquals(dm.getAlgorithm(), SignatureConstants.ALGO_ID_DIGEST_SHA512);
Assert.assertEquals(kdfParams.getAlgorithmID(), "00AA");
Assert.assertEquals(kdfParams.getPartyUInfo(), "00BB");
Assert.assertEquals(kdfParams.getPartyVInfo(), "00CC");
@@ -157,7 +169,7 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
@Test
public void ECDHWithPBKDF2WithDefaults() throws Exception {
- PBKDF2 kdf = new PBKDF2();
+ final PBKDF2 kdf = new PBKDF2();
kdf.setIterationCount(1500);
kdf.setKeyLength(256);
kdf.setPRF(SignatureConstants.ALGO_ID_MAC_HMAC_SHA512);
@@ -166,32 +178,39 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
credECDH.getParameters().add(kdf);
- KeyInfoGenerator generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credECDH);
+ final KeyInfoGenerator generator = factory.newInstance();
+ final KeyInfo keyInfo = generator.generate(credECDH);
- Assert.assertNotNull(keyInfo);
- Assert.assertNotNull(keyInfo.getOrderedChildren());
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1);
+ assert keyInfo != null;
+ List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(keyInfo.getAgreementMethods().size(), 1);
- AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
Assert.assertEquals(agreementMethod.getAlgorithm(), credECDH.getAlgorithm());
- Assert.assertEquals(agreementMethod.getOrderedChildren().size(), 3);
+ children = agreementMethod.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 3);
//Originator
- Assert.assertNotNull(agreementMethod.getOriginatorKeyInfo());
- OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
- Assert.assertEquals(originatorKeyInfo.getOrderedChildren().size(), 2);
+ final OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
+ assert originatorKeyInfo != null;
+ children = originatorKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(originatorKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getDEREncodedKeyValues().get(0)), keyPairOriginatorECDH.getPublic());
Assert.assertEquals(originatorKeyInfo.getKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getKeyValues().get(0)), keyPairOriginatorECDH.getPublic());
//Recipient
- Assert.assertNotNull(agreementMethod.getRecipientKeyInfo());
- RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
- Assert.assertEquals(recipientKeyInfo.getOrderedChildren().size(), 2);
+ final RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
+ assert recipientKeyInfo != null;
+ children = recipientKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(recipientKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(recipientKeyInfo.getDEREncodedKeyValues().get(0)), keyPairRecipientECDH.getPublic());
Assert.assertEquals(recipientKeyInfo.getKeyValues().size(), 1);
@@ -204,20 +223,30 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
Assert.assertEquals(kdm.getUnknownXMLObjects().size(), 1);
Assert.assertEquals(kdm.getUnknownXMLObjects(PBKDF2Params.DEFAULT_ELEMENT_NAME).size(), 1);
PBKDF2Params kdfParams = (PBKDF2Params) kdm.getUnknownXMLObjects(PBKDF2Params.DEFAULT_ELEMENT_NAME).get(0);
- Assert.assertNotNull(kdfParams.getIterationCount());
- Assert.assertEquals(kdfParams.getIterationCount().getValue().intValue(), 1500);
- Assert.assertNotNull(kdfParams.getKeyLength());
- Assert.assertEquals(kdfParams.getKeyLength().getValue().intValue(), 256/8); // bytes
- Assert.assertNotNull(kdfParams.getPRF());
- Assert.assertEquals(kdfParams.getPRF().getAlgorithm(), SignatureConstants.ALGO_ID_MAC_HMAC_SHA512);
- Assert.assertNotNull(kdfParams.getSalt());
- Assert.assertNotNull(kdfParams.getSalt().getSpecified());
- Assert.assertEquals(kdfParams.getSalt().getSpecified().getValue(), "ABCD");
+
+ final IterationCount icount = kdfParams.getIterationCount();
+ assert icount != null;
+ Assert.assertEquals(icount.getValue(), 1500);
+
+ final KeyLength keyLength = kdfParams.getKeyLength();
+ assert keyLength != null;
+ Assert.assertEquals(keyLength.getValue(), 256/8); // bytes
+
+ final PRF prf = kdfParams.getPRF();
+ assert prf != null;
+ Assert.assertEquals(prf.getAlgorithm(), SignatureConstants.ALGO_ID_MAC_HMAC_SHA512);
+
+ final Salt salt = kdfParams.getSalt();
+ assert salt != null;
+
+ final Specified spec = salt.getSpecified();
+ assert spec != null;
+ Assert.assertEquals(spec.getValue(), "ABCD");
}
@Test
public void DiffieHellmanWithConcatKDFWithDefaults() throws Exception {
- ConcatKDF kdf = new ConcatKDF();
+ final ConcatKDF kdf = new ConcatKDF();
kdf.setDigestMethod(SignatureConstants.ALGO_ID_DIGEST_SHA512);
kdf.setAlgorithmID("AA");
kdf.setPartyUInfo("BB");
@@ -228,32 +257,39 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
credDiffieHellmanExplicitKDF.getParameters().add(kdf);
- KeyInfoGenerator generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credDiffieHellmanExplicitKDF);
+ final KeyInfoGenerator generator = factory.newInstance();
+ final KeyInfo keyInfo = generator.generate(credDiffieHellmanExplicitKDF);
+ assert keyInfo != null;
- Assert.assertNotNull(keyInfo);
- Assert.assertNotNull(keyInfo.getOrderedChildren());
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1);
+ List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(keyInfo.getAgreementMethods().size(), 1);
- AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
Assert.assertEquals(agreementMethod.getAlgorithm(), credDiffieHellmanExplicitKDF.getAlgorithm());
- Assert.assertEquals(agreementMethod.getOrderedChildren().size(), 3);
+ children = agreementMethod.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 3);
//Originator
- Assert.assertNotNull(agreementMethod.getOriginatorKeyInfo());
- OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
- Assert.assertEquals(originatorKeyInfo.getOrderedChildren().size(), 2);
+ final OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
+ assert originatorKeyInfo != null;
+ children = originatorKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(originatorKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getDEREncodedKeyValues().get(0)), keyPairOriginatorDiffieHellman.getPublic());
Assert.assertEquals(originatorKeyInfo.getKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getKeyValues().get(0)), keyPairOriginatorDiffieHellman.getPublic());
//Recipient
- Assert.assertNotNull(agreementMethod.getRecipientKeyInfo());
- RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
- Assert.assertEquals(recipientKeyInfo.getOrderedChildren().size(), 2);
+ final RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
+ assert recipientKeyInfo != null;
+ children = recipientKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(recipientKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(recipientKeyInfo.getDEREncodedKeyValues().get(0)), keyPairRecipientDiffieHellman.getPublic());
Assert.assertEquals(recipientKeyInfo.getKeyValues().size(), 1);
@@ -261,13 +297,15 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
//Params
Assert.assertEquals(agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).size(), 1);
- KeyDerivationMethod kdm = (KeyDerivationMethod) agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).get(0);
+ final KeyDerivationMethod kdm = (KeyDerivationMethod) agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).get(0);
Assert.assertEquals(kdm.getAlgorithm(), EncryptionConstants.ALGO_ID_KEYDERIVATION_CONCATKDF);
Assert.assertEquals(kdm.getUnknownXMLObjects().size(), 1);
Assert.assertEquals(kdm.getUnknownXMLObjects(ConcatKDFParams.DEFAULT_ELEMENT_NAME).size(), 1);
- ConcatKDFParams kdfParams = (ConcatKDFParams) kdm.getUnknownXMLObjects(ConcatKDFParams.DEFAULT_ELEMENT_NAME).get(0);
- Assert.assertNotNull(kdfParams.getDigestMethod());
- Assert.assertEquals(kdfParams.getDigestMethod().getAlgorithm(), SignatureConstants.ALGO_ID_DIGEST_SHA512);
+ final ConcatKDFParams kdfParams = (ConcatKDFParams) kdm.getUnknownXMLObjects(ConcatKDFParams.DEFAULT_ELEMENT_NAME).get(0);
+
+ final org.opensaml.xmlsec.signature.DigestMethod dm = kdfParams.getDigestMethod();
+ assert dm != null;
+ Assert.assertEquals(dm.getAlgorithm(), SignatureConstants.ALGO_ID_DIGEST_SHA512);
Assert.assertEquals(kdfParams.getAlgorithmID(), "00AA");
Assert.assertEquals(kdfParams.getPartyUInfo(), "00BB");
Assert.assertEquals(kdfParams.getPartyVInfo(), "00CC");
@@ -288,40 +326,49 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
credDiffieHellmanLegacyKDF.getParameters().add(dm);
credDiffieHellmanLegacyKDF.getParameters().add(nonce);
- KeyInfoGenerator generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credDiffieHellmanLegacyKDF);
+ final KeyInfoGenerator generator = factory.newInstance();
+ final KeyInfo keyInfo = generator.generate(credDiffieHellmanLegacyKDF);
- Assert.assertNotNull(keyInfo);
- Assert.assertNotNull(keyInfo.getOrderedChildren());
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1);
+ assert keyInfo != null;
+
+ List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(keyInfo.getAgreementMethods().size(), 1);
- AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
+ final AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
Assert.assertEquals(agreementMethod.getAlgorithm(), credDiffieHellmanLegacyKDF.getAlgorithm());
- Assert.assertEquals(agreementMethod.getOrderedChildren().size(), 4);
+ children = agreementMethod.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 4);
//Originator
- Assert.assertNotNull(agreementMethod.getOriginatorKeyInfo());
- OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
- Assert.assertEquals(originatorKeyInfo.getOrderedChildren().size(), 2);
+ final OriginatorKeyInfo originatorKeyInfo = agreementMethod.getOriginatorKeyInfo();
+ assert originatorKeyInfo != null;
+ children = originatorKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(originatorKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getDEREncodedKeyValues().get(0)), keyPairOriginatorDiffieHellman.getPublic());
Assert.assertEquals(originatorKeyInfo.getKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(originatorKeyInfo.getKeyValues().get(0)), keyPairOriginatorDiffieHellman.getPublic());
//Recipient
- Assert.assertNotNull(agreementMethod.getRecipientKeyInfo());
- RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
- Assert.assertEquals(recipientKeyInfo.getOrderedChildren().size(), 2);
+ final RecipientKeyInfo recipientKeyInfo = agreementMethod.getRecipientKeyInfo();
+ assert recipientKeyInfo != null;
+ children = recipientKeyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 2);
Assert.assertEquals(recipientKeyInfo.getDEREncodedKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(recipientKeyInfo.getDEREncodedKeyValues().get(0)), keyPairRecipientDiffieHellman.getPublic());
Assert.assertEquals(recipientKeyInfo.getKeyValues().size(), 1);
Assert.assertEquals(KeyInfoSupport.getKey(recipientKeyInfo.getKeyValues().get(0)), keyPairRecipientDiffieHellman.getPublic());
//Params
- Assert.assertNotNull(agreementMethod.getKANonce());
- Assert.assertEquals(agreementMethod.getKANonce().getValue(), "ABCD");
+ final org.opensaml.xmlsec.encryption.KANonce kanonce = agreementMethod.getKANonce();
+ assert kanonce != null;
+ Assert.assertEquals(kanonce.getValue(), "ABCD");
Assert.assertEquals(agreementMethod.getUnknownXMLObjects(org.opensaml.xmlsec.signature.DigestMethod.DEFAULT_ELEMENT_NAME).size(), 1);
org.opensaml.xmlsec.signature.DigestMethod xmlDigest =
(org.opensaml.xmlsec.signature.DigestMethod) agreementMethod.getUnknownXMLObjects(
@@ -335,7 +382,7 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitOriginatorKeyInfo(false);
factory.setEmitRecipientKeyInfo(false);
- ConcatKDF kdf = new ConcatKDF();
+ final ConcatKDF kdf = new ConcatKDF();
kdf.setDigestMethod(SignatureConstants.ALGO_ID_DIGEST_SHA512);
kdf.setAlgorithmID("AA");
kdf.setPartyUInfo("BB");
@@ -346,16 +393,20 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
credECDH.getParameters().add(kdf);
- KeyInfoGenerator generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credECDH);
+ final KeyInfoGenerator generator = factory.newInstance();
+ final KeyInfo keyInfo = generator.generate(credECDH);
+
+ assert keyInfo != null;
- Assert.assertNotNull(keyInfo);
- Assert.assertNotNull(keyInfo.getOrderedChildren());
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1);
+ List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(keyInfo.getAgreementMethods().size(), 1);
- AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
- Assert.assertEquals(agreementMethod.getOrderedChildren().size(), 1);
+ final AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
+ children = agreementMethod.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).size(), 1);
Assert.assertNull(agreementMethod.getOriginatorKeyInfo());
@@ -367,7 +418,7 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setOriginatorKeyInfoGeneratorManager(null);
factory.setRecipientKeyInfoGeneratorManager(null);
- ConcatKDF kdf = new ConcatKDF();
+ final ConcatKDF kdf = new ConcatKDF();
kdf.setDigestMethod(SignatureConstants.ALGO_ID_DIGEST_SHA512);
kdf.setAlgorithmID("AA");
kdf.setPartyUInfo("BB");
@@ -378,16 +429,20 @@ public class KeyAgreementKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
credECDH.getParameters().add(kdf);
- KeyInfoGenerator generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credECDH);
+ final KeyInfoGenerator generator = factory.newInstance();
+ final KeyInfo keyInfo = generator.generate(credECDH);
+
+ assert keyInfo != null;
- Assert.assertNotNull(keyInfo);
- Assert.assertNotNull(keyInfo.getOrderedChildren());
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1);
+ List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(keyInfo.getAgreementMethods().size(), 1);
- AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
- Assert.assertEquals(agreementMethod.getOrderedChildren().size(), 1);
+ final AgreementMethod agreementMethod = keyInfo.getAgreementMethods().get(0);
+ children = agreementMethod.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 1);
Assert.assertEquals(agreementMethod.getUnknownXMLObjects(KeyDerivationMethod.DEFAULT_ELEMENT_NAME).size(), 1);
Assert.assertNull(agreementMethod.getOriginatorKeyInfo());
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolverTest.java
index a411d5f20..82bc22b09 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolverTest.java
@@ -44,6 +44,7 @@ import org.opensaml.xmlsec.signature.KeyInfo;
/**
* Test the local credential resolver specialization of the KeyInfo credential resolver.
*/
+ at SuppressWarnings("javadoc")
public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
private String keyName;
@@ -66,7 +67,7 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
localCredResolver = new CollectionCredentialResolver();
localCredResolver.getCollection().add(localCred);
- ArrayList<KeyInfoProvider> providers = new ArrayList<>();
+ final ArrayList<KeyInfoProvider> providers = new ArrayList<>();
providers.add( new RSAKeyValueProvider() );
keyInfoResolver = new LocalKeyInfoCredentialResolver(providers, localCredResolver);
@@ -77,8 +78,8 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
public void testKeyInfoWithKeyName() throws ResolverException {
KeyInfoSupport.addKeyName(keyInfo, keyName);
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
Assert.assertEquals(resolvedCred, localCred, "Unexpected local credential resolved");
}
@@ -87,8 +88,8 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
public void testKeyInfoWithKnownPublicKey() throws ResolverException, EncodingException {
KeyInfoSupport.addPublicKey(keyInfo, keyPair.getPublic());
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
Assert.assertEquals(resolvedCred, localCred, "Unexpected local credential resolved");
}
@@ -100,8 +101,8 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
KeyInfoSupport.addPublicKey(keyInfo,
KeySupport.generateKeyPair("RSA", 1024, null).getPublic());
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
Assert.assertNull(resolvedCred, "Expected no credential to be resolved");
}
@@ -111,8 +112,8 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
// Nominally the same as "testKeyInfoWithKnownPublicKey", just testing an explicit mode which is the default
KeyInfoSupport.addPublicKey(keyInfo, keyPair.getPublic());
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.LOCAL) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.LOCAL) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
Assert.assertEquals(resolvedCred, localCred, "Unexpected local credential resolved");
}
@@ -123,10 +124,10 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
KeyInfoSupport.addPublicKey(keyInfo, keyPair.getPublic());
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.PUBLIC) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.PUBLIC) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
- Assert.assertNotNull(resolvedCred);
+ assert resolvedCred != null;
Assert.assertNotSame(resolvedCred, localCred);
Assert.assertNull(resolvedCred.getPrivateKey());
Assert.assertNotNull(resolvedCred.getPublicKey());
@@ -139,10 +140,10 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
KeyInfoSupport.addPublicKey(keyInfo, keyPair.getPublic());
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.BOTH) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.BOTH) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
- Assert.assertNotNull(resolvedCred);
+ assert resolvedCred != null;
Assert.assertNotSame(resolvedCred, localCred);
Assert.assertNull(resolvedCred.getPrivateKey());
Assert.assertNotNull(resolvedCred.getPublicKey());
@@ -153,8 +154,8 @@ public class LocalKeyInfoCredentialResolverTest extends XMLObjectBaseTestCase {
public void testBothModeWithLocalPresent() throws ResolverException, EncodingException {
KeyInfoSupport.addPublicKey(keyInfo, keyPair.getPublic());
- CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.BOTH) );
- Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
+ final CriteriaSet criteriaSet = new CriteriaSet( new KeyInfoCriterion(keyInfo), new KeyInfoCredentialResolutionMode(Mode.BOTH) );
+ final Credential resolvedCred = keyInfoResolver.resolveSingle(criteriaSet);
Assert.assertEquals(resolvedCred, localCred, "Unexpected local credential resolved");
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGeneratorTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGeneratorTest.java
index acf20c398..fb5f25de7 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGeneratorTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGeneratorTest.java
@@ -137,9 +137,9 @@ public class StaticKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
public void testWithCloningWithDOMCache() throws SecurityException, KeyException, MarshallingException {
EncryptedData encData = (EncryptedData) buildXMLObject(EncryptedData.DEFAULT_ELEMENT_NAME);
- XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(origKeyInfo).marshall(origKeyInfo);
+ XMLObjectProviderRegistrySupport.getMarshallerFactory().ensureMarshaller(origKeyInfo).marshall(origKeyInfo);
Assert.assertNotNull(origKeyInfo.getDOM(), "Original KeyInfo should have a cached DOM");
- Element origDOM = origKeyInfo.getDOM();
+ final Element origDOM = origKeyInfo.getDOM();
KeyInfo keyInfo = generator.generate(null);
checkKeyInfo(keyInfo);
@@ -154,6 +154,7 @@ public class StaticKeyInfoGeneratorTest extends XMLObjectBaseTestCase {
Assert.assertNull(keyInfo.getDOM(), "Generated KeyInfo should NOT have a cached DOM");
Assert.assertNotNull(origKeyInfo.getDOM(), "KeyInfo cached DOM should NOT have been cleared after cloning");
+ assert origDOM != null;
Assert.assertTrue(origDOM.isSameNode(origKeyInfo.getDOM()), "DOM Elements were not the same");
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorTest.java
index 887a05e06..15080fb26 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorTest.java
@@ -33,13 +33,16 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import javax.annotation.Nonnull;
import javax.security.auth.x500.X500Principal;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
import org.opensaml.security.SecurityException;
import org.opensaml.security.x509.BasicX509Credential;
import org.opensaml.security.x509.X509Support;
@@ -50,8 +53,10 @@ import org.opensaml.xmlsec.keyinfo.KeyInfoSupport;
import org.opensaml.xmlsec.signature.KeyInfo;
import org.opensaml.xmlsec.signature.X509Data;
import org.opensaml.xmlsec.signature.X509Digest;
+import org.opensaml.xmlsec.signature.X509IssuerName;
import org.opensaml.xmlsec.signature.X509IssuerSerial;
import org.opensaml.xmlsec.signature.X509SKI;
+import org.opensaml.xmlsec.signature.X509SerialNumber;
import org.opensaml.xmlsec.signature.support.SignatureConstants;
/**
@@ -214,12 +219,13 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitPublicKeyValue(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
- Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
+
+ final List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 1, "Unexpected number of KeyInfo children");
+ Assert.assertEquals(children.size(), 1, "Unexpected number of KeyInfo children");
Assert.assertEquals(keyInfo.getKeyValues().size(), 1, "Unexpected number of KeyValue elements");
PublicKey generatedKey = KeyInfoSupport.getKey(keyInfo.getKeyValues().get(0));
Assert.assertEquals(generatedKey, pubKey, "Unexpected key value");
@@ -235,9 +241,9 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitKeyNames(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
+
Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
Assert.assertEquals(keyInfo.getKeyNames().size(), 2, "Unexpected number of KeyName elements");
@@ -256,9 +262,9 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitEntityIDAsKeyName(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
+ final KeyInfo keyInfo = generator.generate(credential);
+ assert keyInfo != null;
- Assert.assertNotNull(keyInfo, "Generated KeyInfo was null");
Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
Assert.assertEquals(keyInfo.getKeyNames().size(), 1, "Unexpected number of KeyName elements");
@@ -300,9 +306,9 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitEntityCertificateChain(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
+
Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
Assert.assertEquals(keyInfo.getX509Datas().size(), 1, "Unexpected number of X509Data elements");
@@ -393,21 +399,23 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitX509IssuerSerial(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
Assert.assertEquals(keyInfo.getX509Datas().size(), 1, "Unexpected number of X509Data elements");
- X509Data x509Data = keyInfo.getX509Datas().get(0);
+ final X509Data x509Data = keyInfo.getX509Datas().get(0);
Assert.assertEquals(x509Data.getX509IssuerSerials().size(), 1, "Unexpected number of X509IssuerSerial elements");
- X509IssuerSerial issuerSerial = x509Data.getX509IssuerSerials().get(0);
- Assert.assertNotNull(issuerSerial.getX509IssuerName(), "X509IssuerName not present");
- Assert.assertNotNull(issuerSerial.getX509SerialNumber(), "X509SerialNumber not present");
- String name = StringSupport.trimOrNull(issuerSerial.getX509IssuerName().getValue());
+ final X509IssuerSerial issuerSerial = x509Data.getX509IssuerSerials().get(0);
+
+ final X509IssuerName iname = issuerSerial.getX509IssuerName();
+ assert iname != null;
+ final X509SerialNumber serialNum = issuerSerial.getX509SerialNumber();
+ assert serialNum != null;
+
+ String name = StringSupport.trimOrNull(iname.getValue());
Assert.assertEquals(new X500Principal(name), issuerName, "Unexpected X509IssuerName value found");
- BigInteger number = issuerSerial.getX509SerialNumber().getValue();
- Assert.assertEquals(number, serialNumber, "Unexpected serial number value found");
+ Assert.assertEquals(serialNum.getValue(), serialNumber, "Unexpected serial number value found");
}
/**
@@ -421,16 +429,16 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setEmitX509SKI(true);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
Assert.assertEquals(keyInfo.getX509Datas().size(), 1, "Unexpected number of X509Data elements");
- X509Data x509Data = keyInfo.getX509Datas().get(0);
+ final X509Data x509Data = keyInfo.getX509Datas().get(0);
Assert.assertEquals(x509Data.getX509SKIs().size(), 1, "Unexpected number of X509SKI elements");
- X509SKI ski = x509Data.getX509SKIs().get(0);
- byte[] skiValue = Base64Support.decode(StringSupport.trimOrNull(ski.getValue()));
+ final X509SKI ski = x509Data.getX509SKIs().get(0);
+ final byte[] skiValue = Base64Support.decode(
+ Constraint.isNotNull(StringSupport.trimOrNull(ski.getValue()), "SKI was null"));
Assert.assertTrue(Arrays.equals(subjectKeyIdentifier, skiValue), "Unexpected SKI value found");
}
@@ -446,16 +454,17 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
factory.setX509DigestAlgorithmURI(SignatureConstants.ALGO_ID_DIGEST_SHA1);
generator = factory.newInstance();
- KeyInfo keyInfo = generator.generate(credential);
-
+ final KeyInfo keyInfo = generator.generate(credential);
assert keyInfo != null;
Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
Assert.assertEquals(keyInfo.getX509Datas().size(), 1, "Unexpected number of X509Data elements");
- X509Data x509Data = keyInfo.getX509Datas().get(0);
+ final X509Data x509Data = keyInfo.getX509Datas().get(0);
Assert.assertEquals(x509Data.getX509Digests().size(), 1, "Unexpected number of X509Digest elements");
- X509Digest digest = x509Data.getX509Digests().get(0);
- byte[] digestValue = Base64Support.decode(StringSupport.trimOrNull(digest.getValue()));
+ final X509Digest digest = x509Data.getX509Digests().get(0);
+
+ final byte[] digestValue = Base64Support.decode(
+ Constraint.isNotNull(StringSupport.trimOrNull(digest.getValue()), "Digest was null"));
Assert.assertTrue(Arrays.equals(x509Digest, digestValue), "Unexpected SHA-1 digest value found");
}
@@ -606,14 +615,15 @@ public class X509KeyInfoGeneratorTest extends XMLObjectBaseTestCase {
generator = factory.newInstance();
keyInfo = generator.generate(credential);
-
assert keyInfo != null;
- Assert.assertNotNull(keyInfo.getOrderedChildren(), "Generated KeyInfo children list was null");
- Assert.assertEquals(keyInfo.getOrderedChildren().size(), 4, "Unexpected # of KeyInfo children found");
+
+ final List<XMLObject> children = keyInfo.getOrderedChildren();
+ assert children != null;
+ Assert.assertEquals(children.size(), 4, "Unexpected # of KeyInfo children found");
}
@DataProvider
- public Object[][] keyInfoTypes() {
+ @Nonnull public Object[][] keyInfoTypes() {
return new Object[][] {
new Object[] { KeyInfo.class },
new Object[] { OriginatorKeyInfo.class },
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/tests/KeyInfoSupportTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/tests/KeyInfoSupportTest.java
index d23f71db3..470877dac 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/tests/KeyInfoSupportTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/keyinfo/tests/KeyInfoSupportTest.java
@@ -28,7 +28,6 @@ import java.security.NoSuchProviderException;
import java.security.PublicKey;
import java.security.Security;
import java.security.cert.CRLException;
-import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.interfaces.DSAParams;
import java.security.interfaces.DSAPublicKey;
@@ -70,8 +69,10 @@ import org.opensaml.xmlsec.signature.X509CRL;
import org.opensaml.xmlsec.signature.X509Certificate;
import org.opensaml.xmlsec.signature.X509Data;
import org.opensaml.xmlsec.signature.X509Digest;
+import org.opensaml.xmlsec.signature.X509IssuerName;
import org.opensaml.xmlsec.signature.X509IssuerSerial;
import org.opensaml.xmlsec.signature.X509SKI;
+import org.opensaml.xmlsec.signature.X509SerialNumber;
import org.opensaml.xmlsec.signature.X509SubjectName;
import org.opensaml.xmlsec.signature.Y;
import org.opensaml.xmlsec.signature.support.SignatureConstants;
@@ -81,6 +82,7 @@ import com.google.common.base.Strings;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.codec.EncodingException;
+import net.shibboleth.shared.logic.Constraint;
/**
* Test to exercise the KeyInfoSupport methods to convert between XMLObject's contained within KeyInfo and Java security
@@ -381,8 +383,9 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
assert javaCert != null;
Assert.assertEquals(javaCert.getSubjectX500Principal().getName(X500Principal.RFC2253), cert1SubjectDN,
"Cert1 SubjectDN");
- Assert.assertEquals(javaCert, X509Support.decodeCertificate(xmlCert1.getValue()),
- "Java cert was not the expected value");
+ final String xmlCert1Value = xmlCert1.getValue();
+ assert xmlCert1Value != null;
+ Assert.assertEquals(javaCert, X509Support.decodeCertificate(xmlCert1Value), "Java cert was not the expected value");
List<java.security.cert.X509Certificate> javaCertList = KeyInfoSupport.getCertificates(xmlX509Data);
Assert.assertEquals(javaCertList.size(), numExpectedCerts, "# of certs returned");
@@ -410,8 +413,9 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
final java.security.cert.X509CRL javaCRL = KeyInfoSupport.getCRL(xmlCRL1);
assert javaCRL != null;
Assert.assertEquals(javaCRL.getIssuerX500Principal().getName(X500Principal.RFC2253), crl1IssuerDN, "CRL IssuerDN");
- Assert.assertEquals(javaCRL, X509Support.decodeCRL(xmlCRL1.getValue()),
- "Java CRL was not the expected value");
+ final String crl1 = xmlCRL1.getValue();
+ assert crl1 != null;
+ Assert.assertEquals(javaCRL, X509Support.decodeCRL(crl1), "Java CRL was not the expected value");
List<java.security.cert.X509CRL> javaCRLList = KeyInfoSupport.getCRLs(xmlX509Data);
@@ -433,7 +437,9 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testCertConversionJavaToXML() throws CertificateException {
final X509Certificate xmlCert = KeyInfoSupport.buildX509Certificate(javaCert1);
- Assert.assertEquals(X509Support.decodeCertificate(xmlCert.getValue()), javaCert1,
+ final String val = xmlCert.getValue();
+ assert val != null;
+ Assert.assertEquals(X509Support.decodeCertificate(val), javaCert1,
"Java X509Certificate encoding to XMLObject failed");
}
@@ -446,7 +452,9 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testCRLConversionJavaToXML() throws CertificateException, CRLException {
final X509CRL xmlCRL = KeyInfoSupport.buildX509CRL(javaCRL1);
- Assert.assertEquals(X509Support.decodeCRL(xmlCRL.getValue()), javaCRL1,
+ final String val = xmlCRL.getValue();
+ assert val != null;
+ Assert.assertEquals(X509Support.decodeCRL(val), javaCRL1,
"Java X509CRL encoding to XMLObject failed");
}
@@ -542,7 +550,7 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
Assert.fail("RSA key conversion XML to Java failed: " + e);
}
ecKey = (ECPublicKey) key;
- Assert.assertNotNull(ecKey, "Generated key was not an instance of ECPublicKey");
+ assert ecKey != null;
// The standard equals() test below doesn't work b/c the standard ECParameterSpec doesn't really implement equals()beyond
// the standard reference compare, and the control key is from BC, so the instance object isn't the same (constant one) as from SunEC.
// So use our Enhanced- equality wrapper helper instead.
@@ -558,14 +566,22 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testDHConversionJavaToXML() throws EncodingException {
DHKeyValue dhKeyValue = KeyInfoSupport.buildDHKeyValue(javaDHPubKey1);
- Assert.assertNotNull(dhKeyValue);
- Assert.assertEquals(dhKeyValue
- .getPublic().getValueBigInt(), javaDHPubKey1.getY(), "Generated DHKeyValue Public component was not the expected value");
- Assert.assertEquals(dhKeyValue.getP().getValueBigInt(), javaDHPubKey1.getParams().getP(),
+ assert dhKeyValue != null;
+ Assert.assertEquals(
+ Constraint.isNotNull(dhKeyValue.getPublic(), "Public was null").getValueBigInt(),
+ javaDHPubKey1.getY(),
+ "Generated DHKeyValue Public component was not the expected value");
+ Assert.assertEquals(
+ Constraint.isNotNull(dhKeyValue.getP(), "P was null").getValueBigInt(),
+ javaDHPubKey1.getParams().getP(),
"Generated DHKeyValue P component was not the expected value");
- Assert.assertEquals(dhKeyValue.getGenerator().getValueBigInt(), javaDHPubKey1.getParams().getG(),
+ Assert.assertEquals(
+ Constraint.isNotNull(dhKeyValue.getGenerator(), "Generator was null").getValueBigInt(),
+ javaDHPubKey1.getParams().getG(),
"Generated DHKeyValue Generator component was not the expected value");
- Assert.assertEquals(dhKeyValue.getQ().getValueBigInt(), DHSupport.getPrimeQDomainParameter(javaDHPubKey1),
+ Assert.assertEquals(
+ Constraint.isNotNull(dhKeyValue.getQ(), "Q was null").getValueBigInt(),
+ DHSupport.getPrimeQDomainParameter(javaDHPubKey1),
"Generated DHKeyValue Q component was not the expected value");
}
@@ -574,14 +590,22 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testDSAConversionJavaToXML() throws EncodingException {
DSAKeyValue dsaKeyValue = KeyInfoSupport.buildDSAKeyValue(javaDSAPubKey1);
- Assert.assertNotNull(dsaKeyValue);
- Assert.assertEquals(dsaKeyValue
- .getY().getValueBigInt(), javaDSAPubKey1.getY(), "Generated DSAKeyValue Y component was not the expected value");
- Assert.assertEquals(dsaKeyValue.getP().getValueBigInt(), javaDSAPubKey1.getParams().getP(),
+ assert dsaKeyValue != null;
+ Assert.assertEquals(
+ Constraint.isNotNull(dsaKeyValue.getY(), "Y was null").getValueBigInt(),
+ javaDSAPubKey1.getY(),
+ "Generated DSAKeyValue Y component was not the expected value");
+ Assert.assertEquals(
+ Constraint.isNotNull(dsaKeyValue.getP(), "P was null").getValueBigInt(),
+ javaDSAPubKey1.getParams().getP(),
"Generated DSAKeyValue P component was not the expected value");
- Assert.assertEquals(dsaKeyValue.getQ().getValueBigInt(), javaDSAPubKey1.getParams().getQ(),
+ Assert.assertEquals(
+ Constraint.isNotNull(dsaKeyValue.getQ(), "Q was null").getValueBigInt(),
+ javaDSAPubKey1.getParams().getQ(),
"Generated DSAKeyValue Q component was not the expected value");
- Assert.assertEquals(dsaKeyValue.getG().getValueBigInt(), javaDSAPubKey1.getParams().getG(),
+ Assert.assertEquals(
+ Constraint.isNotNull(dsaKeyValue.getG(), "G was null").getValueBigInt(),
+ javaDSAPubKey1.getParams().getG(),
"Generated DSAKeyValue G component was not the expected value");
}
@@ -590,11 +614,15 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testRSAConversionJavaToXML() throws EncodingException {
RSAKeyValue rsaKeyValue = KeyInfoSupport.buildRSAKeyValue(javaRSAPubKey1);
- Assert.assertNotNull(rsaKeyValue);
- Assert.assertEquals(rsaKeyValue.getModulus().getValueBigInt(), javaRSAPubKey1.getModulus(),
+ assert rsaKeyValue != null;
+ Assert.assertEquals(
+ Constraint.isNotNull(rsaKeyValue.getModulus(), "Modulus was null").getValueBigInt(),
+ javaRSAPubKey1.getModulus(),
"Generated RSAKeyValue modulus component was not the expected value");
- Assert.assertEquals(rsaKeyValue.getExponent().getValueBigInt(),
- javaRSAPubKey1.getPublicExponent(), "Generated RSAKeyValue exponent component was not the expected value");
+ Assert.assertEquals(
+ Constraint.isNotNull(rsaKeyValue.getExponent(), "Exponent was null").getValueBigInt(),
+ javaRSAPubKey1.getPublicExponent(),
+ "Generated RSAKeyValue exponent component was not the expected value");
}
/** Test conversion of EC public keys from Java security native type to XML.
@@ -604,11 +632,19 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testECConversionJavaToXMLWithNamedCurve() throws EncodingException, KeyException, DecodingException {
ECKeyValue ecKeyValue = KeyInfoSupport.buildECKeyValue(javaECPubKey_NamedCurve1);
- Assert.assertNotNull(ecKeyValue);
- Assert.assertEquals(ecKeyValue.getNamedCurve().getURI(), "urn:oid:" + ecPubKey_NamedCurve1_OID);
- Assert.assertEquals(ECSupport.decodeECPoint(Base64Support.decode(ecKeyValue.getPublicKey().getValue()),
- ECSupport.getNamedCurve("urn:oid:" + ecPubKey_NamedCurve1_OID).getParameterSpec().getCurve()),
- javaECPubKey_NamedCurve1.getW());
+ assert ecKeyValue != null;
+ Assert.assertEquals(
+ Constraint.isNotNull(ecKeyValue.getNamedCurve(), "NamedCurve").getURI(),
+ "urn:oid:" + ecPubKey_NamedCurve1_OID);
+ final org.opensaml.xmlsec.signature.PublicKey pubKey = ecKeyValue.getPublicKey();
+ assert pubKey != null;
+
+ final var curve = ECSupport.getNamedCurve("urn:oid:" + ecPubKey_NamedCurve1_OID);
+ assert curve != null;
+ Assert.assertEquals(
+ ECSupport.decodeECPoint(
+ Base64Support.decode(Constraint.isNotNull(pubKey.getValue(), "Public key value was null")),
+ curve.getParameterSpec().getCurve()), javaECPubKey_NamedCurve1.getW());
}
/** Test conversion of EC public keys from Java security native type to XML.
@@ -618,11 +654,19 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
@Test
public void testECConversionJavaToXMLWithExplicitParameters() throws EncodingException, KeyException, DecodingException {
ECKeyValue ecKeyValue = KeyInfoSupport.buildECKeyValue(javaECPubKey_ExplicitParams1);
- Assert.assertNotNull(ecKeyValue);
- Assert.assertEquals(ecKeyValue.getNamedCurve().getURI(), "urn:oid:" + ecPubKey_ExplicitParams1_OID);
- Assert.assertEquals(ECSupport.decodeECPoint(Base64Support.decode(ecKeyValue.getPublicKey().getValue()),
- ECSupport.getNamedCurve("urn:oid:" + ecPubKey_ExplicitParams1_OID).getParameterSpec().getCurve()),
- javaECPubKey_ExplicitParams1.getW());
+ assert ecKeyValue != null;
+ Assert.assertEquals(
+ Constraint.isNotNull(ecKeyValue.getNamedCurve(), "NamedCurve").getURI(),
+ "urn:oid:" + ecPubKey_ExplicitParams1_OID);
+ final org.opensaml.xmlsec.signature.PublicKey pubKey = ecKeyValue.getPublicKey();
+ assert pubKey != null;
+
+ final var curve = ECSupport.getNamedCurve("urn:oid:" + ecPubKey_ExplicitParams1_OID);
+ assert curve != null;
+ Assert.assertEquals(
+ ECSupport.decodeECPoint(
+ Base64Support.decode(Constraint.isNotNull(pubKey.getValue(), "Public key value was null")),
+ curve.getParameterSpec().getCurve()), javaECPubKey_ExplicitParams1.getW());
}
/** Tests extracting a DH public key from a KeyValue. */
@@ -695,7 +739,7 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
KeyValue kv = keyInfo.getKeyValues().get(0);
Assert.assertNotNull(kv, "KeyValue was null");
DSAKeyValue dsaKeyValue = kv.getDSAKeyValue();
- Assert.assertNotNull(dsaKeyValue, "DSAKeyValue was null");
+ assert dsaKeyValue != null;
DSAPublicKey javaKey = null;
try {
@@ -719,7 +763,7 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
KeyValue kv = keyInfo.getKeyValues().get(0);
Assert.assertNotNull(kv, "KeyValue was null");
DHKeyValue dhKeyValue = kv.getDHKeyValue();
- Assert.assertNotNull(dhKeyValue, "DHKeyValue was null");
+ assert dhKeyValue != null;
DHPublicKey javaKey = null;
try {
@@ -743,7 +787,7 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
KeyValue kv = keyInfo.getKeyValues().get(0);
Assert.assertNotNull(kv, "KeyValue was null");
RSAKeyValue rsaKeyValue = kv.getRSAKeyValue();
- Assert.assertNotNull(rsaKeyValue, "RSAKeyValue was null");
+ assert rsaKeyValue != null;
RSAPublicKey javaKey = null;
try {
@@ -767,7 +811,7 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
KeyValue kv = keyInfo.getKeyValues().get(0);
Assert.assertNotNull(kv, "KeyValue was null");
ECKeyValue ecKeyValue = kv.getECKeyValue();
- Assert.assertNotNull(ecKeyValue, "ECKeyValue was null");
+ assert ecKeyValue != null;
ECPublicKey javaKey = null;
try {
@@ -791,7 +835,7 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
KeyValue kv = keyInfo.getKeyValues().get(0);
Assert.assertNotNull(kv, "KeyValue was null");
ECKeyValue ecKeyValue = kv.getECKeyValue();
- Assert.assertNotNull(ecKeyValue, "ECKeyValue was null");
+ assert ecKeyValue != null;
ECPublicKey javaKey = null;
try {
@@ -799,6 +843,8 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
} catch (KeyException e) {
Assert.fail("Extraction of Java key failed: " + e);
}
+
+ assert javaKey != null;
// The standard equals() test below doesn't work b/c the standard ECParameterSpec doesn't really implement equals()beyond
// the standard reference compare, and the control key is from BC, so the instance object isn't the same (constant one) as from SunEC.
@@ -1019,11 +1065,13 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
X509IssuerSerial xmlIssuerSerial = KeyInfoSupport.buildX509IssuerSerial(name, serialNumber);
Assert.assertNotNull(xmlIssuerSerial, "Constructed X509IssuerSerial was null");
- Assert.assertNotNull(xmlIssuerSerial.getX509IssuerName(), "Constructed X509IssuerName was null");
- Assert.assertEquals(xmlIssuerSerial.getX509IssuerName().getValue(), name, "Unexpected issuer name value");
+ final X509IssuerName issuerName = xmlIssuerSerial.getX509IssuerName();
+ assert issuerName != null;
+ Assert.assertEquals(issuerName.getValue(), name, "Unexpected issuer name value");
- Assert.assertNotNull(xmlIssuerSerial.getX509SerialNumber(), "Constructed X509SerialNumber was null");
- Assert.assertEquals(xmlIssuerSerial.getX509SerialNumber().getValue(), serialNumber, "Unexpected serial number");
+ final X509SerialNumber issuerSerial = xmlIssuerSerial.getX509SerialNumber();
+ assert issuerSerial != null;
+ Assert.assertEquals(issuerSerial.getValue(), serialNumber, "Unexpected serial number");
}
/**
@@ -1035,18 +1083,20 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
*/
@Test
public void testBuildSubjectKeyIdentifier() throws CertificateException, DecodingException, SecurityException {
- byte[] skiValue = Base64Support.decode(cert1SKIPlainBase64);
- X509SKI xmlSKI = KeyInfoSupport.buildX509SKI(javaCert1);
- Assert.assertNotNull(xmlSKI, "Constructed X509SKI was null");
- Assert.assertFalse(Strings.isNullOrEmpty(xmlSKI.getValue()), "SKI value was empty");
- byte[] xmlValue = Base64Support.decode(xmlSKI.getValue());
+ final byte[] skiValue = Base64Support.decode(cert1SKIPlainBase64);
+ final X509SKI xmlSKI = KeyInfoSupport.buildX509SKI(javaCert1);
+ assert xmlSKI != null;
+ final String SKI = xmlSKI.getValue();
+ Assert.assertFalse(Strings.isNullOrEmpty(SKI), "SKI value was empty");
+ assert SKI != null;
+ byte[] xmlValue = Base64Support.decode(SKI);
Assert.assertNotNull(xmlValue, "Decoded XML SKI value was null");
Assert.assertTrue(Arrays.equals(skiValue, xmlValue), "Incorrect SKI value");
// Test that a cert with no SKI produces null
java.security.cert.X509Certificate noExtCert = X509Support.decodeCertificate(certNoExtensions);
Assert.assertNotNull(noExtCert);
- X509SKI noExtXMLSKI = KeyInfoSupport.buildX509SKI(noExtCert);
+ final X509SKI noExtXMLSKI = KeyInfoSupport.buildX509SKI(noExtCert);
Assert.assertNull(noExtXMLSKI, "Building X509SKI from cert without SKI should have generated null");
}
@@ -1065,9 +1115,14 @@ public class KeyInfoSupportTest extends XMLObjectBaseTestCase {
} catch (NoSuchAlgorithmException e) {
Assert.fail("Digest algorithm missing: " + e);
}
+
+ assert xmlDigest != null;
+ final String digest = xmlDigest.getValue();
+
Assert.assertNotNull(xmlDigest, "Constructed X509Digest was null");
- Assert.assertFalse(Strings.isNullOrEmpty(xmlDigest.getValue()), "Digest value was empty");
- byte[] xmlValue = Base64Support.decode(xmlDigest.getValue());
+ Assert.assertFalse(Strings.isNullOrEmpty(digest), "Digest value was empty");
+ assert digest != null;
+ final byte[] xmlValue = Base64Support.decode(digest);
Assert.assertNotNull(xmlValue, "Decoded X509Digest value was null");
Assert.assertTrue(Arrays.equals(digestValue, xmlValue), "Incorrect digest value");
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
index c22916a37..ec4ea1761 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import org.opensaml.core.criterion.EntityIdCriterion;
@@ -91,11 +90,6 @@ public class ChainingSignatureTrustEngineTest extends XMLObjectBaseTestCase {
engine.validate(token, criteriaSet);
}
- @Test(expectedExceptions = ConstraintViolationException.class)
- public void testNullChain() {
- engine = new ChainingSignatureTrustEngine(null);
- }
-
/** Mock trust engine. */
private class MockSignatureTrustEngine implements SignatureTrustEngine {
@@ -106,7 +100,8 @@ public class ChainingSignatureTrustEngineTest extends XMLObjectBaseTestCase {
}
/** {@inheritDoc} */
- public boolean validate(Signature tok, CriteriaSet trustBasisCriteria) throws SecurityException {
+ public boolean validate(@Nonnull final Signature tok, @Nullable final CriteriaSet trustBasisCriteria)
+ throws SecurityException {
if (trusted == null) {
throw new SecurityException("This means an error happened");
}
@@ -114,8 +109,8 @@ public class ChainingSignatureTrustEngineTest extends XMLObjectBaseTestCase {
}
/** {@inheritDoc} */
- public boolean validate(@Nonnull byte[] signature, @Nonnull byte[] content, @Nonnull String algorithmURI,
- @Nullable CriteriaSet trustBasisCriteria, @Nullable Credential candidateCredential)
+ public boolean validate(@Nonnull final byte[] signature, @Nonnull final byte[] content, @Nonnull final String algorithmURI,
+ @Nullable final CriteriaSet trustBasisCriteria, @Nullable final Credential candidateCredential)
throws SecurityException {
if (trusted == null) {
throw new SecurityException("This means an error happened");
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngineTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngineTest.java
index be6d11dd6..e7f918555 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngineTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngineTest.java
@@ -195,8 +195,9 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
public void testSuccess() throws SecurityException {
trustedCredentials.add(signingX509Cred);
- SignableXMLObject signableXO = getValidSignedObject();
- Signature signature = signableXO.getSignature();
+ final SignableXMLObject signableXO = getValidSignedObject();
+ final Signature signature = signableXO.getSignature();
+ assert signature != null;
Assert.assertTrue(engine.validate(signature, criteriaSet), "Signature was valid and signing cred was trusted");
}
@@ -207,8 +208,9 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
*/
@Test
public void testUntrustedCredential() throws SecurityException {
- SignableXMLObject signableXO = getValidSignedObject();
- Signature signature = signableXO.getSignature();
+ final SignableXMLObject signableXO = getValidSignedObject();
+ final Signature signature = signableXO.getSignature();
+ assert signature != null;
Assert.assertFalse(engine.validate(signature, criteriaSet), "Signature was valid, but signing cred was untrusted");
}
@@ -221,8 +223,9 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
public void testInvalidSignature() throws SecurityException {
trustedCredentials.add(signingX509Cred);
- SignableXMLObject signableXO = getInvalidSignedObject();
- Signature signature = signableXO.getSignature();
+ final SignableXMLObject signableXO = getInvalidSignedObject();
+ final Signature signature = signableXO.getSignature();
+ assert signature != null;
Assert.assertFalse(engine.validate(signature, criteriaSet), "Signature was invalid due to document modification");
}
@@ -236,15 +239,16 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
public void testWhitelistedAlgorithms() throws SecurityException {
trustedCredentials.add(signingX509Cred);
- HashSet<String> algos = new HashSet<>();
+ final HashSet<String> algos = new HashSet<>();
algos.add(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
algos.add(SignatureConstants.ALGO_ID_DIGEST_SHA1);
- SignatureValidationParameters validationParams = new SignatureValidationParameters();
+ final SignatureValidationParameters validationParams = new SignatureValidationParameters();
validationParams.setIncludedAlgorithms(algos);
criteriaSet.add(new SignatureValidationParametersCriterion(validationParams));
- SignableXMLObject signableXO = getValidSignedObject();
- Signature signature = signableXO.getSignature();
+ final SignableXMLObject signableXO = getValidSignedObject();
+ final Signature signature = signableXO.getSignature();
+ assert signature != null;
Assert.assertTrue(engine.validate(signature, criteriaSet), "Signature was valid with whitelisted algorithms");
}
@@ -256,14 +260,15 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
public void testBlacklistedSignatureAlgorithm() throws SecurityException {
trustedCredentials.add(signingX509Cred);
- HashSet<String> algos = new HashSet<>();
+ final HashSet<String> algos = new HashSet<>();
algos.add(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
- SignatureValidationParameters validationParams = new SignatureValidationParameters();
+ final SignatureValidationParameters validationParams = new SignatureValidationParameters();
validationParams.setExcludedAlgorithms(algos);
criteriaSet.add(new SignatureValidationParametersCriterion(validationParams));
- SignableXMLObject signableXO = getValidSignedObject();
- Signature signature = signableXO.getSignature();
+ final SignableXMLObject signableXO = getValidSignedObject();
+ final Signature signature = signableXO.getSignature();
+ assert signature != null;
Assert.assertFalse(engine.validate(signature, criteriaSet), "Signature algorithm was blacklisted");
}
@@ -275,14 +280,15 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
public void testBlacklistedDigestAlgorithm() throws SecurityException {
trustedCredentials.add(signingX509Cred);
- HashSet<String> algos = new HashSet<>();
+ final HashSet<String> algos = new HashSet<>();
algos.add(SignatureConstants.ALGO_ID_DIGEST_SHA1);
- SignatureValidationParameters validationParams = new SignatureValidationParameters();
+ final SignatureValidationParameters validationParams = new SignatureValidationParameters();
validationParams.setExcludedAlgorithms(algos);
criteriaSet.add(new SignatureValidationParametersCriterion(validationParams));
- SignableXMLObject signableXO = getValidSignedObject();
- Signature signature = signableXO.getSignature();
+ final SignableXMLObject signableXO = getValidSignedObject();
+ final Signature signature = signableXO.getSignature();
+ assert signature != null;
Assert.assertFalse(engine.validate(signature, criteriaSet), "Digest algorithm was blacklisted");
}
@@ -417,8 +423,9 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
signature.setSigningCredential(signingX509Cred);
-
- DocumentInternalIDContentReference idContentRef = new DocumentInternalIDContentReference(sxo.getId());
+ final String id = sxo.getId();
+ assert id != null;
+ DocumentInternalIDContentReference idContentRef = new DocumentInternalIDContentReference(id);
idContentRef.setDigestAlgorithm(SignatureConstants.ALGO_ID_DIGEST_SHA1);
idContentRef.getTransforms().add(SignatureConstants.TRANSFORM_ENVELOPED_SIGNATURE);
idContentRef.getTransforms().add(SignatureConstants.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
@@ -438,7 +445,7 @@ public class ExplicitKeySignatureTrustEngineTest extends XMLObjectBaseTestCase {
sxo.setSignature(signature);
try {
- XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(sxo).marshall(sxo);
+ XMLObjectProviderRegistrySupport.getMarshallerFactory().ensureMarshaller(sxo).marshall(sxo);
} catch (MarshallingException e) {
Assert.fail("Error marshalling object for signing: " + e);
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngineTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngineTest.java
index 5ecc9e848..364223082 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngineTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngineTest.java
@@ -19,6 +19,7 @@ package org.opensaml.xmlsec.signature.support.impl;
import java.io.InputStream;
import java.security.PrivateKey;
+import java.security.PublicKey;
import java.security.cert.X509CRL;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
@@ -27,6 +28,9 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
import org.opensaml.core.criterion.EntityIdCriterion;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
@@ -62,6 +66,7 @@ import org.testng.annotations.Test;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
/**
@@ -445,7 +450,9 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
public void testRawWrongCredType() throws SecurityException {
rawCandidateCred = getCredential("foo-1A1-good.crt", "foo-1A1-good.key");
rawSignature = XMLSigningUtil.signWithURI(rawCandidateCred, rawAlgorithmURI, rawSignedContent);
- rawCandidateCred = CredentialSupport.getSimpleCredential(rawCandidateCred.getPublicKey(), null);
+ final PublicKey pubKey = rawCandidateCred.getPublicKey();
+ assert pubKey != null;
+ rawCandidateCred = CredentialSupport.getSimpleCredential(pubKey, null);
engine = getEngine(
getCertificates("root1-ca.crt", "inter1A-ca.crt", "inter1A1-ca.crt"),
EMPTY_CRLS,
@@ -521,7 +528,7 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
}
}
- private Signature getSignature(String entityCertFileName, String entityKeyFileName, String ... chainMembers) {
+ @Nonnull private Signature getSignature(String entityCertFileName, String entityKeyFileName, String ... chainMembers) {
X509Credential cred = getCredential(entityCertFileName, entityKeyFileName, chainMembers);
SignableXMLObject sxo = null;
@@ -534,7 +541,9 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
//System.out.println(XMLHelper.prettyPrintXML(sxo.getDOM()));
//Unmarshall a new XMLObject tree around the DOM, just to avoid any xmlsec bugs or side effects.
+ assert sxo != null;
Element signedDOM = sxo.getDOM();
+ assert signedDOM != null;
if (tamperDocumentPostSigning) {
Element newChild = signedDOM.getOwnerDocument().createElementNS(SimpleXMLObject.NAMESPACE,
SimpleXMLObject.NAMESPACE_PREFIX + ":" + SimpleXMLObject.LOCAL_NAME);
@@ -545,18 +554,20 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
SignableXMLObject verifiableSXO = null;
try {
- verifiableSXO = (SignableXMLObject) unmarshallerFactory.getUnmarshaller(signedDOM).unmarshall(signedDOM);
- } catch (UnmarshallingException e) {
+ verifiableSXO = (SignableXMLObject) unmarshallerFactory.ensureUnmarshaller(signedDOM).unmarshall(signedDOM);
+ } catch (final UnmarshallingException e) {
Assert.fail("Error unmarshalling new signed object: " + e.getMessage());
}
//System.out.println(XMLHelper.prettyPrintXML(verifiableSXO.getDOM()));
-
- return verifiableSXO.getSignature();
+
+ assert verifiableSXO != null;
+ return Constraint.isNotNull(verifiableSXO.getSignature(), "Signature was null");
}
private BasicX509Credential getCredential(String entityCertFileName, String entityKeyFileName, String ... chainMembers) {
X509Certificate entityCert = getCertificate(entityCertFileName);
+ assert entityCert != null;
BasicX509Credential cred = new BasicX509Credential(entityCert);
PrivateKey privateKey = getPrivateKey(entityKeyFileName);
@@ -574,7 +585,7 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
return cred;
}
- private PKIXSignatureTrustEngine getEngine(Collection<X509Certificate> certs,
+ @Nonnull private PKIXSignatureTrustEngine getEngine(Collection<X509Certificate> certs,
Collection<X509CRL> crls, Integer depth, String ... trustedNames) {
PKIXValidationInformation info = getPKIXInfoSet(certs, crls, depth);
@@ -592,12 +603,12 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
return new PKIXSignatureTrustEngine(resolver, XMLSecurityTestingSupport.buildBasicInlineKeyInfoResolver());
}
- private PKIXValidationInformation getPKIXInfoSet(Collection<X509Certificate> certs,
+ @Nonnull private PKIXValidationInformation getPKIXInfoSet(Collection<X509Certificate> certs,
Collection<X509CRL> crls, Integer depth) {
return new BasicPKIXValidationInformation(certs, crls, depth);
}
- private Collection<X509Certificate> getCertificates(String ... certNames) {
+ @Nonnull private Collection<X509Certificate> getCertificates(final String ... certNames) {
Set<X509Certificate> certs = new HashSet<>();
for (String certName : certNames) {
certs.add( getCertificate(certName) );
@@ -618,7 +629,7 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
}
- private X509Certificate getCertificate(String fileName) {
+ @Nullable private X509Certificate getCertificate(String fileName) {
try {
InputStream ins = getInputStream(fileName);
byte[] encoded = new byte[ins.available()];
@@ -630,7 +641,7 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
return null;
}
- private Collection<X509CRL> getCRLS(String ... crlNames) {
+ @Nonnull private Collection<X509CRL> getCRLS(String ... crlNames) {
Set<X509CRL> crls = new HashSet<>();
for (String crlName : crlNames) {
crls.add( getCRL(crlName) );
@@ -638,7 +649,7 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
return crls;
}
- private X509CRL getCRL(String fileName) {
+ @Nullable private X509CRL getCRL(String fileName) {
try {
InputStream ins = getInputStream(fileName);
byte[] encoded = new byte[ins.available()];
@@ -650,11 +661,11 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
return null;
}
- private InputStream getInputStream(String fileName) {
+ @Nonnull private InputStream getInputStream(String fileName) {
return PKIXSignatureTrustEngineTest.class.getResourceAsStream(DATA_PATH + fileName);
}
- private SignableXMLObject buildSignedObject(X509Credential signingX509Cred) throws SignatureException {
+ @Nonnull private SignableXMLObject buildSignedObject(X509Credential signingX509Cred) throws SignatureException {
SignableSimpleXMLObject sxo = (SignableSimpleXMLObject) buildXMLObject(SignableSimpleXMLObject.ELEMENT_NAME);
sxo.setId("abc123");
@@ -667,7 +678,9 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
sig.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
sig.setSigningCredential(signingX509Cred);
- DocumentInternalIDContentReference idContentRef = new DocumentInternalIDContentReference(sxo.getId());
+ final String id = sxo.getId();
+ assert id != null;
+ DocumentInternalIDContentReference idContentRef = new DocumentInternalIDContentReference(id);
idContentRef.setDigestAlgorithm(SignatureConstants.ALGO_ID_DIGEST_SHA1);
idContentRef.getTransforms().add(SignatureConstants.TRANSFORM_ENVELOPED_SIGNATURE);
idContentRef.getTransforms().add(SignatureConstants.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
@@ -695,7 +708,7 @@ public class PKIXSignatureTrustEngineTest extends XMLObjectBaseTestCase {
sxo.setSignature(sig);
try {
- XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(sxo).marshall(sxo);
+ XMLObjectProviderRegistrySupport.getMarshallerFactory().ensureMarshaller(sxo).marshall(sxo);
} catch (MarshallingException e) {
Assert.fail("Error marshalling object for signing: " + e);
}
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/DetachedSignatureTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/DetachedSignatureTest.java
index da450bb45..1e134f117 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/DetachedSignatureTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/DetachedSignatureTest.java
@@ -18,10 +18,14 @@
package org.opensaml.xmlsec.signature.support.tests;
import java.security.KeyPair;
+import java.util.List;
+
+import javax.annotation.Nonnull;
import org.apache.xml.security.utils.resolver.ResourceResolver;
import org.apache.xml.security.utils.resolver.implementations.ResolverDirectHTTP;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.XMLObjectBuilder;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.io.Marshaller;
@@ -41,12 +45,12 @@ import org.opensaml.xmlsec.signature.support.SignatureValidator;
import org.opensaml.xmlsec.signature.support.Signer;
import org.opensaml.xmlsec.signature.support.URIContentReference;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.w3c.dom.Element;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.testing.RepositorySupport;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.impl.BasicParserPool;
@@ -55,7 +59,7 @@ import net.shibboleth.shared.xml.impl.BasicParserPool;
public class DetachedSignatureTest extends XMLObjectBaseTestCase {
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(EnvelopedSignatureTest.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(EnvelopedSignatureTest.class);
/** Key resolver containing proper verification key. */
private BasicCredential goodCredential;
@@ -104,7 +108,7 @@ public class DetachedSignatureTest extends XMLObjectBaseTestCase {
SignableSimpleXMLObject sxo = getXMLObjectWithSignature();
Signature signature = sxo.getSignature();
- Marshaller marshaller = XMLObjectProviderRegistrySupport.getMarshallerFactory().ensureMarshaller(sxo);
+ final Marshaller marshaller = XMLObjectProviderRegistrySupport.getMarshallerFactory().ensureMarshaller(sxo);
Element signedElement = marshaller.marshall(sxo);
assert signature != null;
@@ -113,9 +117,11 @@ public class DetachedSignatureTest extends XMLObjectBaseTestCase {
log.debug("Marshalled deatched Signature: \n" + SerializeSupport.nodeToString(signedElement));
}
- Unmarshaller unmarshaller = XMLObjectProviderRegistrySupport.getUnmarshallerFactory().ensureUnmarshaller(signedElement);
+ final Unmarshaller unmarshaller = XMLObjectProviderRegistrySupport.getUnmarshallerFactory().ensureUnmarshaller(signedElement);
sxo = (SignableSimpleXMLObject) unmarshaller.unmarshall(signedElement);
- signature = (Signature) sxo.getOrderedChildren().get(1);
+ final List<XMLObject> children = sxo.getOrderedChildren();
+ assert children != null;
+ signature = (Signature) children.get(1);
SignatureValidator.validate(signature, goodCredential);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/EnvelopedSignatureTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/EnvelopedSignatureTest.java
index a7b9da143..b58bf74b5 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/EnvelopedSignatureTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/EnvelopedSignatureTest.java
@@ -22,6 +22,8 @@ import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.PublicKey;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObjectBuilder;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
@@ -43,7 +45,6 @@ import org.opensaml.xmlsec.signature.support.SignatureException;
import org.opensaml.xmlsec.signature.support.SignatureValidator;
import org.opensaml.xmlsec.signature.support.Signer;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -51,6 +52,7 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import jakarta.xml.bind.ValidationException;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
@@ -60,7 +62,7 @@ import net.shibboleth.shared.xml.XMLParserException;
public class EnvelopedSignatureTest extends XMLObjectBaseTestCase {
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(EnvelopedSignatureTest.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(EnvelopedSignatureTest.class);
/** Credential used to sign and verify. */
private Credential goodCredential;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/HMACSignatureTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/HMACSignatureTest.java
index 8d0b987a2..4521142d7 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/HMACSignatureTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/tests/HMACSignatureTest.java
@@ -20,6 +20,7 @@ package org.opensaml.xmlsec.signature.support.tests;
import java.io.InputStream;
import java.util.List;
+import javax.annotation.Nonnull;
import javax.crypto.SecretKey;
import org.apache.xml.security.signature.SignedInfo;
@@ -47,7 +48,6 @@ import org.opensaml.xmlsec.signature.support.SignatureException;
import org.opensaml.xmlsec.signature.support.SignatureValidator;
import org.opensaml.xmlsec.signature.support.Signer;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -55,6 +55,7 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import jakarta.xml.bind.ValidationException;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.ElementSupport;
import net.shibboleth.shared.xml.SerializeSupport;
@@ -66,7 +67,7 @@ import net.shibboleth.shared.xml.XMLParserException;
public class HMACSignatureTest extends XMLObjectBaseTestCase {
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(HMACSignatureTest.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(HMACSignatureTest.class);
/** Credential used to sign and verify. */
private Credential goodCredential;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/testing/XMLSecurityTestingSupport.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/testing/XMLSecurityTestingSupport.java
index f4ffcfe40..f643802ec 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/testing/XMLSecurityTestingSupport.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/testing/XMLSecurityTestingSupport.java
@@ -20,6 +20,8 @@ package org.opensaml.xmlsec.testing;
import java.util.ArrayList;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.opensaml.xmlsec.keyinfo.KeyInfoCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.BasicProviderKeyInfoCredentialResolver;
import org.opensaml.xmlsec.keyinfo.impl.KeyInfoProvider;
@@ -42,12 +44,12 @@ public final class XMLSecurityTestingSupport {
*
* @return a new KeyInfoCredentialResolver instance
*/
- public static KeyInfoCredentialResolver buildBasicInlineKeyInfoResolver() {
+ @Nonnull public static KeyInfoCredentialResolver buildBasicInlineKeyInfoResolver() {
return new BasicProviderKeyInfoCredentialResolver(getBasicInlineKeyInfoProviders());
}
- public static List<KeyInfoProvider> getBasicInlineKeyInfoProviders() {
- List<KeyInfoProvider> providers = new ArrayList<>();
+ @Nonnull public static List<KeyInfoProvider> getBasicInlineKeyInfoProviders() {
+ final List<KeyInfoProvider> providers = new ArrayList<>();
providers.add( new RSAKeyValueProvider() );
providers.add( new DSAKeyValueProvider() );
providers.add( new ECKeyValueProvider() );
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list