【发布时间】:2020-10-14 07:39:11
【问题描述】:
我正在尝试建立节点到节点的加密。我正在关注以下链接上可用于 ssl 加密的 datastax 在线指南-https://docs.datastax.com/en/security/5.1/security/secSetUpSSLCert.html 根据文档,我跳过了前两个步骤,然后从第 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"
创建密钥库后,这里的公共证书颁发机构有两个级别的加密或证书。第一个是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) 上传到公共证书颁发机构后,我得到了一个 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 所需的。
如果我错过了什么或做错了事,请告诉我。非常感谢所有帮助和建议
【问题讨论】:
-
请使用 DSE 6.7 中的说明:docs.datastax.com/en/security/6.7/security/secSslTOC.html - 它们也应该适用于旧版本
-
@Alex,我已经编辑了问题,指定的文档也出现了错误。
标签: openssl ssl-certificate keystore datastax cassandra-3.0