创建证书 [1]。
在 cassandra.yaml 设置中启用客户端节点加密 [2]。
向您的客户端添加 SSL 支持。有一个很棒的 datastax 博客,其中包含用于在客户端中设置 SSL 连接的示例代码 [3]。
为您的客户提供的证书。据我所知,您似乎应该能够使用 [1] 中的相同密钥库和信任来供 java 客户端使用。根据 [4],我知道您需要一个 pcks12 样式的 PEM 文件才能使用 cqlsh。
此外,[4] 提供了客户端通过 SSL 连接到 cassandra 集群的简单示例。 [5] 是为集群节点和客户端创建证书的示例,值得一读。
- [6] 是我发现的创建证书的最佳示例。
注意:如果您希望使用企业级强度加密,则需要启用 Java 加密扩展。出于法律原因,附带的 java 仅支持相对较弱的加密。如果您尝试在未启用 JCE 的情况下使用 256 位加密,Cassandra 和您的客户可能会抱怨。这样做是为了客户端和服务器端机器:
- 下载http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
- 解压包
-
将两个策略 jar 复制到您的 JAVA_HOME 中,覆盖已有的两个 jar:
[user@host UnlimitedJCEPolicy]$ ls
local_policy.jar README.txt US_export_policy.jar
[user@host UnlimitedJCEPolicy]$ export JAVA_HOME="$( readlink -f "$( which java )" | sed "s:bin/.*$::" )"
[use@host UnlimitedJCEPolicy]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/
[user@host UnlimitedJCEPolicy]$ cp -v *.jar $JAVA_HOME/lib/security/
重新启动 cassandra 和客户端
[1] http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureSSLCertificates_t.html http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureSSLCertificates_t.html
[2] http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureSSLClientToNode_t.html http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureSSLClientToNode_t.html
[3] http://www.datastax.com/dev/blog/accessing-secure-dse-clusters-with-cql-native-protocol http://www.datastax.com/dev/blog/accessing-secure-dse-clusters-with-cql-native-protocol
[4] https://github.com/PatrickCallaghan/datastax-ssl-example https://github.com/PatrickCallaghan/datastax-ssl-example
[5] http://www.datastax.com/dev/blog/accessing-secure-dse-clusters-with-cql-native-protocol http://www.datastax.com/dev/blog/accessing-secure-dse-clusters-with-cql-native-protocol
[6] http://techdocs.acunu.com.s3.amazonaws.com/v5.0/admin/security/ssl.html http://techdocs.acunu.com.s3.amazonaws.com/v5.0/admin/security/ssl.html