[java-opensaml] branch main updated: Add missing init guards to metadata filters and fix tests.
Scott Cantor
cantor.2 at osu.edu
Tue May 23 16:50:46 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=5b7e0f1927f8a0f8ba784f765dcd678e121030ad
The following commit(s) were added to refs/heads/main by this push:
new 5b7e0f192 Add missing init guards to metadata filters and fix tests.
5b7e0f192 is described below
commit 5b7e0f1927f8a0f8ba784f765dcd678e121030ad
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue May 23 12:50:43 2023 -0400
Add missing init guards to metadata filters and fix tests.
---
.../resolver/filter/impl/AlgorithmFilter.java | 2 +
.../filter/impl/ByReferenceMetadataFilter.java | 2 +
.../filter/impl/EntityAttributesFilter.java | 1 +
.../resolver/filter/impl/EntityRoleFilter.java | 14 +-
.../resolver/filter/impl/PredicateFilter.java | 2 +
.../filter/impl/RequiredValidUntilFilter.java | 4 +
.../filter/impl/SchemaValidationFilter.java | 2 +
.../filter/impl/SignatureValidationFilter.java | 7 +
.../resolver/filter/impl/AlgorithmFilterTest.java | 1 -
.../filter/impl/ByReferenceMetadataFilterTest.java | 5 +-
.../filter/impl/EntityAttributesFilterTest.java | 2 +-
.../resolver/filter/impl/EntityRoleFilterTest.java | 22 ++-
.../filter/impl/NameIDFormatFilterTest.java | 6 +-
.../resolver/filter/impl/PredicateFilterTest.java | 21 ++-
.../filter/impl/RequiredValidUntilTest.java | 8 +-
.../filter/impl/SchemaValidationFilterTest.java | 16 +-
.../SignatureValidationFilterExplicitKeyTest.java | 163 +++++++++++----------
.../impl/SignatureValidationFilterPKIXTest.java | 28 ++--
.../impl/AbstractDynamicMetadataResolverTest.java | 5 +-
19 files changed, 181 insertions(+), 130 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
index c75988da6..f2daefdd2 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
@@ -135,6 +135,8 @@ public class AlgorithmFilter extends AbstractMetadataFilter {
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
+
if (metadata == null) {
return null;
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java
index 72fcfe25c..e8db17c75 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java
@@ -66,6 +66,7 @@ public class ByReferenceMetadataFilter extends AbstractMetadataFilter {
* @param map filter mappings
*/
public void setFilterMappings(@Nonnull @NonnullElements final Map<Object,MetadataFilter> map) {
+ checkSetterPreconditions();
Constraint.isNotNull(map, "Filter mappings cannot be null");
filterMap = new HashMap<>(map.size());
@@ -91,6 +92,7 @@ public class ByReferenceMetadataFilter extends AbstractMetadataFilter {
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
final MetadataSource source = context.get(MetadataSource.class);
if (source == null || source.getSourceId() == null) {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
index 40c268ebb..79b24cef6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
@@ -125,6 +125,7 @@ public class EntityAttributesFilter extends AbstractMetadataFilter {
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
if (metadata == null) {
return null;
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
index 7bad3c25e..294c73b27 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
@@ -90,17 +90,6 @@ public class EntityRoleFilter extends AbstractMetadataFilter {
extRoleDescriptor = new QName(SAMLConstants.SAML20MD_NS, "RoleDescriptor");
}
- /**
- * Get the unmodifiable list of roles that are NOT removed by this filter.
- *
- * @return unmodifiable list of roles that are NOT removed by this filter
- * @deprecated
- */
- @Deprecated(forRemoval=true, since="4.1.0")
- @Nonnull @NonnullElements @Unmodifiable @NotLive public List<QName> getRoleWhiteList() {
- return getRetainedRoles();
- }
-
/**
* Get the unmodifiable list of roles that are NOT removed by this filter.
*
@@ -125,6 +114,7 @@ public class EntityRoleFilter extends AbstractMetadataFilter {
* @param remove whether to remove an entity descriptor if it does not contain any roles after filtering
*/
public void setRemoveRolelessEntityDescriptors(final boolean remove) {
+ checkSetterPreconditions();
removeRolelessEntityDescriptors = remove;
}
@@ -147,12 +137,14 @@ public class EntityRoleFilter extends AbstractMetadataFilter {
* descriptors
*/
public void setRemoveEmptyEntitiesDescriptors(final boolean remove) {
+ checkSetterPreconditions();
removeEmptyEntitiesDescriptors = remove;
}
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
if (metadata == null) {
return null;
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
index 659c924d7..3ce6f8ed6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
@@ -118,12 +118,14 @@ public class PredicateFilter extends AbstractMetadataFilter {
* descriptors
*/
public void setRemoveEmptyEntitiesDescriptors(final boolean remove) {
+ checkSetterPreconditions();
removeEmptyEntitiesDescriptors = remove;
}
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
if (metadata == null) {
return null;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
index 4e5428795..221fa3fd9 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
@@ -71,6 +71,8 @@ public class RequiredValidUntilFilter extends AbstractMetadataFilter {
* @param validity time between now and the <code>validUntil</code> date
*/
public void setMaxValidityInterval(@Nullable final Duration validity) {
+ checkSetterPreconditions();
+
if (validity != null && !validity.isNegative() && !validity.isZero()) {
maxValidityInterval = validity;
} else {
@@ -81,6 +83,8 @@ public class RequiredValidUntilFilter extends AbstractMetadataFilter {
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
+
if (metadata == null) {
return null;
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
index f0647e031..01a817b84 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
@@ -57,6 +57,8 @@ public class SchemaValidationFilter extends AbstractMetadataFilter {
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
+
if (metadata == null) {
return null;
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
index 1f8b0795f..675a51909 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
@@ -116,6 +116,7 @@ public class SignatureValidationFilter extends AbstractMetadataFilter {
* @param flag true if root signature should always be verified, false if should be dynamically determined
*/
public void setAlwaysVerifyTrustedSource(final boolean flag) {
+ checkSetterPreconditions();
alwaysVerifyTrustedSource = flag;
}
@@ -138,6 +139,7 @@ public class SignatureValidationFilter extends AbstractMetadataFilter {
* @param strategy the function, may be null
*/
public void setDynamicTrustedNamesStrategy(@Nullable final Function<XMLObject, Set<String>> strategy) {
+ checkSetterPreconditions();
dynamicTrustedNamesStrategy = strategy;
}
@@ -169,6 +171,7 @@ public class SignatureValidationFilter extends AbstractMetadataFilter {
* @param validator the signature prevalidator to use
*/
public void setSignaturePrevalidator(@Nullable final SignaturePrevalidator validator) {
+ checkSetterPreconditions();
signaturePrevalidator = validator;
}
@@ -191,6 +194,7 @@ public class SignatureValidationFilter extends AbstractMetadataFilter {
* @param require whether incoming metadata is required to be signed
*/
public void setRequireSignedRoot(final boolean require) {
+ checkSetterPreconditions();
requireSignedRoot = require;
}
@@ -209,12 +213,15 @@ public class SignatureValidationFilter extends AbstractMetadataFilter {
* @param newCriteria the new criteria set to use
*/
public void setDefaultCriteria(@Nullable final CriteriaSet newCriteria) {
+ checkSetterPreconditions();
defaultCriteria = newCriteria;
}
/** {@inheritDoc} */
@Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
throws FilterException {
+ checkComponentActive();
+
if (metadata == null) {
return null;
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java
index 0f90c2a69..7434ca7a8 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java
@@ -58,7 +58,6 @@ public class AlgorithmFilterTest extends XMLObjectBaseTestCase implements Predic
@BeforeMethod
protected void setUp() throws Exception {
-
URL mdURL = FilesystemMetadataResolverTest.class
.getResource("/org/opensaml/saml/metadata/resolver/filter/impl/EntityDescriptorWithAlgorithms.xml");
mdFile = new File(mdURL.toURI());
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilterTest.java
index 8f1dc26a5..62b006720 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilterTest.java
@@ -80,6 +80,7 @@ public class ByReferenceMetadataFilterTest extends XMLObjectBaseTestCase impleme
nameIDFilter.initialize();
refFilter.setFilterMappings(CollectionSupport.singletonMap("Foo", nameIDFilter));
+ refFilter.initialize();
metadataProvider.initialize();
@@ -93,6 +94,7 @@ public class ByReferenceMetadataFilterTest extends XMLObjectBaseTestCase impleme
nameIDFilter.initialize();
refFilter.setFilterMappings(CollectionSupport.singletonMap(CollectionSupport.listOf("ICMD", "Foo"), nameIDFilter));
+ refFilter.initialize();
metadataProvider.initialize();
@@ -126,4 +128,5 @@ public class ByReferenceMetadataFilterTest extends XMLObjectBaseTestCase impleme
public boolean test(EntityDescriptor input) {
return "https://carmenwiki.osu.edu/shibboleth".equals(input.getEntityID());
}
-}
+
+}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilterTest.java
index 1177d9cbc..4f1e50772 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilterTest.java
@@ -66,7 +66,7 @@ public class EntityAttributesFilterTest extends XMLObjectBaseTestCase implements
valueBuilder = XMLObjectProviderRegistrySupport.getBuilderFactory().<XSString>ensureBuilder(
XSString.TYPE_NAME);
- URL mdURL = FilesystemMetadataResolverTest.class
+ final URL mdURL = FilesystemMetadataResolverTest.class
.getResource("/org/opensaml/saml/saml2/metadata/InCommon-metadata.xml");
mdFile = new File(mdURL.toURI());
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilterTest.java
index 7f4b4cd60..86fdf7edf 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilterTest.java
@@ -75,32 +75,40 @@ public class EntityRoleFilterTest extends XMLObjectBaseTestCase {
@Test
public void testWhiteListSPRole() throws Exception {
- ArrayList<QName> retainedRoles = new ArrayList<>();
+ final ArrayList<QName> retainedRoles = new ArrayList<>();
retainedRoles.add(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
-
+ final EntityRoleFilter filter = new EntityRoleFilter(retainedRoles);
+ filter.initialize();
+
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.setParserPool(parserPool);
- metadataProvider.setMetadataFilter(new EntityRoleFilter(retainedRoles));
metadataProvider.setId("test");
metadataProvider.initialize();
}
@Test
public void testWhiteListIdPRoles() throws Exception {
- ArrayList<QName> retainedRoles = new ArrayList<>();
+ final ArrayList<QName> retainedRoles = new ArrayList<>();
retainedRoles.add(IDPSSODescriptor.DEFAULT_ELEMENT_NAME);
retainedRoles.add(AttributeAuthorityDescriptor.DEFAULT_ELEMENT_NAME);
+ final EntityRoleFilter filter = new EntityRoleFilter(retainedRoles);
+ filter.initialize();
+
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.setParserPool(parserPool);
- metadataProvider.setMetadataFilter(new EntityRoleFilter(retainedRoles));
metadataProvider.setId("test");
metadataProvider.initialize();
}
@Test
public void testWhiteListNoRole() throws Exception {
- ArrayList<QName> retainedRoles = new ArrayList<>();
+ final ArrayList<QName> retainedRoles = new ArrayList<>();
+ final EntityRoleFilter filter = new EntityRoleFilter(retainedRoles);
+ filter.initialize();
+
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.setParserPool(parserPool);
- metadataProvider.setMetadataFilter(new EntityRoleFilter(retainedRoles));
metadataProvider.setId("test");
metadataProvider.initialize();
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilterTest.java
index d576eb70d..cd06d44b7 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilterTest.java
@@ -65,7 +65,7 @@ public class NameIDFormatFilterTest extends XMLObjectBaseTestCase implements Pre
metadataFilter = new NameIDFormatFilter();
- formats = List.of(NameIDType.EMAIL, NameIDType.PERSISTENT);
+ formats = CollectionSupport.listOf(NameIDType.EMAIL, NameIDType.PERSISTENT);
}
@Test
@@ -86,7 +86,7 @@ public class NameIDFormatFilterTest extends XMLObjectBaseTestCase implements Pre
assert role != null;
final List<NameIDFormat> attachedFormats = role.getNameIDFormats();
Assert.assertEquals(attachedFormats.stream().map(NameIDFormat::getURI).collect(Collectors.toUnmodifiableList()),
- List.of(NameIDType.PERSISTENT, NameIDType.EMAIL));
+ CollectionSupport.listOf(NameIDType.PERSISTENT, NameIDType.EMAIL));
key = new EntityIdCriterion("https://cms.psu.edu/Shibboleth");
entity = metadataProvider.resolveSingle(new CriteriaSet(key));
@@ -120,4 +120,4 @@ public class NameIDFormatFilterTest extends XMLObjectBaseTestCase implements Pre
return "https://carmenwiki.osu.edu/shibboleth".equals(input.getEntityID());
}
-}
+}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilterTest.java
index 2f0644ac2..776ccf39c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilterTest.java
@@ -55,7 +55,6 @@ public class PredicateFilterTest extends XMLObjectBaseTestCase {
singleEntityProvider = new ResourceBackedMetadataResolver(null, ResourceHelper.of(singleResource));
singleEntityProvider.setId("single");
singleEntityProvider.setParserPool(parserPool);
-
}
@Test
@@ -66,8 +65,10 @@ public class PredicateFilterTest extends XMLObjectBaseTestCase {
final String osu = "urn:mace:incommon:osu.edu";
final EntityIdPredicate condition = new EntityIdPredicate(CollectionSupport.singletonList(denied));
+ final PredicateFilter filter = new PredicateFilter(Direction.EXCLUDE, condition);
+ filter.initialize();
- metadataProvider.setMetadataFilter(new PredicateFilter(Direction.EXCLUDE, condition));
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.initialize();
EntityDescriptor entity = metadataProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion(denied)));
@@ -76,12 +77,11 @@ public class PredicateFilterTest extends XMLObjectBaseTestCase {
entity = metadataProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion(allowed)));
Assert.assertNotNull(entity);
- singleEntityProvider.setMetadataFilter(new PredicateFilter(Direction.EXCLUDE, condition));
+ singleEntityProvider.setMetadataFilter(filter);
singleEntityProvider.initialize();
entity = singleEntityProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion(osu)));
Assert.assertNull(entity);
-
}
@Test
@@ -93,7 +93,10 @@ public class PredicateFilterTest extends XMLObjectBaseTestCase {
final EntityIdPredicate condition = new EntityIdPredicate(CollectionSupport.singletonList(allowed));
- metadataProvider.setMetadataFilter(new PredicateFilter(Direction.INCLUDE, condition));
+ PredicateFilter filter = new PredicateFilter(Direction.INCLUDE, condition);
+ filter.initialize();
+
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.initialize();
EntityDescriptor entity = metadataProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion(denied)));
@@ -102,12 +105,14 @@ public class PredicateFilterTest extends XMLObjectBaseTestCase {
entity = metadataProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion(allowed)));
Assert.assertNotNull(entity);
- singleEntityProvider.setMetadataFilter(new PredicateFilter(Direction.INCLUDE,
- new EntityIdPredicate(CollectionSupport.singletonList(osu))));
+ filter = new PredicateFilter(Direction.INCLUDE, new EntityIdPredicate(CollectionSupport.singletonList(osu)));
+ filter.initialize();
+
+ singleEntityProvider.setMetadataFilter(filter);
singleEntityProvider.initialize();
entity = singleEntityProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion(osu)));
Assert.assertNotNull(entity);
-
}
+
}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
index 782e57560..348fc5c86 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
@@ -52,6 +52,7 @@ public class RequiredValidUntilTest extends XMLObjectBaseTestCase {
public void testRequiredValidUntil() throws Exception {
RequiredValidUntilFilter filter = new RequiredValidUntilFilter();
filter.setMaxValidityInterval(Duration.ZERO);
+ filter.initialize();
FilesystemMetadataResolver metadataProvider = new FilesystemMetadataResolver(metadataFile);
metadataProvider.setParserPool(parserPool);
@@ -59,7 +60,7 @@ public class RequiredValidUntilTest extends XMLObjectBaseTestCase {
metadataProvider.setMetadataFilter(filter);
try {
metadataProvider.initialize();
- } catch (ComponentInitializationException e) {
+ } catch (final ComponentInitializationException e) {
Assert.fail("Filter disallowed metadata that contained a proper validUntil attribute");
}
}
@@ -68,6 +69,7 @@ public class RequiredValidUntilTest extends XMLObjectBaseTestCase {
public void testRequiredValidUntilWithMaxValidity() throws Exception {
RequiredValidUntilFilter filter = new RequiredValidUntilFilter();
filter.setMaxValidityInterval(Duration.ofSeconds(1));
+ filter.initialize();
FilesystemMetadataResolver metadataProvider = new FilesystemMetadataResolver(metadataFile);
metadataProvider.setParserPool(parserPool);
@@ -77,7 +79,7 @@ public class RequiredValidUntilTest extends XMLObjectBaseTestCase {
try {
metadataProvider.initialize();
Assert.fail("Filter accepted metadata with longer than allowed validity period.");
- } catch (ComponentInitializationException e) {
+ } catch (final ComponentInitializationException e) {
// we expect this
return;
}
@@ -93,9 +95,11 @@ public class RequiredValidUntilTest extends XMLObjectBaseTestCase {
RequiredValidUntilFilter filter = new RequiredValidUntilFilter();
filter.setMaxValidityInterval(Duration.ofSeconds(-1));
+ filter.initialize();
filter.filter(descriptor, new MetadataFilterContext());
filter = new RequiredValidUntilFilter();
+ filter.initialize();
filter.filter(descriptor, new MetadataFilterContext());
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilterTest.java
index 44d2ee835..1a0a4e4d7 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilterTest.java
@@ -38,9 +38,13 @@ public class SchemaValidationFilterTest extends XMLObjectBaseTestCase {
public void testValid() throws Exception {
final ResourceBackedMetadataResolver metadataProvider = new ResourceBackedMetadataResolver(
ResourceHelper.of(new ClassPathResource("org/opensaml/saml/saml2/metadata/valid-metadata.xml")));
+
+ final SchemaValidationFilter filter = new SchemaValidationFilter(new SAMLSchemaBuilder(SAML1Version.SAML_11));
+ filter.initialize();
+
metadataProvider.setParserPool(parserPool);
metadataProvider.setId("test");
- metadataProvider.setMetadataFilter(new SchemaValidationFilter(new SAMLSchemaBuilder(SAML1Version.SAML_11)));
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.initialize();
}
@@ -48,9 +52,12 @@ public class SchemaValidationFilterTest extends XMLObjectBaseTestCase {
public void testStrict() throws Exception {
final ResourceBackedMetadataResolver metadataProvider = new ResourceBackedMetadataResolver(
ResourceHelper.of(new ClassPathResource("org/opensaml/saml/saml2/metadata/valid-metadata.xml")));
+ final SchemaValidationFilter filter = new SchemaValidationFilter(new SAMLSchemaBuilder(SAML1Version.SAML_11, true));
+ filter.initialize();
+
metadataProvider.setParserPool(parserPool);
metadataProvider.setId("test");
- metadataProvider.setMetadataFilter(new SchemaValidationFilter(new SAMLSchemaBuilder(SAML1Version.SAML_11, true)));
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.initialize();
}
@@ -58,9 +65,12 @@ public class SchemaValidationFilterTest extends XMLObjectBaseTestCase {
public void testStrictInvalid() throws Exception {
final ResourceBackedMetadataResolver metadataProvider = new ResourceBackedMetadataResolver(
ResourceHelper.of(new ClassPathResource("org/opensaml/saml/saml2/metadata/invalid-metadata.xml")));
+ final SchemaValidationFilter filter = new SchemaValidationFilter(new SAMLSchemaBuilder(SAML1Version.SAML_11, true));
+ filter.initialize();
+
metadataProvider.setParserPool(parserPool);
metadataProvider.setId("test");
- metadataProvider.setMetadataFilter(new SchemaValidationFilter(new SAMLSchemaBuilder(SAML1Version.SAML_11, true)));
+ metadataProvider.setMetadataFilter(filter);
metadataProvider.initialize();
Assert.fail("Should have raised schema validation error");
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java
index 34c3ee6be..f922f3b8c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java
@@ -17,17 +17,15 @@
package org.opensaml.saml.metadata.resolver.filter.impl;
-import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
+import net.shibboleth.shared.annotation.constraint.NonnullBeforeTest;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.shared.xml.XMLParserException;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.io.UnmarshallingException;
import org.opensaml.saml.metadata.resolver.filter.FilterException;
import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
import org.opensaml.saml.metadata.resolver.filter.data.impl.MetadataSource;
@@ -96,9 +94,9 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
"vCfzIS7/dk9oPnjeH7GqbxUZMsms4qDZzdNkNDUDWj82lJzIMfZyUKbn2waTsgg3mKja0dGw2UBy" +
"urPV4NvVcNaIQZJunHI=";
- private KeyInfoCredentialResolver kiResolver;
+ @NonnullBeforeTest private KeyInfoCredentialResolver kiResolver;
- private MetadataFilterContext filterContext;
+ @NonnullBeforeTest private MetadataFilterContext filterContext;
@BeforeClass
public void buildKeyInfoCredentialResolver() {
@@ -110,203 +108,212 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
switchMDDocumentValid = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(switchMDFileValid));
switchMDDocumentInvalid = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(switchMDFileInvalid));
- X509Certificate switchCert = X509Support.decodeCertificate(switchMDCertBase64);
- X509Credential switchCred = CredentialSupport.getSimpleCredential(switchCert, null);
- StaticCredentialResolver switchCredResolver = new StaticCredentialResolver(switchCred);
+ final X509Certificate switchCert = X509Support.decodeCertificate(switchMDCertBase64);
+ final X509Credential switchCred = CredentialSupport.getSimpleCredential(switchCert, null);
+ final StaticCredentialResolver switchCredResolver = new StaticCredentialResolver(switchCred);
switchSigTrustEngine = new ExplicitKeySignatureTrustEngine(switchCredResolver, kiResolver);
filterContext = new MetadataFilterContext();
}
@Test
- public void testValidSWITCHStandalone() throws UnmarshallingException {
- XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentValid
+ public void testValidSWITCHStandalone() throws Exception {
+ final XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentValid
.getDocumentElement()).unmarshall(switchMDDocumentValid.getDocumentElement());
- SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ filter.initialize();
try {
filter.filter(xmlObject, filterContext);
- } catch (FilterException e) {
+ } catch (final FilterException e) {
Assert.fail("Filter failed validation, should have succeeded: " + e.getMessage());
}
}
@Test(expectedExceptions=FilterException.class)
- public void testSWITCHStandaloneBlacklistedSignatureAlgorithm() throws UnmarshallingException, FilterException {
- XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentValid
+ public void testSWITCHStandaloneBlacklistedSignatureAlgorithm() throws Exception {
+ final XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentValid
.getDocumentElement()).unmarshall(switchMDDocumentValid.getDocumentElement());
- SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
- SignatureValidationParameters sigParams = new SignatureValidationParameters();
+ final SignatureValidationParameters sigParams = new SignatureValidationParameters();
sigParams.setExcludedAlgorithms(CollectionSupport.singleton(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1));
- CriteriaSet defaultCriteriaSet = new CriteriaSet(new SignatureValidationParametersCriterion(sigParams));
+ final CriteriaSet defaultCriteriaSet = new CriteriaSet(new SignatureValidationParametersCriterion(sigParams));
filter.setDefaultCriteria(defaultCriteriaSet);
+ filter.initialize();
filter.filter(xmlObject, filterContext);
}
@Test
- public void testInvalidSWITCHStandalone() throws UnmarshallingException {
- XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentInvalid
+ public void testInvalidSWITCHStandalone() throws Exception {
+ final XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentInvalid
.getDocumentElement()).unmarshall(switchMDDocumentInvalid.getDocumentElement());
- SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ filter.initialize();
try {
filter.filter(xmlObject, filterContext);
Assert.fail("Filter passed validation, should have failed");
- } catch (FilterException e) {
+ } catch (final FilterException e) {
// do nothing, should fail
}
}
@Test
- public void testInvalidSWITCHStandaloneWithRootSkip() throws UnmarshallingException {
+ public void testInvalidSWITCHStandaloneWithRootSkip() throws Exception {
// Goal here is to test the root signature skip (indicated by filter context data) by using a known invalid root signature.
- XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentInvalid
+ final XMLObject xmlObject = unmarshallerFactory.ensureUnmarshaller(switchMDDocumentInvalid
.getDocumentElement()).unmarshall(switchMDDocumentInvalid.getDocumentElement());
- MetadataSource metadataSource = new MetadataSource();
+ final MetadataSource metadataSource = new MetadataSource();
metadataSource.setTrusted(true);
filterContext.add(metadataSource);
- SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ filter.initialize();
try {
filter.filter(xmlObject, filterContext);
- } catch (FilterException e) {
+ } catch (final FilterException e) {
Assert.fail("Filter failed validation, should have passed b/c we implicitly said to skip root signature");
}
}
@Test
- public void testEntityDescriptor() throws UnmarshallingException, CertificateException, XMLParserException {
- X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
- X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
- StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
- SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
+ public void testEntityDescriptor() throws Exception {
+ final X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
+ final X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
+ final StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
+ final SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
- Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileValid));
- XMLObject xmlObject =
+ final Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileValid));
+ final XMLObject xmlObject =
unmarshallerFactory.ensureUnmarshaller(mdDoc.getDocumentElement()).unmarshall(mdDoc.getDocumentElement());
Assert.assertTrue(xmlObject instanceof EntityDescriptor);
- EntityDescriptor ed = (EntityDescriptor) xmlObject;
+ final EntityDescriptor ed = (EntityDescriptor) xmlObject;
Assert.assertTrue(ed.isSigned());
Assert.assertNotNull(ed.getSignature(), "Signature was null");
- SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ filter.initialize();
try {
filter.filter(ed, filterContext);
- } catch (FilterException e) {
+ } catch (final FilterException e) {
Assert.fail("Filter failed validation, should have succeeded: " + e.getMessage());
}
}
@Test
- public void testEntityDescriptorInvalid() throws UnmarshallingException, CertificateException, XMLParserException {
- X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
- X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
- StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
- SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
+ public void testEntityDescriptorInvalid() throws Exception {
+ final X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
+ final X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
+ final StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
+ final SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
- Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileInvalid));
- XMLObject xmlObject =
+ final Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileInvalid));
+ final XMLObject xmlObject =
unmarshallerFactory.ensureUnmarshaller(mdDoc.getDocumentElement()).unmarshall(mdDoc.getDocumentElement());
Assert.assertTrue(xmlObject instanceof EntityDescriptor);
- EntityDescriptor ed = (EntityDescriptor) xmlObject;
+ final EntityDescriptor ed = (EntityDescriptor) xmlObject;
Assert.assertTrue(ed.isSigned());
Assert.assertNotNull(ed.getSignature(), "Signature was null");
- SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ filter.initialize();
try {
filter.filter(xmlObject, filterContext);
Assert.fail("Filter passed validation, should have failed");
- } catch (FilterException e) {
+ } catch (final FilterException e) {
// do nothing, should fail
}
}
@Test
- public void testEntityDescriptorInvalidWithRootSkip() throws UnmarshallingException, CertificateException, XMLParserException {
+ public void testEntityDescriptorInvalidWithRootSkip() throws Exception {
// Goal here is to test the root signature skip (indicated by filter context data) by using a known invalid root signature.
- X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
- X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
- StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
- SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
+ final X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
+ final X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
+ final StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
+ final SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
- Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileInvalid));
- XMLObject xmlObject =
+ final Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileInvalid));
+ final XMLObject xmlObject =
unmarshallerFactory.ensureUnmarshaller(mdDoc.getDocumentElement()).unmarshall(mdDoc.getDocumentElement());
Assert.assertTrue(xmlObject instanceof EntityDescriptor);
- EntityDescriptor ed = (EntityDescriptor) xmlObject;
+ final EntityDescriptor ed = (EntityDescriptor) xmlObject;
Assert.assertTrue(ed.isSigned());
Assert.assertNotNull(ed.getSignature(), "Signature was null");
- MetadataSource metadataSource = new MetadataSource();
+ final MetadataSource metadataSource = new MetadataSource();
metadataSource.setTrusted(true);
filterContext.add(metadataSource);
- SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ filter.initialize();
try {
filter.filter(xmlObject, filterContext);
- } catch (FilterException e) {
+ } catch (final FilterException e) {
Assert.fail("Filter failed validation, should have passed b/c we implicitly said to skip root signature");
}
}
@Test
- public void testEntityDescriptorWithProvider() throws CertificateException, XMLParserException, UnmarshallingException {
- X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
- X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
- StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
- SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
+ public void testEntityDescriptorWithProvider() throws Exception {
+ final X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
+ final X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
+ final StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
+ final SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
- Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileValid));
+ final Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileValid));
- DOMMetadataResolver mdProvider = new DOMMetadataResolver(mdDoc.getDocumentElement());
+ final DOMMetadataResolver mdProvider = new DOMMetadataResolver(mdDoc.getDocumentElement());
mdProvider.setParserPool(parserPool);
mdProvider.setId("test");
mdProvider.setRequireValidMetadata(false);
- SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ filter.initialize();
mdProvider.setMetadataFilter(filter);
try {
mdProvider.initialize();
- } catch (ComponentInitializationException e) {
+ } catch (final ComponentInitializationException e) {
Assert.fail("Failed when initializing metadata provider");
}
}
@Test
- public void testInvalidEntityDescriptorWithProvider() throws CertificateException, XMLParserException, UnmarshallingException {
- X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
- X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
- StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
+ public void testInvalidEntityDescriptorWithProvider() throws Exception {
+ final X509Certificate cert = X509Support.decodeCertificate(openIDCertBase64);
+ final X509Credential cred = CredentialSupport.getSimpleCredential(cert, null);
+ final StaticCredentialResolver credResolver = new StaticCredentialResolver(cred);
SignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
- Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileInvalid));
+ final Document mdDoc = parserPool.parse(SignatureValidationFilterExplicitKeyTest.class.getResourceAsStream(openIDFileInvalid));
- DOMMetadataResolver mdProvider = new DOMMetadataResolver(mdDoc.getDocumentElement());
+ final DOMMetadataResolver mdProvider = new DOMMetadataResolver(mdDoc.getDocumentElement());
mdProvider.setParserPool(parserPool);
mdProvider.setRequireValidMetadata(false);
- SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ final SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
+ filter.initialize();
mdProvider.setId("test");
mdProvider.setMetadataFilter(filter);
try {
mdProvider.initialize();
Assert.fail("Metadata signature was invalid, provider initialization should have failed");
- } catch (ComponentInitializationException e) {
+ } catch (final ComponentInitializationException e) {
// do nothing, failure expected
}
}
@Test
- public void testIsSkipRootSignatureEval() {
- MetadataFilterContext context = new MetadataFilterContext();
- SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
- MetadataSource metadataSource = new MetadataSource();
+ public void testIsSkipRootSignatureEval() throws ComponentInitializationException {
+ final MetadataFilterContext context = new MetadataFilterContext();
+ final SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
+ final MetadataSource metadataSource = new MetadataSource();
Assert.assertFalse(filter.isSkipRootSignature(context));
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java
index 3bf268265..5f1570375 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java
@@ -25,6 +25,8 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.io.MarshallingException;
@@ -59,19 +61,23 @@ import org.testng.annotations.Test;
import org.testng.collections.Lists;
import org.w3c.dom.Element;
+import net.shibboleth.shared.annotation.constraint.NonnullBeforeTest;
+import net.shibboleth.shared.component.ComponentInitializationException;
+
@SuppressWarnings("javadoc")
public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
- private static final String DATA_PATH = "/org/opensaml/saml/metadata/resolver/filter/impl/";
+ @Nonnull private static final String DATA_PATH = "/org/opensaml/saml/metadata/resolver/filter/impl/";
- private SignatureValidationFilter filter;
+ @NonnullBeforeTest private SignatureValidationFilter filter;
- private MetadataFilterContext filterContext;
+ @NonnullBeforeTest private MetadataFilterContext filterContext;
@BeforeMethod
- public void setUp() {
+ public void setUp() throws ComponentInitializationException {
filter = new SignatureValidationFilter(buildTrustEngine());
filter.setDynamicTrustedNamesStrategy(new BasicDynamicTrustedNamesStrategy());
+ filter.initialize();
filterContext = new MetadataFilterContext();
}
@@ -129,7 +135,7 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
return unmarshallerFactory.ensureUnmarshaller(dom).unmarshall(dom);
}
- private SignatureTrustEngine buildTrustEngine() {
+ @Nonnull private SignatureTrustEngine buildTrustEngine() {
Collection<X509Certificate> roots = getCertificates("root.crt");
PKIXValidationInformation pkixInfo = getPKIXInfoSet(roots, new HashSet<X509CRL>(), 10);
@@ -171,12 +177,11 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
}
private PrivateKey getPrivateKey(String fileName) {
- try {
- InputStream ins = getInputStream(fileName);
+ try (final InputStream ins = getInputStream(fileName)) {
byte[] encoded = new byte[ins.available()];
ins.read(encoded);
return KeySupport.decodePrivateKey(encoded, null);
- } catch (Exception e) {
+ } catch (final Exception e) {
Assert.fail("Could not create private key from file: " + fileName + ": " + e.getMessage());
}
return null;
@@ -191,12 +196,11 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
}
private X509Certificate getCertificate(String fileName) {
- try {
- InputStream ins = getInputStream(fileName);
+ try (final InputStream ins = getInputStream(fileName)) {
byte[] encoded = new byte[ins.available()];
ins.read(encoded);
return X509Support.decodeCertificates(encoded).iterator().next();
- } catch (Exception e) {
+ } catch (final Exception e) {
Assert.fail("Could not create certificate from file: " + fileName + ": " + e.getMessage());
}
return null;
@@ -206,4 +210,4 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
return this.getClass().getResourceAsStream(DATA_PATH + fileName);
}
-}
+}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
index 461c92325..052779869 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
@@ -20,8 +20,6 @@ package org.opensaml.saml.metadata.resolver.impl;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.security.KeyPair;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
import java.time.Duration;
import java.util.HashMap;
import java.util.HashSet;
@@ -107,7 +105,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
private boolean allowActivation;
@BeforeClass
- protected void setUpSigningSupport() throws NoSuchAlgorithmException, NoSuchProviderException {
+ protected void setUpSigningSupport() throws Exception {
KeyPair kp = KeySupport.generateKeyPair(JCAConstants.KEY_ALGO_RSA, 1024, null);
signingCred = CredentialSupport.getSimpleCredential(kp.getPublic(), kp.getPrivate());
@@ -128,6 +126,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
DefaultSecurityConfigurationBootstrap.buildBasicInlineKeyInfoCredentialResolver());
signatureValidationFilter = new SignatureValidationFilter(signatureTrustEngine);
+ signatureValidationFilter.initialize();
}
@BeforeMethod
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list