使用 public 证书颁发机构的 apache cassandra SSL?

apache cassandra SSL using public certificate authority?

我正在尝试建立节点到节点的加密。我正在遵循下面 link- https://docs.datastax.com/en/security/5.1/security/secSetUpSSLCert.html 上可用于 ssl 加密的 datastax 在线指南 根据文档,我跳过了前两个步骤,然后从第 3 步开始。

所以,我使用下面的命令创建了密钥库-

keytool -genkeypair -keyalg RSA -alias node1 -keystore cassandra.jks -storepass cass123 -keypass cass123 -validity 365 -keysize 2048 -dname "CN=host1, OU=cluster1, O=org, C=US"

创建密钥库后,这里的 public 证书颁发机构具有两级加密或证书。第一个是 root.cert,另一个是 intermediate.cert。 当我通过以下命令检查后,intermediate.cert 已由 root.cert 签名或验证。

openssl verify -CAfile root.cert intermediate.cert , Got OK in Response.

在使用密钥库 (cassandra.jks) 之后,我提出了证书签名请求 (CSR):

 keytool -keystore cassandra.jks -alias node1 -certreq -file cassandra.csr -keypass cass123 -storepass cass123 -dname "CN=host1, OU=cluster1, O=org, C=US"

然后在将此 CSR 文件 (cassandra.csr) 上传到 public 证书颁发机构后,我得到了一个 Cert.cer 文件的响应。

所以,然后我检查了 Cert.cer 文件是否由 root.cert 签名。

openssl verify -CAfile root.cert Cert.cer 

无法在响应中加载证书,并显示错误消息-

140044398696338:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c707:Expecting TRUSTED CERTIFICATE

甚至我用 intermediate.cert 检查了 Cert.cer-- 得到了与上面相同的错误消息。

这是否意味着我在响应 csr 请求时收到的 Cert.cer 未由证书颁发机构正确签名。

所以我在这里停止了进一步的步骤,这需要 cassandra ssl 实施。

如果我遗漏了什么或做错了事,请告诉我。非常感谢所有帮助和建议

由于平台问题生成的证书有额外的回车字符 ^M,此问题已解决。删除它并将根证书和中间证书合并在一起后,它工作正常。