Details
diff --git a/testsuite/integration-arquillian/servers/eap7/src/main/xslt/security.xsl b/testsuite/integration-arquillian/servers/eap7/src/main/xslt/security.xsl
index 3d997c4..2a23899 100644
--- a/testsuite/integration-arquillian/servers/eap7/src/main/xslt/security.xsl
+++ b/testsuite/integration-arquillian/servers/eap7/src/main/xslt/security.xsl
@@ -17,8 +17,11 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
- xmlns:j="urn:jboss:domain:1.7"
- xmlns:w="urn:jboss:domain:web:2.2"
+ xmlns:j="urn:jboss:domain:4.0"
+ xmlns:ds="urn:jboss:domain:datasources:4.0"
+ xmlns:k="urn:jboss:domain:keycloak:1.1"
+ xmlns:sec="urn:jboss:domain:security:1.2"
+ xmlns:u="urn:jboss:domain:undertow:3.0"
version="2.0"
exclude-result-prefixes="xalan j ds k sec">
@@ -27,11 +30,29 @@
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
<xsl:strip-space elements="*"/>
- <xsl:template match="//w:connector[@name='http']">
+ <xsl:template match="//j:security-realms">
+ <xsl:copy>
+ <xsl:apply-templates select="node()[name(.)='security-realm']"/>
+ <security-realm name="UndertowRealm">
+ <server-identities>
+ <ssl>
+ <keystore path="keycloak.jks" relative-to="jboss.server.config.dir" keystore-password="secret"/>
+ </ssl>
+ </server-identities>
+ </security-realm>
+ </xsl:copy>
+ </xsl:template>
+ <xsl:template match="//u:http-listener">
+ <http-listener name="default" socket-binding="http" redirect-socket="proxy-https" proxy-address-forwarding="true"/>
+ </xsl:template>
+ <xsl:template match="//u:host">
+ <https-listener name="https" socket-binding="proxy-https" security-realm="UndertowRealm"/>
<xsl:copy-of select="."/>
- <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
- <ssl name="https" password="secret" certificate-key-file="${{jboss.server.config.dir}}/keycloak.jks"/>
- </connector>
+ </xsl:template>
+
+ <xsl:template match="//j:socket-binding[@name='http']">
+ <xsl:copy-of select="."/>
+ <socket-binding name="proxy-https" port="8443"/>
</xsl:template>
<xsl:template match="//j:extensions">
diff --git a/testsuite/integration-arquillian/tests/other/adapters/eap7/pom.xml b/testsuite/integration-arquillian/tests/other/adapters/eap7/pom.xml
index 761b6cc..d1be1e6 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/eap7/pom.xml
+++ b/testsuite/integration-arquillian/tests/other/adapters/eap7/pom.xml
@@ -177,6 +177,72 @@
</build>
</profile>
<profile>
+ <id>ssl</id>
+ <activation>
+ <property>
+ <name>app.server.ssl.required</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>configure-adapter-subsystem-security</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${app.server.eap7.home}/standalone/configuration</dir>
+ <includes>
+ <include>standalone.xml</include>
+ </includes>
+ <stylesheet>src/main/xslt/security.xsl</stylesheet>
+ <outputDir>${app.server.eap7.home}/standalone/configuration</outputDir>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.7</version>
+ <executions>
+ <execution>
+ <id>copy-keystore</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${app.server.eap7.home}/standalone/configuration</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/keystore</directory>
+ <includes>
+ <include>adapter.jks</include>
+ <include>keycloak.truststore</include>
+ </includes>
+ </resource>
+ </resources>
+ <nonFilteredFileExtensions>
+ <nonFilteredFileExtension>jks</nonFilteredFileExtension>
+ <nonFilteredFileExtension>truststore</nonFilteredFileExtension>
+ </nonFilteredFileExtensions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
<id>adapter-libs-provided</id>
<activation>
<property>
diff --git a/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/adapter.jks b/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/adapter.jks
new file mode 100644
index 0000000..57cc34b
Binary files /dev/null and b/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/adapter.jks differ
diff --git a/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/keycloak.truststore b/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/keycloak.truststore
new file mode 100644
index 0000000..2df5170
Binary files /dev/null and b/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/keystore/keycloak.truststore differ
diff --git a/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/xslt/security.xsl b/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/xslt/security.xsl
new file mode 100644
index 0000000..b80e80d
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/other/adapters/eap7/src/main/xslt/security.xsl
@@ -0,0 +1,71 @@
+<!--
+ ~ Copyright 2016 Red Hat, Inc. and/or its affiliates
+ ~ and other contributors as indicated by the @author tags.
+ ~
+ ~ Licensed 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.
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xalan"
+ xmlns:j="urn:jboss:domain:4.0"
+ xmlns:ds="urn:jboss:domain:datasources:4.0"
+ xmlns:k="urn:jboss:domain:keycloak:1.1"
+ xmlns:sec="urn:jboss:domain:security:1.2"
+ xmlns:u="urn:jboss:domain:undertow:3.0"
+ version="2.0"
+ exclude-result-prefixes="xalan j ds k sec">
+
+ <xsl:param name="config"/>
+
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
+ <xsl:strip-space elements="*"/>
+
+ <xsl:template match="//j:security-realms">
+ <xsl:copy>
+ <xsl:apply-templates select="node()[name(.)='security-realm']"/>
+ <security-realm name="UndertowRealm">
+ <server-identities>
+ <ssl>
+ <keystore path="adapter.jks" relative-to="jboss.server.config.dir" keystore-password="secret"/>
+ </ssl>
+ </server-identities>
+ </security-realm>
+ </xsl:copy>
+ </xsl:template>
+ <xsl:template match="//u:http-listener">
+ <http-listener name="default" socket-binding="http" redirect-socket="proxy-https" proxy-address-forwarding="true"/>
+ </xsl:template>
+ <xsl:template match="//u:host">
+ <https-listener name="https" socket-binding="proxy-https" security-realm="UndertowRealm"/>
+ <xsl:copy-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="//j:socket-binding[@name='http']">
+ <xsl:copy-of select="."/>
+ <socket-binding name="proxy-https" port="8443"/>
+ </xsl:template>
+
+ <xsl:template match="//j:extensions">
+ <xsl:copy-of select="."/>
+ <system-properties>
+ <property name="javax.net.ssl.trustStore" value="${{jboss.server.config.dir}}/keycloak.truststore"/>
+ <property name="javax.net.ssl.trustStorePassword" value="secret"/>
+ </system-properties>
+ </xsl:template>
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()" />
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file