DataStax DSE Cassandra SSL-无法识别的SSL消息,纯文本连接?

DataStax DSE Cassandra SSL-无法识别的SSL消息,纯文本连接?,ssl,cassandra,datastax,plaintext,Ssl,Cassandra,Datastax,Plaintext,我一直在尝试在运行Datastax(DSE)版本4.6和Cassandra 2.0.11的单节点集群中启用客户端到节点的ssl通信 遵循datastax文档中的步骤之后 我不断收到以下错误消息 信息[Thread-3]2015-01-25 09:00:21383 ThriftServer.java(第135行)正在侦听thrift客户端。。。 错误[Thrift:1]2015-01-25 09:00:30486 TNegotiatingServerTransport.java(第523行)无法打

我一直在尝试在运行Datastax(DSE)版本4.6和Cassandra 2.0.11的单节点集群中启用客户端到节点的ssl通信

遵循datastax文档中的步骤之后

我不断收到以下错误消息

信息[Thread-3]2015-01-25 09:00:21383 ThriftServer.java(第135行)正在侦听thrift客户端。。。 错误[Thrift:1]2015-01-25 09:00:30486 TNegotiatingServerTransport.java(第523行)无法打开服务器传输。 org.apache.thrift.transport.ttTransportException:javax.net.ssl.SSLException:无法识别的ssl消息,纯文本连接? 位于org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:129) 位于com.datastax.bdp.transport.server.tprevewabletransport.readUntilEof(tprevewabletransport.java:79) 在com.datastax.bdp.transport.server.tprevewabletransport.preview(tprevewabletransport.java:55)上 位于com.datastax.bdp.transport.server.TNegotiatingServerTransport.open(TNegotiatingServerTransport.java:186) 位于com.datastax.bdp.transport.server.tnegotatingservertransport$Factory.getTransport(tnegotatingservertransport.java:516) 位于com.datastax.bdp.transport.server.TNegotiatingServerTransport$Factory.getTransport(TNegotiatingServerTransport.java:405) 位于org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:196) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 运行(Thread.java:744) 原因:javax.net.ssl.SSLException:无法识别的ssl消息,纯文本连接? 位于sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:671) 位于sun.security.ssl.InputRecord.read(InputRecord.java:504) 位于sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927) 位于sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312) 位于sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:882) 位于sun.security.ssl.AppInputStream.read(AppInputStream.java:102) 在java.io.BufferedInputStream.fill处(BufferedInputStream.java:235) 位于java.io.BufferedInputStream.read1(BufferedInputStream.java:275) 在java.io.BufferedInputStream.read处(BufferedInputStream.java:334) 位于org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127) ... 9更多 错误[Thrift:1]2015-01-25 09:00:30513 CustomThreadPoolServer.java(第222行)处理消息时出错。 java.lang.RuntimeException:无法打开服务器传输:未知 位于com.datastax.bdp.transport.server.tnegotatingservertransport$Factory.getTransport(tnegotatingservertransport.java:524) 位于com.datastax.bdp.transport.server.TNegotiatingServerTransport$Factory.getTransport(TNegotiatingServerTransport.java:405) 位于org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:196) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 运行(Thread.java:744)

这是我的cassandra.yaml文件

客户端加密选项:

已启用:true

密钥库:/home/ubuntu/.keystore

密钥库密码:****

信任商店:/home/ubuntu/.truststore

信任库密码:****

协议:ssl

门店类型:JKS

密码套房:

[TLS_RSA_与_AES_128_CBC_SHA,TLS_RSA_与_AES_256_CBC_SHA]

创建密钥库和信任库所遵循的步骤

keytool-genkey-keyalg RSA-alias node0-keystore.keystore(使用主机名作为名字和姓氏)

keytool-export-alias node0-file node0.cer-keystore.keystore

keytool-import-v-trustcacerts-alias node0-file node0.cer-keystore.truststore


我已经通过从oracle网站下载所需的jar文件修复了文档中的TLS_RSA_与_AES_256_CBC_SHA错误。此消息显示客户端正在尝试打开未加密的连接

第一个想法是检查是否启用了客户端证书身份验证。请阅读以下内容:

以下是启用cqlsh ssl连接的演练: