[java-shib-metadata] branch main updated: Migrate dynamic metadata tests to Embedded Jetty class.

Codeberg noreply at shibboleth.net
Mon Jul 13 20:28:05 UTC 2026


This is an automated email from the git hooks/post-receive script.

codeberg pushed a commit to branch main
in repository java-shib-metadata.

View the commit online:
https://codeberg.org/Shibboleth/java-shib-metadata/commit/5977a14f4fdc260616afa8de3cd9dd05c547eb1a

The following commit(s) were added to refs/heads/main by this push:
     new 5977a14f Migrate dynamic metadata tests to Embedded Jetty class.
5977a14f is described below

commit 5977a14f4fdc260616afa8de3cd9dd05c547eb1a
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Mon Jul 13 16:27:55 2026 -0400

    Migrate dynamic metadata tests to Embedded Jetty class.
---
 .../DynamicHTTPMetadataProviderParserTest.java     | 231 +++++++++++----------
 ...-https-trustEngine-explicitKey-params-merge.xml |  61 +++---
 ...Engine-explicitKey-params-ref-same-document.xml |  61 +++---
 .../dynamic-https-trustEngine-explicitKey.xml      |  61 +++---
 ...s-trustEngine-validPKIX-explicitTrustedName.xml |  59 +++---
 .../dynamic-https-trustEngine-validPKIX.xml        |  57 +++--
 .../shibboleth/spring/metadata/localhost-sp.xml    |  49 +++++
 7 files changed, 291 insertions(+), 288 deletions(-)

diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/DynamicHTTPMetadataProviderParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/DynamicHTTPMetadataProviderParserTest.java
index 21e03b75..f5ff4143 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/DynamicHTTPMetadataProviderParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/DynamicHTTPMetadataProviderParserTest.java
@@ -14,6 +14,8 @@
 
 package net.shibboleth.spring.metadata;
 
+import java.net.SocketException;
+import java.net.UnknownHostException;
 import java.security.MessageDigest;
 import java.security.SecureRandom;
 import java.time.Duration;
@@ -22,6 +24,8 @@ import java.util.List;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
+import javax.annotation.Nonnull;
+
 import org.opensaml.core.criterion.EntityIdCriterion;
 import org.opensaml.core.xml.persist.FilesystemLoadSaveManager;
 import org.opensaml.core.xml.persist.XMLObjectLoadSaveManager;
@@ -35,26 +39,73 @@ import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.opensaml.security.crypto.JCAConstants;
 import org.opensaml.security.httpclient.HttpClientSecurityParameters;
 import org.springframework.context.ApplicationContext;
+import org.springframework.core.io.ClassPathResource;
 import org.springframework.mock.env.MockPropertySource;
 import org.springframework.test.util.ReflectionTestUtils;
 import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import net.shibboleth.idp.saml.metadata.impl.MetadataProviderContainer;
 import net.shibboleth.shared.collection.CollectionSupport;
+import net.shibboleth.shared.primitive.NonnullSupplier;
 import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.shared.testing.RepositorySupport;
+import net.shibboleth.shared.resource.Resource;
+import net.shibboleth.shared.spring.resource.ResourceHelper;
+import net.shibboleth.shared.testing.EmbeddedJetty;
 
 @SuppressWarnings("javadoc")
 public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     
     private static final String PROP_MDURL = "metadataURL";
+
+    private static final String ENTITY_ID = "https://localhost:8443/sp";
     
-    private static final String REPO_IDP = "java-shib-metadata";
+    private static final String HTTPS_TEMPLATE_URL = "https://localhost:8443/entities/${entityID}.xml";
     
-    private static final String REPO_OPENSAML = "java-opensaml";
+    private static final String HTTP_TEMPLATE_URL = "http://localhost:8080/entities/${entityID}.xml";
     
-    private static final String TEMPLATE_URL = "opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml";
+    private EmbeddedJetty jetty;
+    private int jettyStatus;
+    private Resource jettyResource;
+    private Resource localhostResource;
+    private Resource exampleResource; 
+    
+    @BeforeClass
+    public void startJetty() throws UnknownHostException, SocketException {
+        localhostResource = ResourceHelper.of(new ClassPathResource("net/shibboleth/spring/metadata/localhost-sp.xml"));
+        exampleResource = ResourceHelper.of(new ClassPathResource("net/shibboleth/spring/metadata/idp.example.org.xml"));
+        
+        jettyStatus = 200;
+        
+        jetty = new EmbeddedJetty();
+        jetty.startServer(new EmbeddedJetty.ResourceHandler(
+                new NonnullSupplier<Integer>() {
+                    @Nonnull public Integer get() {
+                        return jettyStatus;
+                    }
+                },
+                new NonnullSupplier<Resource>() {
+                    @Nonnull public Resource get() {
+                        return jettyResource;
+                    }
+                }));
+    }
+    
+    @AfterClass
+    public void stopJetty() {
+        if (jetty != null) {
+            jetty.stopServer();
+            jetty = null;
+        }
+    }
+    
+    @BeforeMethod
+    public void initResource() {
+        jettyResource = localhostResource;
+    }
     
     @Test
     public void testDefaults() throws Exception {
@@ -213,39 +264,30 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
         Assert.assertEquals(resolver.getRequestURLBuilder().getClass(), HTTPEntityIDRequestURLBuilder.class);
     }
     
-    // Test disabled due to target site being unavailable, see IDP-1852
     @Test
     public void testWellKnown() throws Exception {
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 "dynamicWellKnown.xml", "beans.xml");
         
-        // TODO: this really should be an embedded mock server
-        final String entityID = "https://test.shibboleth.net/shibboleth";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
 
     @Test
     public void testTemplate() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamicTemplate.xml", "beans.xml");
         
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
 
     @Test
@@ -299,8 +341,9 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testRegex() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_IDP, "shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/$1.xml", false));
+        jettyResource = exampleResource;
+        
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, "http://localhost:8080/entities/$1.xml");
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamicRegex.xml", "beans.xml");
@@ -317,170 +360,142 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHttpCachingNone() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-httpCaching-none.xml", "beans.xml", "httpClient.xml");
         
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
 
     @Test
     public void testHttpCachingNoneViaAttribute() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-httpCaching-noneViaAttribute.xml", "beans.xml", "httpClient.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
 
     @Test
     public void testHttpCachingViaAttribute() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-httpCaching-viaAttribute.xml", "beans.xml", "httpClient.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
 
     @Test
     public void testHttpCachingMemory() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-httpCaching-memory.xml", "beans.xml", "httpClient.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
 
     @Test
     public void testHttpCachingFile() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-httpCaching-file.xml", "beans.xml", "httpClient.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSNoTrustEngine() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTP_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-noTrustEngine.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineExplicitKey() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-explicitKey.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineExplicitKeyViaParamsRef() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-explicitKey-params-ref.xml", "beans.xml", "beans-httpClientSecParams.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineExplicitKeyViaParamsRefSameDocument() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-explicitKey-params-ref-same-document.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineExplicitKeyViaParamsMerge() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-explicitKey-params-merge.xml", "beans.xml");
