This is an automated email from the ASF dual-hosted git repository.

richardantal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix-queryserver.git


The following commit(s) were added to refs/heads/master by this push:
     new b8a4a44  PHOENIX-7976: Introduce new parameters to support 
single-purpose Extended Key Usage (EKU) certificates (#194)
b8a4a44 is described below

commit b8a4a44dfdd41099ec091d0e2a0823860af3f8ad
Author: Dávid Paksy <[email protected]>
AuthorDate: Wed Sep 2 15:06:57 2026 +0200

    PHOENIX-7976: Introduce new parameters to support single-purpose Extended 
Key Usage (EKU) certificates (#194)
    
    To maintain compatibility assume that the current parameters are still 
Dual-purpose EKU certs and introduce new parameters.
    Fall back to the old parameters if the new one is not available.
    
    Current params:
    "phoenix.queryserver.tls.keystore";
    "phoenix.queryserver.tls.truststore.password";
    "phoenix.queryserver.tls.keystore.password";
    "phoenix.queryserver.tls.truststore";
    
    New proposed parameters:
    "phoenix.queryserver.tls.server.keystore";
    "phoenix.queryserver.tls.server.keystore.password";
    "phoenix.queryserver.tls.server.truststore";
    "phoenix.queryserver.tls.server.truststore.password";
---
 .../phoenix/end2end/QueryServerEnvironment.java    |  8 ++++----
 .../phoenix/queryserver/QueryServerProperties.java |  8 ++++++++
 .../phoenix/queryserver/server/QueryServer.java    | 24 ++++++++++++++++++----
 3 files changed, 32 insertions(+), 8 deletions(-)

diff --git 
a/phoenix-queryserver-it/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
 
b/phoenix-queryserver-it/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
index 8e5b068..b986c80 100644
--- 
a/phoenix-queryserver-it/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
+++ 
b/phoenix-queryserver-it/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
@@ -236,13 +236,13 @@ public class QueryServerEnvironment {
 
         if (tls) {
             conf.setBoolean(QueryServerProperties.QUERY_SERVER_TLS_ENABLED, 
true);
-            conf.set(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE,
+            conf.set(QueryServerProperties.QUERY_SERVER_TLS_SERVER_KEYSTORE,
                 TlsUtil.getKeyStoreFile().getAbsolutePath());
-            conf.set(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE_PASSWORD,
+            
conf.set(QueryServerProperties.QUERY_SERVER_TLS_SERVER_KEYSTORE_PASSWORD,
                 TlsUtil.getKeyStorePassword());
-            conf.set(QueryServerProperties.QUERY_SERVER_TLS_TRUSTSTORE,
+            conf.set(QueryServerProperties.QUERY_SERVER_TLS_SERVER_TRUSTSTORE,
                 TlsUtil.getTrustStoreFile().getAbsolutePath());
-            
conf.set(QueryServerProperties.QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD,
+            
conf.set(QueryServerProperties.QUERY_SERVER_TLS_SERVER_TRUSTSTORE_PASSWORD,
                 TlsUtil.getTrustStorePassword());
         }
 
diff --git 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/QueryServerProperties.java
 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/QueryServerProperties.java
index 3b23e20..21cae81 100644
--- 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/QueryServerProperties.java
+++ 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/QueryServerProperties.java
@@ -66,12 +66,20 @@ public class QueryServerProperties {
             "phoenix.queryserver.tls.enabled";
     public static final String QUERY_SERVER_TLS_KEYSTORE =
             "phoenix.queryserver.tls.keystore";
+    public static final String QUERY_SERVER_TLS_SERVER_KEYSTORE =
+            "phoenix.queryserver.tls.server.keystore";
     public static final String QUERY_SERVER_TLS_KEYSTORE_PASSWORD =
             "phoenix.queryserver.tls.keystore.password";
+    public static final String QUERY_SERVER_TLS_SERVER_KEYSTORE_PASSWORD =
+            "phoenix.queryserver.tls.server.keystore.password";
     public static final String QUERY_SERVER_TLS_TRUSTSTORE =
             "phoenix.queryserver.tls.truststore";
+    public static final String QUERY_SERVER_TLS_SERVER_TRUSTSTORE =
+            "phoenix.queryserver.tls.server.truststore";
     public static final String QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD =
             "phoenix.queryserver.tls.truststore.password";
+    public static final String QUERY_SERVER_TLS_SERVER_TRUSTSTORE_PASSWORD =
+            "phoenix.queryserver.tls.server.truststore.password";
     public static final String QUERY_SERVER_TLS_ENABLED_PROTCOLS =
             "phoenix.queryserver.tls.protocols";
     public static final String QUERY_SERVER_TLS_ENABLED_CIPHERSUITES =
diff --git 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
index de5ef58..7120b67 100644
--- 
a/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
+++ 
b/phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/QueryServer.java
@@ -283,12 +283,28 @@ public final class QueryServer extends Configured 
implements Tool, Runnable {
   private void setTlsIfNeccessary(Builder<Server> builder, Configuration conf) 
throws Exception {
     final boolean useTls = 
getConf().getBoolean(QueryServerProperties.QUERY_SERVER_TLS_ENABLED, 
QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_ENABLED);
     if(useTls) {
-      final String tlsKeystore = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE);
       final String keystoreType = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE_TYPE_KEY, 
QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE_TYPE_DEFAULT);
 
-      final String tlsKeystorePassword = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE_PASSWORD, 
QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_KEYSTORE_PASSWORD);
-      final String tlsTruststore = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_TRUSTSTORE);
-      final String tlsTruststorePassword = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD, 
QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD);
+      String tlsKeystore = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_SERVER_KEYSTORE);
+      if (tlsKeystore == null){
+        tlsKeystore = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE);
+      }
+
+      String tlsKeystorePassword = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_SERVER_KEYSTORE_PASSWORD, 
QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_KEYSTORE_PASSWORD);
+      if (tlsKeystorePassword == null || 
tlsKeystorePassword.equals(QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_KEYSTORE_PASSWORD))
 {
+        tlsKeystorePassword = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE_PASSWORD, 
QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_KEYSTORE_PASSWORD);
+      }
+
+      String tlsTruststore = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_SERVER_TRUSTSTORE);
+      if (tlsTruststore == null){
+        tlsTruststore = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_TRUSTSTORE);
+      }
+
+      String tlsTruststorePassword = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_SERVER_TRUSTSTORE_PASSWORD,
 QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD);
+      if (tlsTruststorePassword == null || 
tlsTruststorePassword.equals(QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD))
 {
+         tlsTruststorePassword = 
getConf().get(QueryServerProperties.QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD, 
QueryServerOptions.DEFAULT_QUERY_SERVER_TLS_TRUSTSTORE_PASSWORD);
+      }
+
       if(tlsKeystore == null) {
         throw new Exception(String.format("if %s is enabled, %s must be 
specfified" , QueryServerProperties.QUERY_SERVER_TLS_ENABLED, 
QueryServerProperties.QUERY_SERVER_TLS_KEYSTORE));
       }

Reply via email to