[java-shib-shared] branch main updated: Initial refactor of java-shib-shared.

Scott Cantor cantor.2 at osu.edu
Wed Aug 31 13:51:27 UTC 2022


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

scantor pushed a commit to branch main
in repository java-shib-shared.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-shared.git;a=commit;h=1c0ae877ce2ff0a7b5cc2a9d390a1a7adfde5cff

The following commit(s) were added to refs/heads/main by this push:
     new 1c0ae877 Initial refactor of java-shib-shared.
1c0ae877 is described below

commit 1c0ae877ce2ff0a7b5cc2a9d390a1a7adfde5cff
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Aug 31 09:51:24 2022 -0400

    Initial refactor of java-shib-shared.
    
    Moved networking, security, and testing classes to new modules.
    Added BOM.
    Adjusted old modules to use new parent and laid out new dependency mgmt.
---
 pom.xml                                            |  74 ++++++++-
 shib-networking/.check-m2                          |   1 +
 shib-networking/.checkstyle                        |  15 ++
 {shib-support => shib-networking}/.gitattributes   |   0
 shib-networking/.gitignore                         |  21 +++
 shib-networking/pom.xml                            |  90 ++++++++++
 .../shibboleth/utilities/java/support/ddf/DDF.java |   0
 .../utilities/java/support/ddf/DDFSupport.java     |   0
 .../support/ddf/RemotedHttpServletRequest.java     |   0
 .../support/ddf/RemotedHttpServletResponse.java    |   0
 .../utilities/java/support/ddf/package-info.java   |   0
 .../httpclient/ContextHandlingHttpClient.java      |   0
 .../httpclient/FileCachingHttpClientBuilder.java   |   0
 .../java/support/httpclient/HttpClientBuilder.java |   0
 .../httpclient/HttpClientContextHandler.java       |   0
 .../java/support/httpclient/HttpClientSupport.java |   0
 .../support/httpclient/IdleConnectionSweeper.java  |   0
 .../InMemoryCachingHttpClientBuilder.java          |   0
 .../support/httpclient/RequestConnectionClose.java |   0
 .../java/support/httpclient/TLSSocketFactory.java  |   0
 .../httpclient/TLSSocketFactoryBuilder.java        |   0
 .../java/support/httpclient/package-info.java      |   0
 .../java/support/net/CookieBufferingFilter.java    |   0
 .../utilities/java/support/net/CookieManager.java  |   0
 .../support/net/DynamicResponseHeaderFilter.java   |   0
 .../net/HttpServletRequestResponseContext.java     |   0
 .../java/support/net/HttpServletSupport.java       |   0
 .../utilities/java/support/net/IPRange.java        |   0
 .../java/support/net/MediaTypeSupport.java         |   0
 .../support/net/RequestResponseContextFilter.java  |   0
 .../support/net/SameSiteCookieHeaderFilter.java    |   0
 .../java/support/net/SimpleURLCanonicalizer.java   |   0
 .../net/StripMediaTypeParametersFunction.java      |   0
 .../net/ThreadLocalHttpServletRequestProxy.java    |   0
 .../net/ThreadLocalHttpServletRequestSupplier.java |   0
 .../net/ThreadLocalHttpServletResponseProxy.java   |   0
 .../ThreadLocalHttpServletResponseSupplier.java    |   0
 .../utilities/java/support/net/URIComparator.java  |   0
 .../utilities/java/support/net/URIException.java   |   0
 .../utilities/java/support/net/URISupport.java     |   0
 .../utilities/java/support/net/URLBuilder.java     |   0
 .../java/support/net/impl/BasicURLComparator.java  |   0
 .../java/support/net/impl/package-info.java        |   0
 .../utilities/java/support/net/package-info.java   |   0
 .../utilities/java/support/ddf/DDFSupportTest.java |   0
 .../utilities/java/support/ddf/DDFTest.java        |   0
 .../support/ddf/RemotedHttpServletRequestTest.java |   0
 .../ddf/RemotedHttpServletResponseTest.java        |   0
 .../httpclient/ContextHandlingHttpClientTest.java  |   0
 .../FileCachingHttpClientBuilderTest.java          |   0
 .../support/httpclient/HttpClientBuilderTest.java  |   0
 .../support/httpclient/HttpClientSupportTest.java  |   0
 .../httpclient/IdleConectionSweeperTest.java       |   0
 .../InMemoryCachingHttpClientBuilderTest.java      |   0
 .../java/support/net/CookieManagerTest.java        |   0
 .../net/HttpServletRequestResponseContextTest.java |   0
 .../java/support/net/HttpServletSupportTest.java   |   0
 .../utilities/java/support/net/IPRangeTest.java    |   0
 .../java/support/net/MediaTypeSupportTest.java     |   0
 .../net/RequestResponseContextFilterTest.java      |   0
 .../net/SameSiteCookieHeaderFilterTest.java        |   0
 .../support/net/SimpleURLCanonicalizerTest.java    |   0
 .../ThreadLocalHttpServletRequestProxyTest.java    |   0
 .../ThreadLocalHttpServletResponseProxyTest.java   |   0
 .../utilities/java/support/net/URISupportTest.java |   0
 .../utilities/java/support/net/URLBuilderTest.java |   0
 .../utilities/java/support/ddf/empty-name.ddf      |   0
 .../utilities/java/support/ddf/empty-noname.ddf    |   0
 .../utilities/java/support/ddf/float-name.ddf      |   0
 .../utilities/java/support/ddf/int-name.ddf        |   0
 .../utilities/java/support/ddf/long-name.ddf       |   0
 .../utilities/java/support/ddf/string-name.ddf     |   0
 .../utilities/java/support/ddf/struct-complex.ddf  |   0
 .../utilities/java/support/ddf/struct-empty.ddf    |   0
 .../java/support/ddf/unsafestring-name.ddf         |   0
 .../shibboleth/utilities/java/support/ddf/zork.xml |   0
 shib-security/.check-m2                            |   1 +
 shib-security/.checkstyle                          |  15 ++
 shib-security/.gitignore                           |  21 +++
 shib-security/pom.xml                              | 106 ++++++++++++
 .../java/support/security/AccessControl.java       |   0
 .../support/security/AccessControlService.java     |   0
 .../security/BasicKeystoreKeyStrategyTool.java     |   0
 .../support/security/DataExpiredException.java     |   0
 .../java/support/security/DataSealer.java          |   0
 .../java/support/security/DataSealerException.java |   0
 .../support/security/DataSealerKeyStrategy.java    |   0
 .../security/IdentifierGenerationStrategy.java     |   0
 .../support/security/KeyNotFoundException.java     |   0
 .../security/SelfSignedCertificateGenerator.java   |   0
 .../security/impl/BasicAccessControlService.java   |   0
 .../security/impl/BasicKeystoreKeyStrategy.java    |   0
 .../impl/DelegatingAccessControlService.java       |   0
 .../FixedStringIdentifierGenerationStrategy.java   |   0
 .../security/impl/IPRangeAccessControl.java        |   0
 .../impl/RandomIdentifierGenerationStrategy.java   |   0
 .../support/security/impl/ScriptedKeyStrategy.java |   0
 .../SecureRandomIdentifierGenerationStrategy.java  |   0
 .../Type4UUIDIdentifierGenerationStrategy.java     |   0
 .../java/support/security/impl/package-info.java   |   0
 .../java/support/security/package-info.java        |   0
 .../java/support/security/DataSealerTest.java      |   1 -
 ...ixedStringIdentifierGenerationStrategyTest.java |   0
 .../RandomIdentifierGenerationStrategyTest.java    |   0
 ...cureRandomIdentifierGenerationStrategyTest.java |   0
 .../support/security}/TestResourceConverter.java   |   2 +-
 .../Type4UUIDIdentifierGenerationStrategyTest.java |   0
 .../impl/BasicKeystoreKeyStrategyTest.java         |   2 +-
 .../security/impl/ScriptedKeyStrategyTest.java     |   0
 .../java/support/security/SealerKeyStore.jks       | Bin
 .../java/support/security/SealerKeyStore.kver      |   0
 .../java/support/security/SealerKeyStore.kver2     |   0
 .../java/support/security/keyStrategyScript.js     |   0
 shib-shared-bom/pom.xml                            |  42 +++++
 shib-spring/pom.xml                                | 104 ++++--------
 .../spring/resource/ConditionalResourceTest.java   |   4 +-
 .../resource/FileBackedHTTPResourceTest.java       |   2 +-
 .../ext/spring/resource/HTTPResourceTest.java      |   2 +-
 .../ext/spring/testing/package-info.java           |  22 ---
 shib-support/pom.xml                               | 145 ++++------------
 .../java/support/xml/SchemaBuilderTest.java        |   7 +-
 shib-testing/.check-m2                             |   1 +
 shib-testing/.checkstyle                           |  15 ++
 shib-testing/.gitignore                            |  21 +++
 shib-testing/pom.xml                               |  74 +++++++++
 .../support/testing/DatabaseTestingSupport.java    |  12 ++
 .../support}/testing/MockApplicationContext.java   | 183 ++++++++-------------
 .../support/testing}/MockReloadableService.java    |   7 +-
 .../java/support/testing}/RepositorySupport.java   |   2 +-
 .../java/support}/testing/ResourceTestHelper.java  |   2 +-
 .../support/testing/ShowAutomaticModuleNames.java  |   0
 .../java/support/testing/TestSupport.java          |   0
 .../java/support/testing}/VelocityEngine.java      |   2 +-
 .../java/support/testing/package-info.java         |   0
 .../support/testing}/RepositorySupportTest.java    |   4 +-
 .../java/support/testing/TestSupportTest.java      |   0
 136 files changed, 655 insertions(+), 345 deletions(-)