@@ -497,28 +512,23 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
         Assert.assertEquals(protocols.size(), 2);
         Assert.assertTrue(protocols.contains("TLSv1.3"));
         Assert.assertTrue(protocols.contains("TLSv1.2"));
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineInvalidKey() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-invalidKey.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNull(ed);
@@ -526,51 +536,42 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSTrustEngineValidPKIX() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-validPKIX.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineValidPKIXExplicitTrustedName() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNotNull(ed);
         assert ed != null;
-        Assert.assertEquals(ed.getEntityID(), entityID);
+        Assert.assertEquals(ed.getEntityID(), ENTITY_ID);
     }
     
     @Test
     public void testHTTPSTrustEngineInvalidPKIX() throws Exception {
-        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, HTTPS_TEMPLATE_URL);
         
         final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
                 propSource, "dynamic-https-trustEngine-invalidPKIX.xml", "beans.xml");
-        
-        final String entityID = "https://www.example.org/sp";
-        
-        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
+                
+        final CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(ENTITY_ID));
         
         final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNull(ed);
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-merge.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-merge.xml
index e9e36f0b..ac317685 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-merge.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-merge.xml
@@ -24,42 +24,31 @@
             <security:TrustEngine id="trustEngine" xsi:type="security:StaticExplicitKey">
                 <security:Credential xsi:type="security:X509Inline" id="shibboleth.net">
                     <security:Certificate>
-<!-- The projects LLSS cert -->
-MIIGazCCBFOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMx
-DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEr
-MCkGA1UEAwwiU2hpYmJvbGV0aCBQcm9qZWN0IEludGVybWVkaWF0ZSBDQTAeFw0x
-ODEyMTExNTE5NDlaFw0zODEyMDYxNTE5NDlaMFoxCzAJBgNVBAYTAlVTMQ0wCwYD
-VQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xHDAaBgNV
-BAMME3Rlc3Quc2hpYmJvbGV0aC5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
-ggIKAoICAQDI39TBFEbOkf0Bb2h/qnG4bbJRF5Ga9OBgSAxPsx2PNgVmf1cvJYlq
-uRCzATu3O4PPclomow5VU7hB+umpk2s03FHejUtO8w85qQx7bkSeyfLpMYloX3SD
-AWDFSpw54Tg2Dfja6jYLnE0aYWUCTXjcFJEIrT0QP1Azdk8b9PeKLqGIagECUMzC
-UjmJxEcyqhbe6mB7tdSsBng+R4DRdVdouN4rtHknNuEyAc5eEppGxY33KXhElYol
-4IK6YxAqXI6iQIDdcVxrH061/iKh7qT1bCAEmzeeoS4st4v4oyIhxUk7yUxYOuFc
-NhYUd5U93Ws4P8xPFzcPhD2TIZDAS/bnm2EJ+JxLG6Gp1jhBN5qTpdTPWiG9+Tmm
-HFuYOrSefgZk0edkJhe0dycfV/FWFX2fNrmkpQhyPQzb3ZyZ5mACn020TXDaF5o3
-fX8ndLl4RghTORJs5n51TuLX85DEeZWkJe5f8Hsip1mpmxlMTl9QMqHrN70n5gBi
-uCYo9g/Jw5xoropCq7Jri9K9FWtbORncUIXutsTVo+fXeHZ6IDRoovR004gHHEJ7
-ks46fZQYNbd8bB/mPlCdYiFyJnfUiOu89O5aLqvhrJNgPUhMt/gmhSV7zw+/3/cd
-o7pwWH2h2ObuS8v8gVUZAE04tefqRJZEB0YsWA3DASDT7nVqndOp2QIDAQABo4IB
-KjCCASYwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgEN
-BCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
-FgQUG3Vg4ubsJVaylBUCPtqVc9mHWfYwgYwGA1UdIwSBhDCBgYAUELzfpij2mkrs
-9B4CEsXYmoN6cKuhZaRjMGExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4w
-HAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xIzAhBgNVBAMMGlNoaWJib2xl
-dGggUHJvamVjdCBUZXN0IENBggIQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
-CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggIBAFZQF7KzKGSPieV2eQWbFt30
-kVZzVe/T5UAvrr8n7mRqMfye4QtHHOVM3MHvZv93AXVUQU4PH9KPGtv7poEtwNWk
-7hNbq74z5x5tSvE0EYYI9UMolDL6il+QR5AgLw7YqgMmPPhtm+crmLg8+uMoQDyU
-uSH8ej4rMrdhL2xKlgvL/rhWycpYu1cFLmeolljOZGqr7ITwWJ06BQsLtt4/cyYj
-WiVldHQRZMGAuHLHlX+ukaEg7Gc/N7o936bS5d7AqXwtmtkXiA8An5q5rhncEK1G
-kwUUQN2y5iyx/nD4B2k1IcgFlu/bM4iXZQtmMUtLptUqRssuxS45ukiweiM9UU8n
-WxyxJMzFTctJJ2f/y4Bg5ggsr4WQU/YhoDaQVYxyjXiBt3oT+7eqsoep9HK9xwbG
-xriLzrlao+K3EcKA3vjKGYh15gpEDUbn0Cr5V74TUSdkHjhG7ocaJ5u9/vCS4+AR
-iU5ge2zN6QcwoZKT8+8XGKeXqVc/3hXeXTn3FyvMitPDZsmg8wUhnb/pq5MyKqUA
-bNse4a7oGAeAUGkLf4Q+eLCLSZmL5udrGXdHIffFYqZVcZS+zVWQ1TRfodTDPkFb
-KTz1mcr4KjLNCtplu4CfFpHwC20uk3hPEslOUd+ugj0+HGNH93L7H0WL1GDQoCPh
-RcdRISVwORcD/dit15zD
+<!-- The projects Embedded Jetty cert -->
+MIIEZTCCAs2gAwIBAgIUaOqLVUXbNQuPp+JzeFZaC4v/Po0wDQYJKoZIhvcNAQEL
+BQAwQTELMAkGA1UEBhMCVVMxHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1
+bTESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIyMDkwODE0MDkyNFoYDzIwNzcwNjEx
+MTQwOTI0WjBBMQswCQYDVQQGEwJVUzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25z
+b3J0aXVtMRIwEAYDVQQDDAlsb2NhbGhvc3QwggGiMA0GCSqGSIb3DQEBAQUAA4IB
+jwAwggGKAoIBgQCnIstvkXhPD0RYkl9Z01FwoO11uGf/+OaXyI5krFahD+277Qpb
+SCIqgbvMVTI5zPdya1ukLTEjvB8f0ytpXSZ1sH5dB5ur7YwAE1cHsFg6MvMAztSv
+qcVZrOYjGZFUNzS22UVk1zkdm6do+FKVDfMCRyy/soQQidKkFESHERbDJ3rRk9XQ
+HMG0cVnfnohILYmiar9TosEwO1EEa0vaBeK6ctdRW3OOW401yfQy31gQqxKmsX+n
+DPdDznUy/yxe/ZtRWyiMbTgtASmjYgFSipt9zcpQi0Igwb77sLDXc0GI3vuyCQfh
+q1V54puv+5yNq2J1khh3pMRWkHYDMJIJA40K9sR5cjdCuo0i0JgV+syMedV96xSw
+LPKY4bUF80pfRZlhv/0dAiJVSoMkn6vYKTq4/iGYEI0KFhWs9UdZXgyWQJAGaAuc
++vXQ88On7A24SBaBZFGvQ8NtXsFL9EjPelSDbuqH5F+8SFjD9v3EC3K9H83/78Hm
+r8kGwmMUnNr3M/0CAwEAAaNTMFEwHQYDVR0OBBYEFEgRz075hrhEAzUUGknaE65f
+1ZQBMB8GA1UdIwQYMBaAFEgRz075hrhEAzUUGknaE65f1ZQBMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggGBADZ3aT8thtt42ldx8mKbMKnHooycPUf5
+QY0y4/GSOu5AFhbLPyQFPGCNr5RLKYEvUZzJssnuIKjg/VK8a19BdS9UiV5n6vFu
+75gUHuBW8cOjl16XUorMO+IFD+1bHO7jBu8ZHqrqOxzhDyHH2MqwI/zFi/wzjzh4
+q39fo3F05A6gyaA2DOz9dhyDeg8tlMIlgkgBqe8OwiqvuKUFZmog4wt44X297B5N
+9fI7xRFpoD1i7uhsJW7byewmNXQb5HJXAit/U7iOY+1J4ZSYtkwm3BVA1fhnY4Ys
+d+ex553wVS3RyfrEoLth3E8f9vksLVdWSaDjaWnY49B/NX6kMVWQd8CzoOJDYK+P
+uOGv8s6IN1qCNdDE0B9QHIMpkGP7y0kWKNbYoSKgRTSHJA/viARFOe3UKRpHie2u
+dJ2siyveIgSpflsUJ0acmzkrJdBEdXj7QoWeIosSOtxvkwSvfRjDaiBCbr3SGvxj
+jpv4MN2X1UTUAOhOi5c+Vw5zQ32xX1cC8A==
                     </security:Certificate>
                 </security:Credential>
             </security:TrustEngine>
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-ref-same-document.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-ref-same-document.xml
index 82b16010..e11715bd 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-ref-same-document.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey-params-ref-same-document.xml
@@ -33,42 +33,31 @@
             <security:TrustEngine id="trustEngine" xsi:type="security:StaticExplicitKey">
                 <security:Credential xsi:type="security:X509Inline">
                     <security:Certificate>
