栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SSLHandshakeException:没有通用的密码套件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSLHandshakeException:没有通用的密码套件

javax.net.ssl.SSLHandshakeException: no cipher suites in common

这有两个原因:

  1. 服务器没有私钥和证书,并且可能根本没有密钥库。在这种情况下,它只能使用不安全的匿名密码套件(默认情况下已禁用),并且应该保持这种状态。因此,没有可以同意与客户端一起使用的密码套件。

  2. 客户端或服务器或两者强加了对密码套件的过度限制,因此无法达成协议。

对于您的密钥库和信任库,除了您只需要执行两个导入步骤的四个导入步骤外,其他一切看起来都不错。您不需要将服务器的证书导入到服务器自己的信任库中,也不需要将客户端的证书导入到客户端的信任库中。您只需要这样:

服务器:

$ keytool -import -v -trustcacerts -alias clientkey -file ../client/client.cer -keystore cacerts.jks -keypass p@ssw0rd -storepass p@ssw0rd

客户:

$ keytool -import -v -trustcacerts -alias serverkey -file ../server/server.cer -keystore cacerts.jks -keypass changeit -storepass changeit

并且只需要它,因为您使用的是自签名证书。简单的解决方案:不用。使用CA签名的证书,该证书由Java随附的默认信任库信任。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号