diff --git a/pom.xml b/pom.xml
index c27fa2e8..a7682c1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,17 +19,23 @@
     </description>
 
     <groupId>net.shibboleth.shared</groupId>
-    <artifactId>shib-shared</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
+    <artifactId>shib-shared-parent</artifactId>
+    <version>9.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <modules>
+        <module>shib-shared-bom</module>
         <module>shib-support</module>
         <module>shib-spring</module>
+        <module>shib-networking</module>
+        <module>shib-security</module>
+        <module>shib-testing</module>
     </modules>
 
     <properties>
         <checkstyle.configLocation>${project.basedir}/resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
+        <shared-parent.site.url>${shibboleth.site.deploy.url}java-shib-shared/${project.version}/</shared-parent.site.url>
+        <shared-module.site.url>${shared-parent.site.url}${project.artifactId}</shared-module.site.url>
     </properties>
 
     <repositories>
@@ -49,10 +55,74 @@
         </repository>
     </repositories>
 
+    <dependencies>
+    <!-- This file should contain NO additional dependencies unless they truly apply to every "every module. See IDP-1620. -->
+        <dependency>
+            <groupId>${slf4j.groupId}</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.code.findbugs</groupId>
+            <artifactId>jsr305</artifactId>
+        </dependency>
+
+        <!-- Provided Dependencies -->
+
+        <!-- Runtime Dependencies -->
+
+        <!-- Test Dependencies -->
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <scope>test</scope>
+        </dependency>        
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <!-- Compile Dependencies -->
+        
+            <!-- Provided Dependencies -->
+            
+            <!-- Runtime Dependencies -->
+            
+            <!-- Test Dependencies -->
+        </dependencies>
+    </dependencyManagement>
+
     <scm>
         <connection>${shibboleth.scm.connection}java-shib-shared</connection>
         <developerConnection>${shibboleth.scm.developerConnection}java-shib-shared</developerConnection>
         <url>${shibboleth.scm.url}java-shib-shared.git</url>
     </scm>
 