-<!-- The projects LLSS cert -->
-MIIGazCCBFOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMx
-DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEr
-MCkGA1UEAwwiU2hpYmJvbGV0aCBQcm9qZWN0IEludGVybWVkaWF0ZSBDQTAeFw0x
-ODEyMTExNTE5NDlaFw0zODEyMDYxNTE5NDlaMFoxCzAJBgNVBAYTAlVTMQ0wCwYD
-VQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xHDAaBgNV
-BAMME3Rlc3Quc2hpYmJvbGV0aC5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
-ggIKAoICAQDI39TBFEbOkf0Bb2h/qnG4bbJRF5Ga9OBgSAxPsx2PNgVmf1cvJYlq
-uRCzATu3O4PPclomow5VU7hB+umpk2s03FHejUtO8w85qQx7bkSeyfLpMYloX3SD
-AWDFSpw54Tg2Dfja6jYLnE0aYWUCTXjcFJEIrT0QP1Azdk8b9PeKLqGIagECUMzC
-UjmJxEcyqhbe6mB7tdSsBng+R4DRdVdouN4rtHknNuEyAc5eEppGxY33KXhElYol
-4IK6YxAqXI6iQIDdcVxrH061/iKh7qT1bCAEmzeeoS4st4v4oyIhxUk7yUxYOuFc
-NhYUd5U93Ws4P8xPFzcPhD2TIZDAS/bnm2EJ+JxLG6Gp1jhBN5qTpdTPWiG9+Tmm
-HFuYOrSefgZk0edkJhe0dycfV/FWFX2fNrmkpQhyPQzb3ZyZ5mACn020TXDaF5o3
-fX8ndLl4RghTORJs5n51TuLX85DEeZWkJe5f8Hsip1mpmxlMTl9QMqHrN70n5gBi
-uCYo9g/Jw5xoropCq7Jri9K9FWtbORncUIXutsTVo+fXeHZ6IDRoovR004gHHEJ7
-ks46fZQYNbd8bB/mPlCdYiFyJnfUiOu89O5aLqvhrJNgPUhMt/gmhSV7zw+/3/cd
-o7pwWH2h2ObuS8v8gVUZAE04tefqRJZEB0YsWA3DASDT7nVqndOp2QIDAQABo4IB
-KjCCASYwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgEN
-BCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
-FgQUG3Vg4ubsJVaylBUCPtqVc9mHWfYwgYwGA1UdIwSBhDCBgYAUELzfpij2mkrs
-9B4CEsXYmoN6cKuhZaRjMGExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4w
-HAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xIzAhBgNVBAMMGlNoaWJib2xl
-dGggUHJvamVjdCBUZXN0IENBggIQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
-CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggIBAFZQF7KzKGSPieV2eQWbFt30
-kVZzVe/T5UAvrr8n7mRqMfye4QtHHOVM3MHvZv93AXVUQU4PH9KPGtv7poEtwNWk
-7hNbq74z5x5tSvE0EYYI9UMolDL6il+QR5AgLw7YqgMmPPhtm+crmLg8+uMoQDyU
-uSH8ej4rMrdhL2xKlgvL/rhWycpYu1cFLmeolljOZGqr7ITwWJ06BQsLtt4/cyYj
-WiVldHQRZMGAuHLHlX+ukaEg7Gc/N7o936bS5d7AqXwtmtkXiA8An5q5rhncEK1G
-kwUUQN2y5iyx/nD4B2k1IcgFlu/bM4iXZQtmMUtLptUqRssuxS45ukiweiM9UU8n
-WxyxJMzFTctJJ2f/y4Bg5ggsr4WQU/YhoDaQVYxyjXiBt3oT+7eqsoep9HK9xwbG
-xriLzrlao+K3EcKA3vjKGYh15gpEDUbn0Cr5V74TUSdkHjhG7ocaJ5u9/vCS4+AR
-iU5ge2zN6QcwoZKT8+8XGKeXqVc/3hXeXTn3FyvMitPDZsmg8wUhnb/pq5MyKqUA
-bNse4a7oGAeAUGkLf4Q+eLCLSZmL5udrGXdHIffFYqZVcZS+zVWQ1TRfodTDPkFb
-KTz1mcr4KjLNCtplu4CfFpHwC20uk3hPEslOUd+ugj0+HGNH93L7H0WL1GDQoCPh
-RcdRISVwORcD/dit15zD
+<!-- The projects Embedded Jetty cert -->
+MIIEZTCCAs2gAwIBAgIUaOqLVUXbNQuPp+JzeFZaC4v/Po0wDQYJKoZIhvcNAQEL
+BQAwQTELMAkGA1UEBhMCVVMxHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1
+bTESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIyMDkwODE0MDkyNFoYDzIwNzcwNjEx
+MTQwOTI0WjBBMQswCQYDVQQGEwJVUzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25z
+b3J0aXVtMRIwEAYDVQQDDAlsb2NhbGhvc3QwggGiMA0GCSqGSIb3DQEBAQUAA4IB
+jwAwggGKAoIBgQCnIstvkXhPD0RYkl9Z01FwoO11uGf/+OaXyI5krFahD+277Qpb
+SCIqgbvMVTI5zPdya1ukLTEjvB8f0ytpXSZ1sH5dB5ur7YwAE1cHsFg6MvMAztSv
+qcVZrOYjGZFUNzS22UVk1zkdm6do+FKVDfMCRyy/soQQidKkFESHERbDJ3rRk9XQ
+HMG0cVnfnohILYmiar9TosEwO1EEa0vaBeK6ctdRW3OOW401yfQy31gQqxKmsX+n
+DPdDznUy/yxe/ZtRWyiMbTgtASmjYgFSipt9zcpQi0Igwb77sLDXc0GI3vuyCQfh
+q1V54puv+5yNq2J1khh3pMRWkHYDMJIJA40K9sR5cjdCuo0i0JgV+syMedV96xSw
+LPKY4bUF80pfRZlhv/0dAiJVSoMkn6vYKTq4/iGYEI0KFhWs9UdZXgyWQJAGaAuc
++vXQ88On7A24SBaBZFGvQ8NtXsFL9EjPelSDbuqH5F+8SFjD9v3EC3K9H83/78Hm
+r8kGwmMUnNr3M/0CAwEAAaNTMFEwHQYDVR0OBBYEFEgRz075hrhEAzUUGknaE65f
+1ZQBMB8GA1UdIwQYMBaAFEgRz075hrhEAzUUGknaE65f1ZQBMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggGBADZ3aT8thtt42ldx8mKbMKnHooycPUf5
+QY0y4/GSOu5AFhbLPyQFPGCNr5RLKYEvUZzJssnuIKjg/VK8a19BdS9UiV5n6vFu
+75gUHuBW8cOjl16XUorMO+IFD+1bHO7jBu8ZHqrqOxzhDyHH2MqwI/zFi/wzjzh4
+q39fo3F05A6gyaA2DOz9dhyDeg8tlMIlgkgBqe8OwiqvuKUFZmog4wt44X297B5N
+9fI7xRFpoD1i7uhsJW7byewmNXQb5HJXAit/U7iOY+1J4ZSYtkwm3BVA1fhnY4Ys
+d+ex553wVS3RyfrEoLth3E8f9vksLVdWSaDjaWnY49B/NX6kMVWQd8CzoOJDYK+P
+uOGv8s6IN1qCNdDE0B9QHIMpkGP7y0kWKNbYoSKgRTSHJA/viARFOe3UKRpHie2u
+dJ2siyveIgSpflsUJ0acmzkrJdBEdXj7QoWeIosSOtxvkwSvfRjDaiBCbr3SGvxj
+jpv4MN2X1UTUAOhOi5c+Vw5zQ32xX1cC8A==
                     </security:Certificate>
                 </security:Credential>
             </security:TrustEngine>
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey.xml
index d09dbb8c..17348c01 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-explicitKey.xml
@@ -12,43 +12,32 @@
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticExplicitKey">
             <security:Credential xsi:type="security:X509Inline" id="shibboleth.net">
