4

有没有人想出一种方法来保护 Cassandra 和 Astyanax 客户端之间的通信?SSL 最好能够进行客户端证书身份验证 + 加密......

4

1 回答 1

1

我假设您已经在 cassandra 中启用了 SSL 并拥有密钥库文件,如果没有关于在 Astyanax 中启用 SSL 的完整博客,请点击此处。

在构建 Keyspace 上下文时,您需要将密钥库文件及其密码传递给 Astyanax:

AstyanaxContext<Keyspace> ctx = new AstyanaxContext.Builder()
    .forKeyspace("MyKeyspace")
    // Config parameters
    .withConnectionPoolConfiguration(
         new com.netflix.astyanax.connectionpool.impl.ConnectionPoolConfigurationImpl("MyConnectionPool")
        .setSeeds("127.0.0.1")
        .setSSLConnectionContext(
             new SSLConnectionContext(
             "/path/to/certificate/cassandra_external_trust.jks", // tell Astyanax the fully qualified path to the keystore file C* is using
             "somePassword")))                                    // supply the keystore file's password too
    .buildKeyspace(ThriftFamilyFactory.getInstance());
ctx.start();
于 2013-11-18T18:34:19.347 回答