Updated Java keys for cross-platform tests
The truststore and keystore were regenerated using keys in test/keys:
# keytool does not support "replace" operation:
keytool -delete \
-alias localhost \
-keystore lib/java/src/crossTest/resources/.truststore \
-storepass thrift
keytool -import \
-alias localhost \
-file test/keys/CA.pem \
-keystore lib/java/src/crossTest/resources/.truststore \
-storepass thrift
# server keystore
keytool -importkeystore \
-srckeystore test/keys/server.p12 \
-srcstoretype PKCS12 \
-srcstorepass thrift \
-destkeystore lib/java/src/crossTest/resources/.serverkeystore \
-deststoretype pkcs12 \
-deststorepass thrift
# client keystore
keytool -importkeystore \
-srckeystore test/keys/client.p12 \
-srcstoretype PKCS12 \
-srcstorepass thrift \
-destkeystore lib/java/src/crossTest/resources/.clientkeystore \
-deststoretype pkcs12 \
-deststorepass thrift
Java tests were updated to use separate keystores for client and server.
diff --git a/lib/java/gradle/functionalTests.gradle b/lib/java/gradle/functionalTests.gradle
index 0c27078..b3f5d8b 100644
--- a/lib/java/gradle/functionalTests.gradle
+++ b/lib/java/gradle/functionalTests.gradle
@@ -96,7 +96,8 @@
// The common Uber jar path
def jarPath = shadowJar.archiveFile.get().asFile.canonicalPath
def trustStore = file("${projectDir}/src/crossTest/resources/.truststore").canonicalPath
-def keyStore = file("${projectDir}/src/crossTest/resources/.keystore").canonicalPath
+def serverKeyStore = file("${projectDir}/src/crossTest/resources/.serverkeystore").canonicalPath
+def clientKeyStore = file("${projectDir}/src/crossTest/resources/.clientkeystore").canonicalPath
task generateRunnerScriptForClient(group: 'Build') {
description = 'Generate a runner script for cross-check tests with TestClient'
@@ -106,7 +107,7 @@
def runClientText = """\
${scriptHead}
-"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.trustStore=$trustStore" -Djavax.net.ssl.trustStorePassword=thrift org.apache.thrift.test.TestClient $args
+"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$clientKeyStore" -Djavax.net.ssl.keyStorePassword=thrift "-Djavax.net.ssl.trustStore=$trustStore" -Djavax.net.ssl.trustStorePassword=thrift org.apache.thrift.test.TestClient $args
"""
inputs.property 'runClientText', runClientText
outputs.file clientFile
@@ -126,7 +127,7 @@
def runServerText = """\
${scriptHead}
-"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$keyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestServer $args
+"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$serverKeyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestServer $args
"""
inputs.property 'runServerText', runServerText
@@ -147,7 +148,7 @@
def runServerText = """\
${scriptHead}
-"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$keyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestNonblockingServer $args
+"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$serverKeyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestNonblockingServer $args
"""
inputs.property 'runServerText', runServerText
@@ -168,7 +169,7 @@
def runServerText = """\
${scriptHead}
-"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$keyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestTServletServer $args
+"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$serverKeyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestTServletServer $args
"""
inputs.property 'runServerText', runServerText