-				<!-- The project's LLSS cert -->
                 <security:Certificate>
-MIIGazCCBFOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMx
-DTALBgNVBAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEr
-MCkGA1UEAwwiU2hpYmJvbGV0aCBQcm9qZWN0IEludGVybWVkaWF0ZSBDQTAeFw0x
-ODEyMTExNTE5NDlaFw0zODEyMDYxNTE5NDlaMFoxCzAJBgNVBAYTAlVTMQ0wCwYD
-VQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xHDAaBgNV
-BAMME3Rlc3Quc2hpYmJvbGV0aC5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
-ggIKAoICAQDI39TBFEbOkf0Bb2h/qnG4bbJRF5Ga9OBgSAxPsx2PNgVmf1cvJYlq
-uRCzATu3O4PPclomow5VU7hB+umpk2s03FHejUtO8w85qQx7bkSeyfLpMYloX3SD
-AWDFSpw54Tg2Dfja6jYLnE0aYWUCTXjcFJEIrT0QP1Azdk8b9PeKLqGIagECUMzC
-UjmJxEcyqhbe6mB7tdSsBng+R4DRdVdouN4rtHknNuEyAc5eEppGxY33KXhElYol
-4IK6YxAqXI6iQIDdcVxrH061/iKh7qT1bCAEmzeeoS4st4v4oyIhxUk7yUxYOuFc
-NhYUd5U93Ws4P8xPFzcPhD2TIZDAS/bnm2EJ+JxLG6Gp1jhBN5qTpdTPWiG9+Tmm
-HFuYOrSefgZk0edkJhe0dycfV/FWFX2fNrmkpQhyPQzb3ZyZ5mACn020TXDaF5o3
-fX8ndLl4RghTORJs5n51TuLX85DEeZWkJe5f8Hsip1mpmxlMTl9QMqHrN70n5gBi
-uCYo9g/Jw5xoropCq7Jri9K9FWtbORncUIXutsTVo+fXeHZ6IDRoovR004gHHEJ7
-ks46fZQYNbd8bB/mPlCdYiFyJnfUiOu89O5aLqvhrJNgPUhMt/gmhSV7zw+/3/cd
-o7pwWH2h2ObuS8v8gVUZAE04tefqRJZEB0YsWA3DASDT7nVqndOp2QIDAQABo4IB
-KjCCASYwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgEN
-BCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
-FgQUG3Vg4ubsJVaylBUCPtqVc9mHWfYwgYwGA1UdIwSBhDCBgYAUELzfpij2mkrs
-9B4CEsXYmoN6cKuhZaRjMGExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4w
-HAYDVQQKDBVTaGliYm9sZXRoIENvbnNvcnRpdW0xIzAhBgNVBAMMGlNoaWJib2xl
-dGggUHJvamVjdCBUZXN0IENBggIQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
-CgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggIBAFZQF7KzKGSPieV2eQWbFt30
-kVZzVe/T5UAvrr8n7mRqMfye4QtHHOVM3MHvZv93AXVUQU4PH9KPGtv7poEtwNWk
-7hNbq74z5x5tSvE0EYYI9UMolDL6il+QR5AgLw7YqgMmPPhtm+crmLg8+uMoQDyU
-uSH8ej4rMrdhL2xKlgvL/rhWycpYu1cFLmeolljOZGqr7ITwWJ06BQsLtt4/cyYj
-WiVldHQRZMGAuHLHlX+ukaEg7Gc/N7o936bS5d7AqXwtmtkXiA8An5q5rhncEK1G
-kwUUQN2y5iyx/nD4B2k1IcgFlu/bM4iXZQtmMUtLptUqRssuxS45ukiweiM9UU8n
-WxyxJMzFTctJJ2f/y4Bg5ggsr4WQU/YhoDaQVYxyjXiBt3oT+7eqsoep9HK9xwbG
-xriLzrlao+K3EcKA3vjKGYh15gpEDUbn0Cr5V74TUSdkHjhG7ocaJ5u9/vCS4+AR
-iU5ge2zN6QcwoZKT8+8XGKeXqVc/3hXeXTn3FyvMitPDZsmg8wUhnb/pq5MyKqUA
-bNse4a7oGAeAUGkLf4Q+eLCLSZmL5udrGXdHIffFYqZVcZS+zVWQ1TRfodTDPkFb
-KTz1mcr4KjLNCtplu4CfFpHwC20uk3hPEslOUd+ugj0+HGNH93L7H0WL1GDQoCPh
-RcdRISVwORcD/dit15zD
+<!-- The projects Embedded Jetty cert -->
+MIIEZTCCAs2gAwIBAgIUaOqLVUXbNQuPp+JzeFZaC4v/Po0wDQYJKoZIhvcNAQEL
+BQAwQTELMAkGA1UEBhMCVVMxHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1
+bTESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIyMDkwODE0MDkyNFoYDzIwNzcwNjEx
+MTQwOTI0WjBBMQswCQYDVQQGEwJVUzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25z
+b3J0aXVtMRIwEAYDVQQDDAlsb2NhbGhvc3QwggGiMA0GCSqGSIb3DQEBAQUAA4IB
+jwAwggGKAoIBgQCnIstvkXhPD0RYkl9Z01FwoO11uGf/+OaXyI5krFahD+277Qpb
+SCIqgbvMVTI5zPdya1ukLTEjvB8f0ytpXSZ1sH5dB5ur7YwAE1cHsFg6MvMAztSv
+qcVZrOYjGZFUNzS22UVk1zkdm6do+FKVDfMCRyy/soQQidKkFESHERbDJ3rRk9XQ
+HMG0cVnfnohILYmiar9TosEwO1EEa0vaBeK6ctdRW3OOW401yfQy31gQqxKmsX+n
+DPdDznUy/yxe/ZtRWyiMbTgtASmjYgFSipt9zcpQi0Igwb77sLDXc0GI3vuyCQfh
+q1V54puv+5yNq2J1khh3pMRWkHYDMJIJA40K9sR5cjdCuo0i0JgV+syMedV96xSw
+LPKY4bUF80pfRZlhv/0dAiJVSoMkn6vYKTq4/iGYEI0KFhWs9UdZXgyWQJAGaAuc
++vXQ88On7A24SBaBZFGvQ8NtXsFL9EjPelSDbuqH5F+8SFjD9v3EC3K9H83/78Hm
+r8kGwmMUnNr3M/0CAwEAAaNTMFEwHQYDVR0OBBYEFEgRz075hrhEAzUUGknaE65f
+1ZQBMB8GA1UdIwQYMBaAFEgRz075hrhEAzUUGknaE65f1ZQBMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggGBADZ3aT8thtt42ldx8mKbMKnHooycPUf5
+QY0y4/GSOu5AFhbLPyQFPGCNr5RLKYEvUZzJssnuIKjg/VK8a19BdS9UiV5n6vFu
+75gUHuBW8cOjl16XUorMO+IFD+1bHO7jBu8ZHqrqOxzhDyHH2MqwI/zFi/wzjzh4
+q39fo3F05A6gyaA2DOz9dhyDeg8tlMIlgkgBqe8OwiqvuKUFZmog4wt44X297B5N
+9fI7xRFpoD1i7uhsJW7byewmNXQb5HJXAit/U7iOY+1J4ZSYtkwm3BVA1fhnY4Ys
+d+ex553wVS3RyfrEoLth3E8f9vksLVdWSaDjaWnY49B/NX6kMVWQd8CzoOJDYK+P
+uOGv8s6IN1qCNdDE0B9QHIMpkGP7y0kWKNbYoSKgRTSHJA/viARFOe3UKRpHie2u
+dJ2siyveIgSpflsUJ0acmzkrJdBEdXj7QoWeIosSOtxvkwSvfRjDaiBCbr3SGvxj
+jpv4MN2X1UTUAOhOi5c+Vw5zQ32xX1cC8A==
                 </security:Certificate>
             </security:Credential>
         </security:TrustEngine>
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml
index 05b42769..aba627a4 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml
@@ -11,41 +11,34 @@
     
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticPKIXX509Credential">
-            <security:TrustedName>test.shibboleth.net</security:TrustedName>
+            <security:TrustedName>localhost</security:TrustedName>
             <security:ValidationInfo id="validRoot" xsi:type="security:PKIXInline" verifyDepth="5">
