private Properties getDistributedSystemProperties() {
    Properties properties = new Properties();
    properties.setProperty(ENABLE_CLUSTER_CONFIGURATION, "false");
    properties.setProperty(USE_CLUSTER_CONFIGURATION, "false");
    properties.setProperty(NAME, "vm" + VM.getCurrentVMNum());
    properties.setProperty(CONSERVE_SOCKETS, "false"); // we are testing direct ack
    properties.setProperty(SOCKET_LEASE_TIME, "10000");
    properties.setProperty(SOCKET_BUFFER_SIZE, "" + SMALL_BUFFER_SIZE);

    properties.setProperty(SSL_ENABLED_COMPONENTS, "cluster,locator");
    properties
        .setProperty(SSL_KEYSTORE, createTempFileFromResource(getClass(), "server.keystore")
            .getAbsolutePath());
    properties.setProperty(SSL_TRUSTSTORE,
        createTempFileFromResource(getClass(), "server.keystore")
            .getAbsolutePath());
    properties.setProperty(SSL_PROTOCOLS, "TLSv1.2");
    properties.setProperty(SSL_KEYSTORE_PASSWORD, "password");
    properties.setProperty(SSL_TRUSTSTORE_PASSWORD, "password");
    properties.setProperty(SSL_REQUIRE_AUTHENTICATION, "true");
    return properties;
  }
It would be nice if this test didn't need to use the cache since the test's purpose is to test
that the {@link Connection} class can be closed while readers and writers hold locks on its
internal TLS {@link ByteBuffer}s

But this test does use the cache (region) because it enabled us to use existing cache messaging
and to use the DistributionMessageObserver (observer) hooks.

see also ClusterCommunicationsDUnitTest
geode-core/src/distributedTest/java/org/apache/geode/internal/tcp/ConnectionCloseSSLTLSDUnitTest.java