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