-            	<!--  The project's own test CA root -->
                 <security:Certificate>
-MIIFqDCCA5CgAwIBAgIJAIEDdQdu3nBaMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
-BAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNv
-cnRpdW0xIzAhBgNVBAMMGlNoaWJib2xldGggUHJvamVjdCBUZXN0IENBMB4XDTE4
-MTIxMTE0NTQzM1oXDTQ2MDQyODE0NTQzM1owYTELMAkGA1UEBhMCVVMxDTALBgNV
-BAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEjMCEGA1UE
-AwwaU2hpYmJvbGV0aCBQcm9qZWN0IFRlc3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUA
-A4ICDwAwggIKAoICAQCq4lNY743on4A4/E5dOYCbscXE+lsJtDjd8fyFXmXqYpfi
-1KP6Vh8foWEvG70dEQR4oxxcA1que2HbqIaQtWOT4LJBWTvUNF+dKFiDkTHkzbxx
-FnzJVPXYDzrDz2CbWpAh496S8BsT7+84+TqGGngJs2POFcHhQFAxr7Of9pKwGLXz
-BWCes+FSjst7yLrrrbkB8MXuHD5h+EjK+C552jECqCmgabbThESsMleVqBcjmuoH
-X2BejIghRsw5Y8wGq5hWr92lOD86p+Hn3kC+4yR20XCQu9P+l/ZPlzFkW/FFDPPh
-6U9ZP1Kf1hDkkDQDZLtyy5xLs0ew+4rjxlH4Bmh45zBcDprd8yA6hnoIN4w5IFF+
-w1bZTUPlNvMdf/4EjVIJ8UFfJXTMSD2VPeTd1veb/uaAtToU599u7ITh2gaZGfh3
-AmXUR2gX9+eKbJG4fXHwLxkddl/dSjgbFRPrtBgp/w8DNZICmpJSpdWvmSY/o8ix
-Tq1ZKX8UuzrsBOtG0Y7Fi/aJtrsgD9KqpnGEhBFWJ8zFHHdZIUMKacUJgzFARlsM
-e/eoM49a4oCqFfPeRgriC9eWfFbRIH86RBjuVk8Rs/q35mkpk702eEnf0kdB7E/q
-JE4qgBnEhSONl2ytTt7rsrw19jXCw+FOfHB2KQa50h59wsKF3oaCoG4f5hZC/wID
-AQABo2MwYTAdBgNVHQ4EFgQU6lFKNP6lo4e1TixtvcdR5NVuxfkwHwYDVR0jBBgw
-FoAU6lFKNP6lo4e1TixtvcdR5NVuxfkwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
-Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADt/nRWMaUr396xdtu/UNtzm0dfp
-zyqusqaD09JbqW1mQJ/fH6mZ+yPOYd7h5A47znPe9o0jJlR11GcPvRPTM4IR8aLB
-ogK05TGtWP6sBNR8vld87C5e1hKRwoHDqyLUriK/hpi30zB4B+whW0kty6wqF9lt
-X819emItLgDr1qS6v9iDd9AS4xmpcRxP47YugvlIKBNeiuK+UXhY3lBYg4453Pgn
-Fi78GoOM51oEY1LrCpiXSly4sz25MflM47Cppxh5fAIPoFsqRwmpJ3lETBmLCe6v
-7Shjgc0bEidlAxF8BPoXKvMSkjfBRmmhw6UvJ158NmKWSXV6r6x1ZWG/5N2GKpO4
-1eV7RNV4ojpyc87RJJdpstcFJFVjBzEVZ9EcohG1/UDHITu3e5XPrtgPQZGXKjX5
-EHtO5hDb6xxkblQ6qe1L3Ga+ZfNg1rHIpicYz1yZS5mR0dD1LJrzwyan9s1Ld5IU
-v2YWniDlnFXBFWC+9hRF544aN2M/7Q10J13ZYg7d2YbOnp2XhTV1Ud7T/PN4wxHu
-aTJ+2OEsL2Uy4oQ5bGEfgkG22NVxOpAR5/baAoqwxUxIXmE9ub2jVOPt6AzLeNdr
-RaPULkvHLvGMy+VpAqEIPG1OiROg+tWKRmDhF5PtOTneeHR2yHjjWGO+DDY7sAEu
-JWXY3HAfr1aJ7DVm
+<!-- The projects Embedded Jetty cert -->
+MIIEZTCCAs2gAwIBAgIUaOqLVUXbNQuPp+JzeFZaC4v/Po0wDQYJKoZIhvcNAQEL
+BQAwQTELMAkGA1UEBhMCVVMxHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1
+bTESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIyMDkwODE0MDkyNFoYDzIwNzcwNjEx
+MTQwOTI0WjBBMQswCQYDVQQGEwJVUzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25z
+b3J0aXVtMRIwEAYDVQQDDAlsb2NhbGhvc3QwggGiMA0GCSqGSIb3DQEBAQUAA4IB
+jwAwggGKAoIBgQCnIstvkXhPD0RYkl9Z01FwoO11uGf/+OaXyI5krFahD+277Qpb
+SCIqgbvMVTI5zPdya1ukLTEjvB8f0ytpXSZ1sH5dB5ur7YwAE1cHsFg6MvMAztSv
+qcVZrOYjGZFUNzS22UVk1zkdm6do+FKVDfMCRyy/soQQidKkFESHERbDJ3rRk9XQ
+HMG0cVnfnohILYmiar9TosEwO1EEa0vaBeK6ctdRW3OOW401yfQy31gQqxKmsX+n
+DPdDznUy/yxe/ZtRWyiMbTgtASmjYgFSipt9zcpQi0Igwb77sLDXc0GI3vuyCQfh
+q1V54puv+5yNq2J1khh3pMRWkHYDMJIJA40K9sR5cjdCuo0i0JgV+syMedV96xSw
+LPKY4bUF80pfRZlhv/0dAiJVSoMkn6vYKTq4/iGYEI0KFhWs9UdZXgyWQJAGaAuc
++vXQ88On7A24SBaBZFGvQ8NtXsFL9EjPelSDbuqH5F+8SFjD9v3EC3K9H83/78Hm
+r8kGwmMUnNr3M/0CAwEAAaNTMFEwHQYDVR0OBBYEFEgRz075hrhEAzUUGknaE65f
+1ZQBMB8GA1UdIwQYMBaAFEgRz075hrhEAzUUGknaE65f1ZQBMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggGBADZ3aT8thtt42ldx8mKbMKnHooycPUf5
+QY0y4/GSOu5AFhbLPyQFPGCNr5RLKYEvUZzJssnuIKjg/VK8a19BdS9UiV5n6vFu
+75gUHuBW8cOjl16XUorMO+IFD+1bHO7jBu8ZHqrqOxzhDyHH2MqwI/zFi/wzjzh4
+q39fo3F05A6gyaA2DOz9dhyDeg8tlMIlgkgBqe8OwiqvuKUFZmog4wt44X297B5N
+9fI7xRFpoD1i7uhsJW7byewmNXQb5HJXAit/U7iOY+1J4ZSYtkwm3BVA1fhnY4Ys
+d+ex553wVS3RyfrEoLth3E8f9vksLVdWSaDjaWnY49B/NX6kMVWQd8CzoOJDYK+P
+uOGv8s6IN1qCNdDE0B9QHIMpkGP7y0kWKNbYoSKgRTSHJA/viARFOe3UKRpHie2u
+dJ2siyveIgSpflsUJ0acmzkrJdBEdXj7QoWeIosSOtxvkwSvfRjDaiBCbr3SGvxj
+jpv4MN2X1UTUAOhOi5c+Vw5zQ32xX1cC8A==
                 </security:Certificate>
             </security:ValidationInfo>
         </security:TrustEngine>
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX.xml
index c97bfab8..a0969f7e 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/dynamic-https-trustEngine-validPKIX.xml
@@ -12,39 +12,32 @@
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticPKIXX509Credential" trustedNameCheckEnabled="false">
             <security:ValidationInfo id="validRoot" xsi:type="security:PKIXInline" verifyDepth="5">
