diff --git a/pom.xml b/pom.xml
index c432697d2f2..48a25db2b8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,8 +43,8 @@
jboss-snapshots-repository
https://s01.oss.sonatype.org/content/repositories/snapshots/
- 3.2.0.Final
- 3.2.0.Final
+ 3.2.2.Final
+ 3.2.2.Final
${timestamp}
@@ -74,8 +74,10 @@
3.3.10
2.1.3
2.2.220
- 6.2.5.Final
- 6.2.5.Final
+
+ 6.2.7.Final
+ 6.2.7.Final
+ 6.2.7.Final
14.0.13.Final
4.6.2.Final
@@ -504,6 +506,11 @@
${h2.version}
test
+
+ org.hibernate.orm
+ hibernate-core
+ ${hibernate-orm.version}
+
org.hibernate.orm
hibernate-c3p0
diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java b/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java
index bc9b6985f84..fa64ebe0caf 100644
--- a/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java
+++ b/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java
@@ -56,7 +56,7 @@ public class HttpOptions {
public static final Option HTTPS_PROTOCOLS = new OptionBuilder<>("https-protocols", String.class)
.category(OptionCategory.HTTP)
.description("The list of protocols to explicitly enable.")
- .defaultValue("TLSv1.3")
+ .defaultValue("TLSv1.3,TLSv1.2")
.build();
public static final Option HTTPS_CERTIFICATE_FILE = new OptionBuilder<>("https-certificate-file", File.class)
diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java
index 34afac7fa53..ec20345cb61 100644
--- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java
+++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java
@@ -12,6 +12,9 @@ import java.util.Optional;
import static org.keycloak.quarkus.runtime.configuration.mappers.PropertyMapper.fromOption;
final class ConfigKeystorePropertyMappers {
+ private static final String SMALLRYE_KEYSTORE_PATH = "smallrye.config.source.keystore.kc-default.path";
+ private static final String SMALLRYE_KEYSTORE_PASSWORD = "smallrye.config.source.keystore.kc-default.password";
+
private ConfigKeystorePropertyMappers() {
}
@@ -19,12 +22,12 @@ final class ConfigKeystorePropertyMappers {
public static PropertyMapper[] getConfigKeystorePropertyMappers() {
return new PropertyMapper[] {
fromOption(ConfigKeystoreOptions.CONFIG_KEYSTORE)
- .to("smallrye.config.source.keystore.kc-default.path")
+ .to(SMALLRYE_KEYSTORE_PATH)
.transformer(ConfigKeystorePropertyMappers::validatePath)
.paramLabel("config-keystore")
.build(),
fromOption(ConfigKeystoreOptions.CONFIG_KEYSTORE_PASSWORD)
- .to("smallrye.config.source.keystore.kc-default.password")
+ .to(SMALLRYE_KEYSTORE_PASSWORD)
.transformer(ConfigKeystorePropertyMappers::validatePassword)
.paramLabel("config-keystore-password")
.build(),
@@ -36,12 +39,17 @@ final class ConfigKeystorePropertyMappers {
}
private static Optional validatePath(Optional option, ConfigSourceInterceptorContext context) {
- ConfigValue path = context.proceed("smallrye.config.source.keystore.kc-default.path");
+ ConfigValue path = context.proceed(SMALLRYE_KEYSTORE_PATH);
+ boolean isPasswordDefined = context.proceed(SMALLRYE_KEYSTORE_PASSWORD) != null;
if (path == null) {
throw new IllegalArgumentException("config-keystore must be specified");
}
+ if (!isPasswordDefined) {
+ throw new IllegalArgumentException("config-keystore-password must be specified");
+ }
+
Optional realPath = Optional.of(String.valueOf(Paths.get(path.getValue()).toAbsolutePath().normalize()));
if (!Files.exists(Path.of(realPath.get()))) {
throw new IllegalArgumentException("config-keystore path does not exist: " + realPath.get());
@@ -50,11 +58,17 @@ final class ConfigKeystorePropertyMappers {
}
private static Optional validatePassword(Optional option, ConfigSourceInterceptorContext context) {
- ConfigValue password = context.proceed("smallrye.config.source.keystore.kc-default.password");
+ boolean isPasswordDefined = context.proceed(SMALLRYE_KEYSTORE_PASSWORD).getValue() != null;
+ boolean isPathDefined = context.proceed(SMALLRYE_KEYSTORE_PATH) != null;
- if (password == null) {
+ if (!isPasswordDefined) {
throw new IllegalArgumentException("config-keystore-password must be specified");
}
+
+ if (!isPathDefined) {
+ throw new IllegalArgumentException("config-keystore must be specified");
+ }
+
return option;
}
diff --git a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java
index 3270d942e4a..af2a5c2acea 100644
--- a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java
+++ b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java
@@ -123,7 +123,7 @@ public class QuarkusPropertiesDistTest {
}
@Test
- @Launch({ "start", "--http-enabled=true", "--hostname-strict=false", "--config-keystore=keystore" })
+ @Launch({ "start", "--http-enabled=true", "--hostname-strict=false", "--config-keystore=../../../../src/test/resources/keystore" })
@Order(10)
void testMissingSmallRyeKeyStorePasswordProperty(LaunchResult result) {
CLIResult cliResult = (CLIResult) result;
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt
index 3c7f6d2354f..34520d12103 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt
@@ -142,7 +142,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt
index 84abff50634..c54cd09f64e 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt
@@ -137,7 +137,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt
index 35de2266ef3..2c786dbbdf8 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt
@@ -205,7 +205,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt
index 8c6db8f2878..143f7debfc4 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt
@@ -200,7 +200,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt
index ce3dffc3293..0cce3a201c6 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt
@@ -148,7 +148,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt
index f6e78589c7e..a90394f0655 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt
@@ -143,7 +143,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt
index 922422bdc4a..d3c8fea878f 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt
@@ -211,7 +211,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt
index 256b8215867..8d250653575 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt
@@ -206,7 +206,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt
index bd426c77ed0..0b942f89745 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt
@@ -107,7 +107,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt
index 21151a1e0c6..5a35664fb32 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt
@@ -100,7 +100,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt
index ee089c3ee3f..50ec70c6ebb 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt
@@ -126,7 +126,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt
index bc8d11f0b41..b5d806461f3 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt
@@ -119,7 +119,7 @@ HTTP/TLS:
value is set, it defaults to 'BCFKS'.
--https-port The used HTTPS port. Default: 8443.
--https-protocols
- The list of protocols to explicitly enable. Default: TLSv1.3.
+ The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2.
--https-trust-store-file
The trust store which holds the certificate information of the certificates to
trust.