+    <distributionManagement>
+        <site>
+            <id>site</id>
+            <url>scp:${idp-parent.site.url}</url>
+        </site>
+    </distributionManagement>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <Automatic-Module-Name>${automatic.module.name}</Automatic-Module-Name>
+                            <Sealed>true</Sealed>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+             </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/shib-networking/.check-m2 b/shib-networking/.check-m2
new file mode 100644
index 00000000..048849a0
--- /dev/null
+++ b/shib-networking/.check-m2
@@ -0,0 +1 @@
+This file provokes a signature check of the maven repository unless overridden by the no-check-m2 property.
\ No newline at end of file
diff --git a/shib-networking/.checkstyle b/shib-networking/.checkstyle
new file mode 100644
index 00000000..186d7f35
--- /dev/null
+++ b/shib-networking/.checkstyle
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+
+    <local-check-config name="Shibboleth Checkstyle" location="/java-shib-shared/resources/checkstyle/checkstyle.xml" type="project" description="">
+        <additional-data name="cache-file" value="true"/>
+        <additional-data name="cache-props-file-location" value="null_1312636288299_cache.properties"/>
+        <additional-data name="cache-file-location" value="null_1312636288299_cache.xml"/>
+    </local-check-config>
+  
+    <fileset name="main source" enabled="true" check-config-name="Shibboleth Checkstyle" local="true">
+        <file-match-pattern match-pattern="src/main/java/.*\.java$" include-pattern="true"/>
+    </fileset>
+  
+</fileset-config>
diff --git a/shib-support/.gitattributes b/shib-networking/.gitattributes
similarity index 100%
rename from shib-support/.gitattributes
rename to shib-networking/.gitattributes
diff --git a/shib-networking/.gitignore b/shib-networking/.gitignore
new file mode 100644
index 00000000..d8e6f876
--- /dev/null
+++ b/shib-networking/.gitignore
@@ -0,0 +1,21 @@
+# A simulation of Subversion default ignores, generated by reposurgeon.
+*.o
+*.lo
+*.la
+*.al
+*.libs
+*.so
+*.so.[0-9]*
+*.a
+*.pyc
+*.pyo
+*.rej
+*.iml
+*~
+*.#*
+.*.swp
+.DS_store
+# Simulated Subversion default ignores end here
+# The contents of the svn:ignore property on the branch root.
+/test-output
+/target
diff --git a/shib-networking/pom.xml b/shib-networking/pom.xml
new file mode 100644
index 00000000..c23fcc90
--- /dev/null
+++ b/shib-networking/pom.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>net.shibboleth.shared</groupId>
+        <artifactId>shib-shared-parent</artifactId>
+        <version>9.0.0-SNAPSHOT</version>
+    </parent>
+
+    <name>Shibboleth Shared :: Networking Support</name>
+    <artifactId>shib-networking</artifactId>
+    <packaging>jar</packaging>
+
+    <properties>
+        <automatic.module.name>net.shibboleth.shared.networking</automatic.module.name>
+        <checkstyle.configLocation>${project.basedir}/../resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
+    </properties>
+
+    <dependencies>
+        <!-- Compile Dependencies -->
+        <dependency>
+            <groupId>net.shibboleth.utilities</groupId>
+            <artifactId>java-support</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient-cache</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore</artifactId>
+        </dependency>
+
+        <!-- Provided Dependencies -->
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <!-- Runtime Dependencies -->
+
+        <!-- Test Dependencies -->
+        <dependency>
+            <groupId>org.openjdk.nashorn</groupId>
+            <artifactId>nashorn-core</artifactId>
+            <version>${nashorn.jdk.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-web</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <scm>
+        <connection>${shibboleth.scm.connection}java-shib-shared</connection>
+        <developerConnection>${shibboleth.scm.developerConnection}java-shib-shared</developerConnection>
+        <url>${shibboleth.scm.url}java-shib-shared.git</url>
+    </scm>
+
+    <distributionManagement>
+        <site>
+            <id>site</id>
+            <url>scp:${shared-module.site.url}</url>
+        </site>
+    </distributionManagement>
+
+</project>
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/DDF.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/DDF.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/DDF.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/DDF.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/DDFSupport.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/DDFSupport.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/DDFSupport.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/DDFSupport.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequest.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequest.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequest.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequest.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponse.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponse.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponse.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponse.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/package-info.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/package-info.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/ddf/package-info.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/ddf/package-info.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClient.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClient.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClient.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClient.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilder.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilder.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilder.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilder.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilder.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilder.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilder.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilder.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientContextHandler.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientContextHandler.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientContextHandler.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientContextHandler.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/IdleConnectionSweeper.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/IdleConnectionSweeper.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/IdleConnectionSweeper.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/IdleConnectionSweeper.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilder.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilder.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilder.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilder.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/RequestConnectionClose.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/RequestConnectionClose.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/RequestConnectionClose.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/RequestConnectionClose.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactory.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactory.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactory.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactory.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactoryBuilder.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactoryBuilder.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactoryBuilder.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/TLSSocketFactoryBuilder.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/package-info.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/package-info.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/httpclient/package-info.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/package-info.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/CookieBufferingFilter.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/CookieBufferingFilter.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/CookieBufferingFilter.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/CookieBufferingFilter.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContext.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContext.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContext.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContext.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletSupport.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletSupport.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletSupport.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/HttpServletSupport.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/IPRange.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/IPRange.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/IPRange.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/IPRange.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/MediaTypeSupport.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/MediaTypeSupport.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/MediaTypeSupport.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/MediaTypeSupport.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilter.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilter.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilter.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilter.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizer.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizer.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizer.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizer.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/StripMediaTypeParametersFunction.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/StripMediaTypeParametersFunction.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/StripMediaTypeParametersFunction.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/StripMediaTypeParametersFunction.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxy.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxy.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestSupplier.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestSupplier.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestSupplier.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestSupplier.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxy.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxy.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseSupplier.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseSupplier.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseSupplier.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseSupplier.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URIComparator.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URIComparator.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URIComparator.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URIComparator.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URIException.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URIException.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URIException.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URIException.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URISupport.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URISupport.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URISupport.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URISupport.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URLBuilder.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URLBuilder.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/URLBuilder.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/URLBuilder.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/impl/BasicURLComparator.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/impl/BasicURLComparator.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/impl/BasicURLComparator.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/impl/BasicURLComparator.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/impl/package-info.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/impl/package-info.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/impl/package-info.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/impl/package-info.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/net/package-info.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/package-info.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/net/package-info.java
rename to shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/package-info.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFSupportTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFSupportTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFSupportTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFSupportTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/DDFTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequestTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequestTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequestTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletRequestTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponseTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponseTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponseTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/ddf/RemotedHttpServletResponseTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClientTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClientTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClientTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/ContextHandlingHttpClientTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilderTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilderTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilderTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/FileCachingHttpClientBuilderTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilderTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilderTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilderTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientBuilderTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupportTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupportTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupportTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupportTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/IdleConectionSweeperTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/IdleConectionSweeperTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/IdleConectionSweeperTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/IdleConectionSweeperTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilderTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilderTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilderTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/httpclient/InMemoryCachingHttpClientBuilderTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContextTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContextTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContextTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletRequestResponseContextTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletSupportTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletSupportTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletSupportTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/HttpServletSupportTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/IPRangeTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/IPRangeTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/IPRangeTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/IPRangeTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/MediaTypeSupportTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/MediaTypeSupportTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/MediaTypeSupportTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/MediaTypeSupportTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilterTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilterTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilterTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/RequestResponseContextFilterTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilterTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilterTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilterTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilterTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizerTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizerTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizerTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/SimpleURLCanonicalizerTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxyTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxyTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletRequestProxyTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxyTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxyTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/ThreadLocalHttpServletResponseProxyTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/URISupportTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/URISupportTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/URISupportTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/URISupportTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/net/URLBuilderTest.java b/shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/URLBuilderTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/net/URLBuilderTest.java
rename to shib-networking/src/test/java/net/shibboleth/utilities/java/support/net/URLBuilderTest.java
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-name.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-name.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-name.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-name.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-noname.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-noname.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-noname.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/empty-noname.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/float-name.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/float-name.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/float-name.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/float-name.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/int-name.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/int-name.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/int-name.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/int-name.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/long-name.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/long-name.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/long-name.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/long-name.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/string-name.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/string-name.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/string-name.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/string-name.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-complex.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-complex.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-complex.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-complex.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-empty.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-empty.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-empty.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/struct-empty.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/unsafestring-name.ddf b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/unsafestring-name.ddf
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/unsafestring-name.ddf
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/unsafestring-name.ddf
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/zork.xml b/shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/zork.xml
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/ddf/zork.xml
rename to shib-networking/src/test/resources/net/shibboleth/utilities/java/support/ddf/zork.xml
diff --git a/shib-security/.check-m2 b/shib-security/.check-m2
new file mode 100644
index 00000000..048849a0
--- /dev/null
+++ b/shib-security/.check-m2
@@ -0,0 +1 @@
+This file provokes a signature check of the maven repository unless overridden by the no-check-m2 property.
\ No newline at end of file
diff --git a/shib-security/.checkstyle b/shib-security/.checkstyle
new file mode 100644
index 00000000..186d7f35
--- /dev/null
+++ b/shib-security/.checkstyle
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+
+    <local-check-config name="Shibboleth Checkstyle" location="/java-shib-shared/resources/checkstyle/checkstyle.xml" type="project" description="">
+        <additional-data name="cache-file" value="true"/>
+        <additional-data name="cache-props-file-location" value="null_1312636288299_cache.properties"/>
+        <additional-data name="cache-file-location" value="null_1312636288299_cache.xml"/>
+    </local-check-config>
+  
+    <fileset name="main source" enabled="true" check-config-name="Shibboleth Checkstyle" local="true">
+        <file-match-pattern match-pattern="src/main/java/.*\.java$" include-pattern="true"/>
+    </fileset>
+  
+</fileset-config>
diff --git a/shib-security/.gitignore b/shib-security/.gitignore
new file mode 100644
index 00000000..d8e6f876
--- /dev/null
+++ b/shib-security/.gitignore
@@ -0,0 +1,21 @@
+# A simulation of Subversion default ignores, generated by reposurgeon.
+*.o
+*.lo
+*.la
+*.al
+*.libs
+*.so
+*.so.[0-9]*
+*.a
+*.pyc
+*.pyo
+*.rej
+*.iml
+*~
+*.#*
+.*.swp
+.DS_store
+# Simulated Subversion default ignores end here
+# The contents of the svn:ignore property on the branch root.
+/test-output
+/target
diff --git a/shib-security/pom.xml b/shib-security/pom.xml
new file mode 100644
index 00000000..9336308f
--- /dev/null
+++ b/shib-security/pom.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>net.shibboleth.shared</groupId>
+        <artifactId>shib-shared-parent</artifactId>
+        <version>9.0.0-SNAPSHOT</version>
+    </parent>
+
+    <name>Shibboleth Shared :: Security Support</name>
+    <artifactId>shib-security</artifactId>
+    <packaging>jar</packaging>
+
+    <properties>
+        <automatic.module.name>net.shibboleth.shared.security</automatic.module.name>
+        <checkstyle.configLocation>${project.basedir}/../resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
+    </properties>
+
+    <dependencies>
+        <!-- Compile Dependencies -->
+        <dependency>
+            <groupId>net.shibboleth.utilities</groupId>
+            <artifactId>java-support</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>shib-networking</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.beust</groupId>
+            <artifactId>jcommander</artifactId>
+        </dependency>
+        <dependency>
+            <!--  Required if you're using classes from the security package. -->
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+        </dependency>
+        <dependency>
+            <!--  Required if you're using classes from the security package. -->
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcpkix-jdk15on</artifactId>
+        </dependency>
+
+        <!-- Provided Dependencies -->
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <!-- Runtime Dependencies -->
+
+        <!-- Test Dependencies -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>shib-testing</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.openjdk.nashorn</groupId>
+            <artifactId>nashorn-core</artifactId>
+            <version>${nashorn.jdk.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-web</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <scm>
+        <connection>${shibboleth.scm.connection}java-shib-shared</connection>
+        <developerConnection>${shibboleth.scm.developerConnection}java-shib-shared</developerConnection>
+        <url>${shibboleth.scm.url}java-shib-shared.git</url>
+    </scm>
+
+    <distributionManagement>
+        <site>
+            <id>site</id>
+            <url>scp:${shared-module.site.url}</url>
+        </site>
+    </distributionManagement>
+
+
+</project>
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/AccessControl.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/AccessControl.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/AccessControl.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/AccessControl.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/AccessControlService.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/AccessControlService.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/AccessControlService.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/AccessControlService.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/BasicKeystoreKeyStrategyTool.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/BasicKeystoreKeyStrategyTool.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/BasicKeystoreKeyStrategyTool.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/BasicKeystoreKeyStrategyTool.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataExpiredException.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataExpiredException.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataExpiredException.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataExpiredException.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerException.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerException.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerException.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerException.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerKeyStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerKeyStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerKeyStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/DataSealerKeyStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/IdentifierGenerationStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/KeyNotFoundException.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/KeyNotFoundException.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/KeyNotFoundException.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/KeyNotFoundException.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicAccessControlService.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicAccessControlService.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicAccessControlService.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicAccessControlService.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/DelegatingAccessControlService.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/DelegatingAccessControlService.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/DelegatingAccessControlService.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/DelegatingAccessControlService.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/FixedStringIdentifierGenerationStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/FixedStringIdentifierGenerationStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/FixedStringIdentifierGenerationStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/FixedStringIdentifierGenerationStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/IPRangeAccessControl.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/IPRangeAccessControl.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/IPRangeAccessControl.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/IPRangeAccessControl.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/RandomIdentifierGenerationStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/RandomIdentifierGenerationStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/RandomIdentifierGenerationStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/RandomIdentifierGenerationStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/SecureRandomIdentifierGenerationStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/SecureRandomIdentifierGenerationStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/SecureRandomIdentifierGenerationStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/SecureRandomIdentifierGenerationStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/Type4UUIDIdentifierGenerationStrategy.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/Type4UUIDIdentifierGenerationStrategy.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/Type4UUIDIdentifierGenerationStrategy.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/Type4UUIDIdentifierGenerationStrategy.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/package-info.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/package-info.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/impl/package-info.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/impl/package-info.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/security/package-info.java b/shib-security/src/main/java/net/shibboleth/utilities/java/support/security/package-info.java
similarity index 100%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/security/package-info.java
rename to shib-security/src/main/java/net/shibboleth/utilities/java/support/security/package-info.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java
similarity index 99%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java
index 34eed57f..0b35de04 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java
+++ b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java
@@ -22,7 +22,6 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
 import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
 import net.shibboleth.utilities.java.support.resource.Resource;
 import net.shibboleth.utilities.java.support.security.impl.BasicKeystoreKeyStrategy;
-import net.shibboleth.utilities.java.support.test.resource.TestResourceConverter;
 
 import java.time.Duration;
 import java.time.Instant;
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/FixedStringIdentifierGenerationStrategyTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/FixedStringIdentifierGenerationStrategyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/FixedStringIdentifierGenerationStrategyTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/FixedStringIdentifierGenerationStrategyTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategyTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategyTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/RandomIdentifierGenerationStrategyTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/SecureRandomIdentifierGenerationStrategyTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/SecureRandomIdentifierGenerationStrategyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/SecureRandomIdentifierGenerationStrategyTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/SecureRandomIdentifierGenerationStrategyTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/resource/TestResourceConverter.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/TestResourceConverter.java
similarity index 98%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/test/resource/TestResourceConverter.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/TestResourceConverter.java
index ab8b9c98..6a22b7af 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/resource/TestResourceConverter.java
+++ b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/TestResourceConverter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.utilities.java.support.test.resource;
+package net.shibboleth.utilities.java.support.security;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategyTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategyTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/Type4UUIDIdentifierGenerationStrategyTest.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategyTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategyTest.java
similarity index 97%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategyTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategyTest.java
index 987f475b..7ce88600 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategyTest.java
+++ b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/impl/BasicKeystoreKeyStrategyTest.java
@@ -22,8 +22,8 @@ import java.security.KeyException;
 import java.time.Duration;
 
 import net.shibboleth.utilities.java.support.security.BasicKeystoreKeyStrategyTool;
+import net.shibboleth.utilities.java.support.security.TestResourceConverter;
 import net.shibboleth.utilities.java.support.security.impl.BasicKeystoreKeyStrategy;
-import net.shibboleth.utilities.java.support.test.resource.TestResourceConverter;
 
 import org.springframework.core.io.FileSystemResource;
 import org.testng.Assert;
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategyTest.java b/shib-security/src/test/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategyTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategyTest.java
rename to shib-security/src/test/java/net/shibboleth/utilities/java/support/security/impl/ScriptedKeyStrategyTest.java
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.jks b/shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.jks
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.jks
rename to shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.jks
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver b/shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver
rename to shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver2 b/shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver2
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver2
rename to shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/SealerKeyStore.kver2
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/keyStrategyScript.js b/shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/keyStrategyScript.js
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/security/keyStrategyScript.js
rename to shib-security/src/test/resources/net/shibboleth/utilities/java/support/security/keyStrategyScript.js
diff --git a/shib-shared-bom/pom.xml b/shib-shared-bom/pom.xml
new file mode 100644
index 00000000..41562f8a
--- /dev/null
+++ b/shib-shared-bom/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>net.shibboleth.shared</groupId>
+        <artifactId>shib-shared-parent</artifactId>
+        <version>9.0.0-SNAPSHOT</version>
+    </parent>
+
+    <name>Shibboleth Shared Components :: BOM</name>
+    <description>Bill of Materials</description>
+    <artifactId>shib-shared-bom</artifactId>
+    <packaging>pom</packaging>
+    
+    <!-- TODO: Add renamed java-support and spring-exts when ready. -->
+    
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>shib-security</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>shib-networking</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>shib-testing</artifactId>
+                <version>${project.version}</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+</project>
diff --git a/shib-spring/pom.xml b/shib-spring/pom.xml
index b3643478..baef8bc8 100644
--- a/shib-spring/pom.xml
+++ b/shib-spring/pom.xml
@@ -5,18 +5,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>net.shibboleth</groupId>
-        <artifactId>parent</artifactId>
-        <version>17.0.0-SNAPSHOT</version>
+        <groupId>net.shibboleth.shared</groupId>
+        <artifactId>shib-shared-parent</artifactId>
+        <version>9.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>net.shibboleth.ext</groupId>
     <artifactId>spring-extensions</artifactId>
-    <!-- If you change the version you *MUST* provoke a jenkins 'site'
-         build (to populate the javadoc, which is consumed by the
-         Jenkins 'nightly' builds).
-    -->
-    <version>7.0.0-SNAPSHOT</version>
 
     <name>Spring Framework Extension</name>
     <description>
@@ -26,38 +21,12 @@
 
     <properties>
         <automatic.module.name>net.shibboleth.ext.spring</automatic.module.name>
-        <java-support.version>9.0.0-SNAPSHOT</java-support.version>
         <shibboleth.site.deploy.url>//shibboleth.net/home/javasites/staging/</shibboleth.site.deploy.url>
         <checkstyle.configLocation>${project.basedir}/../resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
     </properties>
 
-    <repositories>
-        <repository>
-            <id>shib-release</id>
-            <url>https://build.shibboleth.net/nexus/content/groups/public</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-        <repository>
-            <id>shib-snapshot</id>
-            <url>https://build.shibboleth.net/nexus/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-    </repositories>
-
     <dependencies>
         <!-- Compile dependencies -->
-        <dependency>
-            <groupId>${slf4j.groupId}</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
@@ -68,11 +37,28 @@
             <artifactId>httpclient</artifactId>
         </dependency>
         <dependency>
-            <!-- Required if you're using anything in the httpclient package -->
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-cache</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>net.shibboleth.shared</groupId>
+            <artifactId>shib-security</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.shibboleth.shared</groupId>
+            <artifactId>shib-networking</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.shibboleth.utilities</groupId>
+            <artifactId>java-support</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
         <dependency>
             <groupId>org.cryptacular</groupId>
             <artifactId>cryptacular</artifactId>
@@ -85,13 +71,6 @@
             <artifactId>bcprov-jdk15on</artifactId>
             <optional>true</optional>
         </dependency>
-        <dependency>
-            <groupId>net.shibboleth.utilities</groupId>
-            <artifactId>java-support</artifactId>
-            <version>${java-support.version}</version>
-            <!-- Required for the DomDocumentFactoryBean and Duration conversion classes. -->
-            <optional>true</optional>
-        </dependency>
         <dependency>
             <groupId>com.beust</groupId>
             <artifactId>jcommander</artifactId>
@@ -156,8 +135,9 @@
 
         <!-- Test dependencies -->
         <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
+            <groupId>net.shibboleth.shared</groupId>
+            <artifactId>shib-testing</artifactId>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         
@@ -167,17 +147,9 @@
           <scope>test</scope>
         </dependency>
 
-        <dependency>
-            <groupId>net.shibboleth.utilities</groupId>
-            <artifactId>java-support</artifactId>
-            <version>${java-support.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
     </dependencies>
 
-        <profiles>
+    <profiles>
         <!--
             Pull in a Javascript engine for testing in Java
             versions where the JDK doesn't provide one.
@@ -198,34 +170,16 @@
         </profile>
     </profiles>
 
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Automatic-Module-Name>${automatic.module.name}</Automatic-Module-Name>
-                            <Sealed>true</Sealed>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-             </plugin>
-        </plugins>
-    </build>
-
     <scm>
-        <connection>${shibboleth.scm.connection}${project.artifactId}</connection>
-        <developerConnection>${shibboleth.scm.developerConnection}${project.artifactId}</developerConnection>
-        <url>${shibboleth.scm.url}${project.artifactId}.git</url>
+        <connection>scm:git:https://git.shibboleth.net/git/${project.artifactId}</connection>
+        <developerConnection>scm:git:git at git.shibboleth.net:${project.artifactId}</developerConnection>
+        <url>https://git.shibboleth.net/view/?p=${project.artifactId}.git</url>
     </scm>
 
     <distributionManagement>
         <site>
             <id>site</id>
-            <url>scp:${shibboleth.site.deploy.url}${project.artifactId}/${project.version}/</url>
+            <url>scp:${shared-module.site.url}</url>
         </site>
     </distributionManagement>
 
diff --git a/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/ConditionalResourceTest.java b/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/ConditionalResourceTest.java
index 992ab330..51b26115 100644
--- a/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/ConditionalResourceTest.java
+++ b/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/ConditionalResourceTest.java
@@ -19,12 +19,12 @@ package net.shibboleth.ext.spring.resource;
 
 import java.io.IOException;
 
-import net.shibboleth.ext.spring.testing.ResourceTestHelper;
 import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.httpclient.HttpClientBuilder;
 import net.shibboleth.utilities.java.support.httpclient.HttpClientContextHandler;
-import net.shibboleth.utilities.java.support.test.repository.RepositorySupport;
+import net.shibboleth.utilities.java.support.testing.RepositorySupport;
+import net.shibboleth.utilities.java.support.testing.ResourceTestHelper;
 
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpUriRequest;
diff --git a/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/FileBackedHTTPResourceTest.java b/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/FileBackedHTTPResourceTest.java
index 7df97e6a..ba8899e5 100644
--- a/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/FileBackedHTTPResourceTest.java
+++ b/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/FileBackedHTTPResourceTest.java
@@ -21,9 +21,9 @@ import java.io.File;
 import java.io.IOException;
 
 import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
-import net.shibboleth.ext.spring.testing.ResourceTestHelper;
 import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
 import net.shibboleth.utilities.java.support.httpclient.HttpClientBuilder;
+import net.shibboleth.utilities.java.support.testing.ResourceTestHelper;
 
 import org.apache.http.client.HttpClient;
 import org.springframework.context.support.GenericApplicationContext;
diff --git a/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java b/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java
index 1f62aded..98134b97 100644
--- a/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java
+++ b/shib-spring/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java
@@ -36,11 +36,11 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-import net.shibboleth.ext.spring.testing.ResourceTestHelper;
 import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
 import net.shibboleth.utilities.java.support.httpclient.HttpClientBuilder;
 import net.shibboleth.utilities.java.support.httpclient.HttpClientContextHandler;
 import net.shibboleth.utilities.java.support.httpclient.InMemoryCachingHttpClientBuilder;
+import net.shibboleth.utilities.java.support.testing.ResourceTestHelper;
 
 /**
  * Test for HTTPResource.
diff --git a/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/package-info.java b/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/package-info.java
deleted file mode 100644
index 0b003012..00000000
--- a/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Shared test classes with other modules.
- */
-
-package net.shibboleth.ext.spring.testing;
\ No newline at end of file
diff --git a/shib-support/pom.xml b/shib-support/pom.xml
index 91499fc8..08d6a564 100644
--- a/shib-support/pom.xml
+++ b/shib-support/pom.xml
@@ -5,19 +5,14 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>net.shibboleth</groupId>
-        <artifactId>parent</artifactId>
-        <version>17.0.0-SNAPSHOT</version>
+        <groupId>net.shibboleth.shared</groupId>
+        <artifactId>shib-shared-parent</artifactId>
+        <version>9.0.0-SNAPSHOT</version>
     </parent>
 
     <name>java-support</name>
     <groupId>net.shibboleth.utilities</groupId>
     <artifactId>java-support</artifactId>
-    <!-- If you change the version you *MUST* provoke a jenkins 'site'
-         build (to populate the javadoc, which is consumed by the
-         Jenkins 'nightly' builds).
-    -->
-    <version>9.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -25,43 +20,12 @@
         <checkstyle.configLocation>${project.basedir}/../resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
     </properties>
 
-    <repositories>
-        <repository>
-            <id>shib-release</id>
-            <url>https://build.shibboleth.net/nexus/content/groups/public</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-        <repository>
-            <id>shib-snapshot</id>
-            <url>https://build.shibboleth.net/nexus/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-    </repositories>
-
-    <scm>
-        <connection>scm:git:https://git.shibboleth.net/git/${project.artifactId}</connection>
-        <developerConnection>scm:git:git at git.shibboleth.net:${project.artifactId}</developerConnection>
-        <url>https://git.shibboleth.net/view/?p=${project.artifactId}.git</url>
-    </scm>
-
     <dependencies>
         <!-- Compile Dependencies -->
-        <dependency>
-            <groupId>${slf4j.groupId}</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
@@ -82,48 +46,12 @@
             <scope>compile</scope><!-- normally runtime -->
             <optional>true</optional>
         </dependency>
-        <dependency>
-            <!-- Required if you're using anything in the httpclient package -->
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <!-- Required if you're using anything in the httpclient package -->
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient-cache</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <!-- Required if you're using anything in the httpclient package -->
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <!-- Required if using classes with command line support. -->
-            <groupId>com.beust</groupId>
-            <artifactId>jcommander</artifactId>
-            <optional>true</optional>
-        </dependency>
         <dependency>
             <!-- Required if you're using classes from the velocity package -->
             <groupId>org.apache.velocity</groupId>
             <artifactId>velocity-engine-core</artifactId>
             <optional>true</optional>
         </dependency>
-        <dependency>
-            <!--  Required if you're using classes from the security package. -->
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <!--  Required if you're using classes from the security package. -->
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcpkix-jdk15on</artifactId>
-            <optional>true</optional>
-        </dependency>
         <dependency>
             <!-- Required if using the metrics service class. -->
             <groupId>io.dropwizard.metrics</groupId>
@@ -132,26 +60,10 @@
         </dependency>
 
         <!-- Provided Dependencies -->
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
 
         <!-- Runtime Dependencies -->
 
         <!-- Test Dependencies -->
-        <dependency>
-            <groupId>org.openjdk.nashorn</groupId>
-            <artifactId>nashorn-core</artifactId>
-            <version>${nashorn.jdk.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <scope>test</scope>
-        </dependency>
         <dependency>
             <groupId>${spring.groupId}</groupId>
             <artifactId>spring-core</artifactId>
@@ -167,36 +79,41 @@
             <artifactId>spring-web</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.hsqldb</groupId>
-            <artifactId>hsqldb</artifactId>
-            <scope>test</scope>
-        </dependency>
 
     </dependencies>
 
+    <profiles>
+        <!--
+            Pull in a Javascript engine for testing in Java
+            versions where the JDK doesn't provide one.
+        -->
+        <profile>
+            <id>get-nashorn</id>
+            <activation>
+                <jdk>[15,</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.openjdk.nashorn</groupId>
+                    <artifactId>nashorn-core</artifactId>
+                    <version>${nashorn.jdk.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+
+    <scm>
+        <connection>scm:git:https://git.shibboleth.net/git/${project.artifactId}</connection>
+        <developerConnection>scm:git:git at git.shibboleth.net:${project.artifactId}</developerConnection>
+        <url>https://git.shibboleth.net/view/?p=${project.artifactId}.git</url>
+    </scm>
+
     <distributionManagement>
         <site>
             <id>site</id>
-            <url>scp:${shibboleth.site.deploy.url}${project.artifactId}/${project.version}/</url>
+            <url>scp:${shared-module.site.url}</url>
         </site>
     </distributionManagement>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Automatic-Module-Name>${automatic.module.name}</Automatic-Module-Name>
-                            <Sealed>true</Sealed>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-             </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/xml/SchemaBuilderTest.java b/shib-support/src/test/java/net/shibboleth/utilities/java/support/xml/SchemaBuilderTest.java
index 272b028d..46df4825 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/xml/SchemaBuilderTest.java
+++ b/shib-support/src/test/java/net/shibboleth/utilities/java/support/xml/SchemaBuilderTest.java
@@ -25,7 +25,6 @@ import javax.xml.validation.Schema;
 import javax.xml.validation.Validator;
 
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.test.resource.TestResourceConverter;
 
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
@@ -107,7 +106,10 @@ public class SchemaBuilderTest {
         }
         Assert.assertTrue(thrown, "Should fail to validate");
     }
-    
+
+    /*
+     * May re-enable if cycle dependency resolved.
+     * 
     @Test public void testResource() throws SAXException, IOException, ComponentInitializationException {
         net.shibboleth.utilities.java.support.resource.Resource first = TestResourceConverter.of(new ClassPathResource(TEST_DIR + FIRST_SCHEMA_FILE));
         net.shibboleth.utilities.java.support.resource.Resource second = TestResourceConverter.of(new ClassPathResource(TEST_DIR + SECOND_SCHEMA_FILE));
@@ -129,5 +131,6 @@ public class SchemaBuilderTest {
         }
         Assert.assertTrue(thrown, "Should fail to validate");
     }
+    */
 
 }
\ No newline at end of file
diff --git a/shib-testing/.check-m2 b/shib-testing/.check-m2
new file mode 100644
index 00000000..048849a0
--- /dev/null
+++ b/shib-testing/.check-m2
@@ -0,0 +1 @@
+This file provokes a signature check of the maven repository unless overridden by the no-check-m2 property.
\ No newline at end of file
diff --git a/shib-testing/.checkstyle b/shib-testing/.checkstyle
new file mode 100644
index 00000000..186d7f35
--- /dev/null
+++ b/shib-testing/.checkstyle
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+
+    <local-check-config name="Shibboleth Checkstyle" location="/java-shib-shared/resources/checkstyle/checkstyle.xml" type="project" description="">
+        <additional-data name="cache-file" value="true"/>
+        <additional-data name="cache-props-file-location" value="null_1312636288299_cache.properties"/>
+        <additional-data name="cache-file-location" value="null_1312636288299_cache.xml"/>
+    </local-check-config>
+  
+    <fileset name="main source" enabled="true" check-config-name="Shibboleth Checkstyle" local="true">
+        <file-match-pattern match-pattern="src/main/java/.*\.java$" include-pattern="true"/>
+    </fileset>
+  
+</fileset-config>
diff --git a/shib-testing/.gitignore b/shib-testing/.gitignore
new file mode 100644
index 00000000..d8e6f876
--- /dev/null
+++ b/shib-testing/.gitignore
@@ -0,0 +1,21 @@
+# A simulation of Subversion default ignores, generated by reposurgeon.
+*.o
+*.lo
+*.la
+*.al
+*.libs
+*.so
+*.so.[0-9]*
+*.a
+*.pyc
+*.pyo
+*.rej
+*.iml
+*~
+*.#*
+.*.swp
+.DS_store
+# Simulated Subversion default ignores end here
+# The contents of the svn:ignore property on the branch root.
+/test-output
+/target
diff --git a/shib-testing/pom.xml b/shib-testing/pom.xml
new file mode 100644
index 00000000..0da90c2a
--- /dev/null
+++ b/shib-testing/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>net.shibboleth.shared</groupId>
+        <artifactId>shib-shared-parent</artifactId>
+        <version>9.0.0-SNAPSHOT</version>
+    </parent>
+
+    <name>Shibboleth Shared :: Testing Support</name>
+    <artifactId>shib-testing</artifactId>
+    <packaging>jar</packaging>
+
+    <properties>
+        <automatic.module.name>net.shibboleth.shared.testing</automatic.module.name>
+        <checkstyle.configLocation>${project.basedir}/../resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
+    </properties>
+
+    <dependencies>
+        <!-- Compile Dependencies -->
+        <dependency>
+            <groupId>net.shibboleth.utilities</groupId>
+            <artifactId>java-support</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <!-- Normally test scope. -->
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>${spring.groupId}</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+        </dependency>
+
+        <!-- Provided Dependencies -->
+
+        <!-- Runtime Dependencies -->
+
+        <!-- Test Dependencies -->
+
+    </dependencies>
+
+    <scm>
+        <connection>${shibboleth.scm.connection}java-shib-shared</connection>
+        <developerConnection>${shibboleth.scm.developerConnection}java-shib-shared</developerConnection>
+        <url>${shibboleth.scm.url}java-shib-shared.git</url>
+    </scm>
+
+    <distributionManagement>
+        <site>
+            <id>site</id>
+            <url>scp:${shared-module.site.url}</url>
+        </site>
+    </distributionManagement>
+
+
+</project>
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/DatabaseTestingSupport.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/DatabaseTestingSupport.java
similarity index 93%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/DatabaseTestingSupport.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/DatabaseTestingSupport.java
index 2fd8156b..c6e87ecd 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/DatabaseTestingSupport.java
+++ b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/DatabaseTestingSupport.java
@@ -43,6 +43,12 @@ public class DatabaseTestingSupport {
 
     @Nonnull static Logger log = LoggerFactory.getLogger(DatabaseTestingSupport.class);
     
+    /**
+     * Initialize SQL database.
+     * 
+     * @param initializingSQLFile path to SQL to run at init time
+     * @param source the data source
+     */
     public static void InitializeDataSource(@Nullable String initializingSQLFile, DataSource source) {
 
         final String sql = ReadSqlFromFile(initializingSQLFile);
@@ -121,6 +127,12 @@ public class DatabaseTestingSupport {
         return GetDataSourceFromUrl(initializingSQLFile, "jdbc:hsqldb:hsql:" + server);
     }
 
+    /**
+     * Initialize SQL database.
+     * 
+     * @param sqlFile path to file containing multiple SQL statements separated by semicolons.
+     * @param source data source
+     */
     public static void InitializeDataSourceFromFile(String sqlFile, DataSource source) {
         final String sql = ReadSqlFromFile(sqlFile);
         final String[] statements = sql.split(";");
diff --git a/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/MockApplicationContext.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/MockApplicationContext.java
similarity index 75%
rename from shib-spring/src/test/java/net/shibboleth/ext/spring/testing/MockApplicationContext.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/MockApplicationContext.java
index 7d5ba073..6e64aa12 100644
--- a/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/MockApplicationContext.java
+++ b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/MockApplicationContext.java
@@ -15,8 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.ext.spring.testing;
-import static org.testng.Assert.fail;
+package net.shibboleth.utilities.java.support.testing;
 
 import java.io.IOException;
 import java.lang.annotation.Annotation;
@@ -41,328 +40,282 @@ import org.springframework.core.io.ProtocolResolver;
 import org.springframework.core.io.Resource;
 import org.springframework.core.metrics.ApplicationStartup;
 
-import net.shibboleth.ext.spring.service.AbstractServiceableComponent;
-
 /**
- * Placeholder, which can be set on test {@link AbstractServiceableComponent}s to stop the
- * "must be null" test firing.
+ * Placeholder, which can be set on test components to stop the "must be null" test firing.
  */
 public class MockApplicationContext implements ConfigurableApplicationContext {
 
     /** {@inheritDoc} */
     public String getId() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String getApplicationName() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String getDisplayName() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public long getStartupDate() {
-        fail();
-        return 0;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public ApplicationContext getParent() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean containsBeanDefinition(String beanName) {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public int getBeanDefinitionCount() {
-        fail();
-        return 0;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getBeanDefinitionNames() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getBeanNamesForType(ResolvableType type) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getBeanNamesForType(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getBeanNamesForType(Class<?> type) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getBeanNamesForType(Class<?> type, boolean includeNonSingletons, boolean allowEagerInit) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> Map<String, T> getBeansOfType(Class<T> type) throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> Map<String, T> getBeansOfType(Class<T> type, boolean includeNonSingletons, boolean allowEagerInit)
             throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getBeanNamesForAnnotation(Class<? extends Annotation> annotationType) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Map<String, Object> getBeansWithAnnotation(Class<? extends Annotation> annotationType)
             throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <A extends Annotation> A findAnnotationOnBean(String beanName, Class<A> annotationType)
             throws NoSuchBeanDefinitionException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Object getBean(String name) throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> T getBean(String name, Class<T> requiredType) throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Object getBean(String name, Object... args) throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> T getBean(Class<T> requiredType) throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> T getBean(Class<T> requiredType, Object... args) throws BeansException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> ObjectProvider<T> getBeanProvider(Class<T> requiredType) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean containsBean(String name) {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean isPrototype(String name) throws NoSuchBeanDefinitionException {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean isTypeMatch(String name, Class<?> typeToMatch) throws NoSuchBeanDefinitionException {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Class<?> getType(String name) throws NoSuchBeanDefinitionException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Class<?> getType(String name, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String[] getAliases(String name) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public BeanFactory getParentBeanFactory() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean containsLocalBean(String name) {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String getMessage(String code, Object[] args, String defaultMessage, Locale locale) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void publishEvent(Object event) {
-        fail();        
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Resource[] getResources(String locationPattern) throws IOException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public Resource getResource(String location) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public ClassLoader getClassLoader() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void start() {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void stop() {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public boolean isRunning() {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void setId(String id) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void setParent(ApplicationContext parent) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void setEnvironment(ConfigurableEnvironment environment) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public ConfigurableEnvironment getEnvironment() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void addApplicationListener(ApplicationListener<?> listener) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void addProtocolResolver(ProtocolResolver resolver) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void refresh() throws BeansException, IllegalStateException {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void registerShutdownHook() {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
@@ -371,53 +324,47 @@ public class MockApplicationContext implements ConfigurableApplicationContext {
 
     /** {@inheritDoc} */
     public boolean isActive() {
-        fail();
-        return false;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public ConfigurableListableBeanFactory getBeanFactory() throws IllegalStateException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void setClassLoader(ClassLoader classLoader) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> ObjectProvider<T> getBeanProvider(Class<T> requiredType, boolean allowEagerInit) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType, boolean allowEagerInit) {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void setApplicationStartup(ApplicationStartup applicationStartup) {
-        fail();
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public ApplicationStartup getApplicationStartup() {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public <A extends Annotation> A findAnnotationOnBean(String beanName, Class<A> annotationType,
             boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException {
-        fail();
-        return null;
+        throw new IllegalStateException();
     }
 
     /** {@inheritDoc} */
     public void removeApplicationListener(ApplicationListener<?> listener) {
-        fail();
+        throw new IllegalStateException();
     }
 }
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/service/MockReloadableService.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/MockReloadableService.java
similarity index 93%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/test/service/MockReloadableService.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/MockReloadableService.java
index c38eff0f..d05bf6a1 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/service/MockReloadableService.java
+++ b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/MockReloadableService.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.utilities.java.support.test.service;
+package net.shibboleth.utilities.java.support.testing;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -32,6 +32,11 @@ public class MockReloadableService<T> extends AbstractReloadableService<T> {
 
     @Nonnull private final ServiceableComponent<T> component;
 
+    /**
+     * Constructor.
+     *
+     * @param what component
+     */
     public MockReloadableService(@Nullable final ServiceableComponent<T> what) {
         component = what;
     }
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/repository/RepositorySupport.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/RepositorySupport.java
similarity index 98%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/test/repository/RepositorySupport.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/RepositorySupport.java
index 57085898..f657b45d 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/repository/RepositorySupport.java
+++ b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/RepositorySupport.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.utilities.java.support.test.repository;
+package net.shibboleth.utilities.java.support.testing;
 
 import javax.annotation.Nonnull;
 
diff --git a/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/ResourceTestHelper.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/ResourceTestHelper.java
similarity index 97%
rename from shib-spring/src/test/java/net/shibboleth/ext/spring/testing/ResourceTestHelper.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/ResourceTestHelper.java
index e02872c1..23af217f 100644
--- a/shib-spring/src/test/java/net/shibboleth/ext/spring/testing/ResourceTestHelper.java
+++ b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/ResourceTestHelper.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.ext.spring.testing;
+package net.shibboleth.utilities.java.support.testing;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/ShowAutomaticModuleNames.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/ShowAutomaticModuleNames.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/ShowAutomaticModuleNames.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/ShowAutomaticModuleNames.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/TestSupport.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/TestSupport.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/TestSupport.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/TestSupport.java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/velocity/VelocityEngine.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/VelocityEngine.java
similarity index 98%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/velocity/VelocityEngine.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/VelocityEngine.java
index 42c8c029..c8db0578 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/velocity/VelocityEngine.java
+++ b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/VelocityEngine.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.utilities.java.support.velocity;
+package net.shibboleth.utilities.java.support.testing;
 
 import java.util.Properties;
 
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/package-info.java b/shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/package-info.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/package-info.java
rename to shib-testing/src/main/java/net/shibboleth/utilities/java/support/testing/package-info.java
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/repository/RepositorySupportTest.java b/shib-testing/src/test/java/net/shibboleth/utilities/java/support/testing/RepositorySupportTest.java
similarity index 89%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/test/repository/RepositorySupportTest.java
rename to shib-testing/src/test/java/net/shibboleth/utilities/java/support/testing/RepositorySupportTest.java
index 00e4b3ee..0386ff8d 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/test/repository/RepositorySupportTest.java
+++ b/shib-testing/src/test/java/net/shibboleth/utilities/java/support/testing/RepositorySupportTest.java
@@ -1,5 +1,5 @@
 
-package net.shibboleth.utilities.java.support.test.repository;
+package net.shibboleth.utilities.java.support.testing;
 
 import java.io.IOException;
 import java.net.URL;
@@ -7,6 +7,8 @@ import java.net.URL;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+import net.shibboleth.utilities.java.support.testing.RepositorySupport;
+
 
 public class RepositorySupportTest {
 
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/TestSupportTest.java b/shib-testing/src/test/java/net/shibboleth/utilities/java/support/testing/TestSupportTest.java
similarity index 100%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/testing/TestSupportTest.java
rename to shib-testing/src/test/java/net/shibboleth/utilities/java/support/testing/TestSupportTest.java

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


More information about the commits mailing list