-            	<!--  The project's own test CA root -->
                 <security:Certificate>
-MIIFqDCCA5CgAwIBAgIJAIEDdQdu3nBaMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
-BAYTAlVTMQ0wCwYDVQQIDARPaGlvMR4wHAYDVQQKDBVTaGliYm9sZXRoIENvbnNv
-cnRpdW0xIzAhBgNVBAMMGlNoaWJib2xldGggUHJvamVjdCBUZXN0IENBMB4XDTE4
-MTIxMTE0NTQzM1oXDTQ2MDQyODE0NTQzM1owYTELMAkGA1UEBhMCVVMxDTALBgNV
-BAgMBE9oaW8xHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1bTEjMCEGA1UE
-AwwaU2hpYmJvbGV0aCBQcm9qZWN0IFRlc3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUA
-A4ICDwAwggIKAoICAQCq4lNY743on4A4/E5dOYCbscXE+lsJtDjd8fyFXmXqYpfi
-1KP6Vh8foWEvG70dEQR4oxxcA1que2HbqIaQtWOT4LJBWTvUNF+dKFiDkTHkzbxx
-FnzJVPXYDzrDz2CbWpAh496S8BsT7+84+TqGGngJs2POFcHhQFAxr7Of9pKwGLXz
-BWCes+FSjst7yLrrrbkB8MXuHD5h+EjK+C552jECqCmgabbThESsMleVqBcjmuoH
-X2BejIghRsw5Y8wGq5hWr92lOD86p+Hn3kC+4yR20XCQu9P+l/ZPlzFkW/FFDPPh
-6U9ZP1Kf1hDkkDQDZLtyy5xLs0ew+4rjxlH4Bmh45zBcDprd8yA6hnoIN4w5IFF+
-w1bZTUPlNvMdf/4EjVIJ8UFfJXTMSD2VPeTd1veb/uaAtToU599u7ITh2gaZGfh3
-AmXUR2gX9+eKbJG4fXHwLxkddl/dSjgbFRPrtBgp/w8DNZICmpJSpdWvmSY/o8ix
-Tq1ZKX8UuzrsBOtG0Y7Fi/aJtrsgD9KqpnGEhBFWJ8zFHHdZIUMKacUJgzFARlsM
-e/eoM49a4oCqFfPeRgriC9eWfFbRIH86RBjuVk8Rs/q35mkpk702eEnf0kdB7E/q
-JE4qgBnEhSONl2ytTt7rsrw19jXCw+FOfHB2KQa50h59wsKF3oaCoG4f5hZC/wID
-AQABo2MwYTAdBgNVHQ4EFgQU6lFKNP6lo4e1TixtvcdR5NVuxfkwHwYDVR0jBBgw
-FoAU6lFKNP6lo4e1TixtvcdR5NVuxfkwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
-Af8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADt/nRWMaUr396xdtu/UNtzm0dfp
-zyqusqaD09JbqW1mQJ/fH6mZ+yPOYd7h5A47znPe9o0jJlR11GcPvRPTM4IR8aLB
-ogK05TGtWP6sBNR8vld87C5e1hKRwoHDqyLUriK/hpi30zB4B+whW0kty6wqF9lt
-X819emItLgDr1qS6v9iDd9AS4xmpcRxP47YugvlIKBNeiuK+UXhY3lBYg4453Pgn
-Fi78GoOM51oEY1LrCpiXSly4sz25MflM47Cppxh5fAIPoFsqRwmpJ3lETBmLCe6v
-7Shjgc0bEidlAxF8BPoXKvMSkjfBRmmhw6UvJ158NmKWSXV6r6x1ZWG/5N2GKpO4
-1eV7RNV4ojpyc87RJJdpstcFJFVjBzEVZ9EcohG1/UDHITu3e5XPrtgPQZGXKjX5
-EHtO5hDb6xxkblQ6qe1L3Ga+ZfNg1rHIpicYz1yZS5mR0dD1LJrzwyan9s1Ld5IU
-v2YWniDlnFXBFWC+9hRF544aN2M/7Q10J13ZYg7d2YbOnp2XhTV1Ud7T/PN4wxHu
-aTJ+2OEsL2Uy4oQ5bGEfgkG22NVxOpAR5/baAoqwxUxIXmE9ub2jVOPt6AzLeNdr
-RaPULkvHLvGMy+VpAqEIPG1OiROg+tWKRmDhF5PtOTneeHR2yHjjWGO+DDY7sAEu
-JWXY3HAfr1aJ7DVm
+<!-- The projects Embedded Jetty cert -->
+MIIEZTCCAs2gAwIBAgIUaOqLVUXbNQuPp+JzeFZaC4v/Po0wDQYJKoZIhvcNAQEL
+BQAwQTELMAkGA1UEBhMCVVMxHjAcBgNVBAoMFVNoaWJib2xldGggQ29uc29ydGl1
+bTESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIyMDkwODE0MDkyNFoYDzIwNzcwNjEx
+MTQwOTI0WjBBMQswCQYDVQQGEwJVUzEeMBwGA1UECgwVU2hpYmJvbGV0aCBDb25z
+b3J0aXVtMRIwEAYDVQQDDAlsb2NhbGhvc3QwggGiMA0GCSqGSIb3DQEBAQUAA4IB
+jwAwggGKAoIBgQCnIstvkXhPD0RYkl9Z01FwoO11uGf/+OaXyI5krFahD+277Qpb
+SCIqgbvMVTI5zPdya1ukLTEjvB8f0ytpXSZ1sH5dB5ur7YwAE1cHsFg6MvMAztSv
+qcVZrOYjGZFUNzS22UVk1zkdm6do+FKVDfMCRyy/soQQidKkFESHERbDJ3rRk9XQ
+HMG0cVnfnohILYmiar9TosEwO1EEa0vaBeK6ctdRW3OOW401yfQy31gQqxKmsX+n
+DPdDznUy/yxe/ZtRWyiMbTgtASmjYgFSipt9zcpQi0Igwb77sLDXc0GI3vuyCQfh
+q1V54puv+5yNq2J1khh3pMRWkHYDMJIJA40K9sR5cjdCuo0i0JgV+syMedV96xSw
+LPKY4bUF80pfRZlhv/0dAiJVSoMkn6vYKTq4/iGYEI0KFhWs9UdZXgyWQJAGaAuc
++vXQ88On7A24SBaBZFGvQ8NtXsFL9EjPelSDbuqH5F+8SFjD9v3EC3K9H83/78Hm
+r8kGwmMUnNr3M/0CAwEAAaNTMFEwHQYDVR0OBBYEFEgRz075hrhEAzUUGknaE65f
+1ZQBMB8GA1UdIwQYMBaAFEgRz075hrhEAzUUGknaE65f1ZQBMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggGBADZ3aT8thtt42ldx8mKbMKnHooycPUf5
+QY0y4/GSOu5AFhbLPyQFPGCNr5RLKYEvUZzJssnuIKjg/VK8a19BdS9UiV5n6vFu
+75gUHuBW8cOjl16XUorMO+IFD+1bHO7jBu8ZHqrqOxzhDyHH2MqwI/zFi/wzjzh4
+q39fo3F05A6gyaA2DOz9dhyDeg8tlMIlgkgBqe8OwiqvuKUFZmog4wt44X297B5N
+9fI7xRFpoD1i7uhsJW7byewmNXQb5HJXAit/U7iOY+1J4ZSYtkwm3BVA1fhnY4Ys
+d+ex553wVS3RyfrEoLth3E8f9vksLVdWSaDjaWnY49B/NX6kMVWQd8CzoOJDYK+P
+uOGv8s6IN1qCNdDE0B9QHIMpkGP7y0kWKNbYoSKgRTSHJA/viARFOe3UKRpHie2u
+dJ2siyveIgSpflsUJ0acmzkrJdBEdXj7QoWeIosSOtxvkwSvfRjDaiBCbr3SGvxj
+jpv4MN2X1UTUAOhOi5c+Vw5zQ32xX1cC8A==
                 </security:Certificate>
             </security:ValidationInfo>
         </security:TrustEngine>
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/localhost-sp.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/localhost-sp.xml
new file mode 100644
index 00000000..f9cf230b
--- /dev/null
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/localhost-sp.xml
@@ -0,0 +1,49 @@
+<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" ID="_a3623fbbcb6af813c50b67a828668b1e55ae2c0f" entityID="https://localhost:8443/sp">
+
+  <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:1.0:protocol">
+    <md:Extensions>
+      <init:RequestInitiator xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init" Binding="urn:oasis:names:tc:SAML:profiles:SSO:request-init" Location="https://www.example.org/Shibboleth.sso/Login"/>
+      <idpdisc:DiscoveryResponse xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://www.example.org/Shibboleth.sso/Login" index="1"/>
+    </md:Extensions>
+    <md:KeyDescriptor>
+      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+        <ds:KeyName>https://www.example.org/shibboleth</ds:KeyName>
+        <ds:KeyName>www.example.org</ds:KeyName>
+        <ds:X509Data>
+          <ds:X509SubjectName>CN=www.example.org</ds:X509SubjectName>
+          <ds:X509Certificate>MIIDRDCCAiygAwIBAgIJAIc3DausM4oaMA0GCSqGSIb3DQEBBQUAMCUxIzAhBgNV
+BAMTGnd3dy5saWJyYXJ5Lmdlb3JnZXRvd24uZWR1MB4XDTEyMDgwOTIxMjIwNFoX
+DTMyMDgwNDIxMjIwNFowJTEjMCEGA1UEAxMad3d3LmxpYnJhcnkuZ2VvcmdldG93
+bi5lZHUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkc0sA/9cehYrs
+AR8nT0Me8JcKIFeFZlAi9jp0vhvsF8tbbhq9diZjaCeww93yfeDPC9u9wi6ya40x
+gkLHLeBinYJlDruk84QLrRImQ1di4rJQgBBt/wLr+wZQgeuo/P+es0ox9VU+fBqr
+xQRHvenkw/LKPuCz7mkhotZt/zy0UnNcq5o5t6tsZLU+BbSUWoBoB3MQXzN/PjMq
+ROks9/v90HtUCiF9J7hPDpxLLJ7qkvJ+YpfuBcQB5NevoDv423cwwfkJGBJAu3Do
+Qs2vWOfS3AwDh8Cee43wjZB5eD44y+cVIeed16WehDKnXQ+DEcKnHzxF6IRMU+d1
+4kLs+QZHAgMBAAGjdzB1MFQGA1UdEQRNMEuCGnd3dy5saWJyYXJ5Lmdlb3JnZXRv
+d24uZWR1hi1odHRwczovL3d3dy5saWJyYXJ5Lmdlb3JnZXRvd24uZWR1L3NoaWJi
+b2xldGgwHQYDVR0OBBYEFO1vnaFkb0y5fLvOjUVlqDwIOWphMA0GCSqGSIb3DQEB
+BQUAA4IBAQDBEJbbxyd3IH5Kc6ZPNEJmSNEau5AeTeU3YNv5+I7OhpWbVjxtITTy
++IOnd8s8+1YbcwFJRsPQXc+uboTiVF9B+CHlJQ+mwgUH1ePBVG9PUwaRrX0my88c
+XEQptBIVdUqaNwuBBMQzUr2/UZK6EaStRor/yRrEgZNnPUFWtsW+sCG406gGbcxU
+93RurxLa4Cv0sE+SEFMkQnnmAN7odx6qM/1I1TCQPN0t4JfWjmhj8Iez0lnGMQPh
+NWevYWCdgIDPlYhhvJ9gnHu8JOfFRlZCXpc2p+x7Nsrudb+5Hhs7x93xciVyrttQ
+Iul4vX+c2dQrUz0m7rJ8tdZDwyQvUvwd
+</ds:X509Certificate>
+        </ds:X509Data>
+      </ds:KeyInfo>
+    </md:KeyDescriptor>
+    <md:ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://www.example.org/Shibboleth.sso/Artifact/SOAP" index="0"/>
+    <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://www.example.org/Shibboleth.sso/SLO/SOAP"/>
+    <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://www.example.org/Shibboleth.sso/SLO/Redirect"/>
+    <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.example.org/Shibboleth.sso/SLO/POST"/>
+    <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://www.example.org/Shibboleth.sso/SLO/Artifact"/>
+    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.example.org/Shibboleth.sso/SAML2/POST" index="0"/>
+    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://www.example.org/Shibboleth.sso/SAML2/POST-SimpleSign" index="1"/>
+    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://www.example.org/Shibboleth.sso/SAML2/Artifact" index="2"/>
+    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://www.example.org/Shibboleth.sso/SAML2/ECP" index="3"/>
+    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://www.example.org/Shibboleth.sso/SAML/POST" index="4"/>
+    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://www.example.org/Shibboleth.sso/SAML/Artifact" index="5"/>
+  </md:SPSSODescriptor>
+
+</md:EntityDescriptor>

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


More information about the commits mailing list