zookeeper 的 ssl 需要的证书该怎么生成?

发布于 2022-09-12 00:42:28 字数 1776 浏览 24 评论 0

实在不知道该怎么生成 zookeeper 需要的证书?

尝试过以下:

# 生成服务器 keystore (密钥和证书)
keytool -genkeypair -keystore server.keystore.jks -alias localhost -keyalg RSA -keysize 2048 -validity 365 -storepass store123456 -keypass key123456   -dname "CN=localhost, OU=Zookeeper, O=Apache, L=Unknow, ST=Unknow, C=Unknow"

# 导出证书
keytool -export -keystore server.keystore.jks -alias localhost -storepass store123456 -file server.crt

# 导入到服务器信任证书
keytool -v -keystore server.truststore.jks -alias localhost -import -file server.crt -storepass store123456 <<!
y
!

然后得到的 server.keystore.jksserver.truststore.jks 并不能用,报以下错误:

Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in common
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
    at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1647)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:318)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:306)
    at sun.security.ssl.ServerHandshaker.chooseCipherSuite(ServerHandshaker.java:1127)
    at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:814)
    at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:221)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037)
    at sun.security.ssl.Handshaker$1.run(Handshaker.java:970)
    at sun.security.ssl.Handshaker$1.run(Handshaker.java:967)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1459)
    at io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1457)
    at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1365)
    ... 18 more

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文