当前位置: 首页 > 知识库问答 >
问题:

Spring boot ssl配置在从1.3升级到1.4.0后中断。十、

申屠昌胤
2023-03-14

我的ssl配置有问题,我的配置如下:

server.port=8449
# self signed cert with CN=localhost used for https method tests
server.ssl.key-store=keystore.p12
server.ssl.key-password=password
server.ssl.key-alias=some-alias
server.ssl.key-store-type=PKCS12

如果与1.3.7版本的spring boot配合使用,一切正常。如果在客户端升级到1.4.0,我会得到:

javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:287)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:255)
at org.glassfish.jersey.client.JerseyInvocation$2.call(JerseyInvocation.java:700)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:696)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:448)

并从chrome调用ssl端口,结果如下:

客户端和服务器不支持通用SSL协议版本或密码套件。这可能是因为服务器需要RC4,而RC4不再被认为是安全的。

Firefox也出现了类似的错误。

正如我所说的,唯一不同的配置是Spring启动版本。我是否在配置中遗漏了一些东西,以便它可以与较新版本的Spring启动一起使用?

提前谢谢,干杯!

附言:我对ssl相关主题不是很了解,所以请尝试简单地解释一下。

共有2个答案

凤昊东
2023-03-14

对我来说,一切都在我的本地机器上运行,但当我尝试在我的Linux服务器(Amazon AWS EC2)上运行Spring Boot服务器时,我遇到了同样的错误。我在使用Spring Boot 1.3时没有遇到这个错误。十、

我能够通过安装Oracle JDK而不是预装在服务器上的Open JDK来解决这个问题。

以下是我遵循的指南:https://gist.github.com/rtfpessoa/17752cbf7156bdf32c59

赫连实
2023-03-14

多亏了安迪提供的这款靴子的Tomcat SSLsample,我成功地解决了这个问题

server.port=8449
# self signed cert with CN=localhost used for https method tests
server.ssl.key-store=keystore.p12
server.ssl.key-password=password
server.ssl.key-alias=some-alias
server.ssl.key-store-type=PKCS12

我的猜测(我可能错了)是Tomcat 8.5.4需要指定的服务器。ssl。密钥存储密码=password仅使用服务器是不够的。ssl。密钥密码被指定,所以在更新配置后,我想出了如下方法:

server.port=8449
# self signed cert with CN=localhost used for https method tests
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=changeit
server.ssl.key-alias=some-alias
server.ssl.key-password=changeit
server.ssl.key-store-type=PKCS12

现在它按预期运行:)希望这个答案能帮助其他人。

是的,我知道对特定密钥和通用存储使用相同的密码是不好的,但这只是一个测试密钥存储。

 类似资料:
  • 为了帮助大伙儿升级,我们为现在的Apache用户提供了一份重要信息的文档说明。这些只是一些简要说明,你可以从新特性文档或src/CHANGES文件中得到更多信息。 编译时配置的改变 Apache现在使用autoconf和libtool系统来进行安装进程的配置。这个系统用起来很像Apache1.3的APACI系统,但并不相同。 在普通的选择编译模块的基础上,Apache2.0把请求进程的主要部分移到

  • 我决定将我的Spring Boot应用程序从1.3.2升级到1.4.0。不幸的是,这几乎破坏了我用注释指定的所有JPA存储库查询。 我不知道这是什么,以及在那些版本之间有什么变化。 我发现的是这个JIRA问题,但我没有直接使用中的版本。我只在版本中使用。

  • 所有控制器都应该是形式,理想情况下应该只存在指令上 使用指令,特别是“组件指令”,使用以下属性: restrict: 'E' scope: {} template or templateUrl transclude (optional) (optional) 理想情况下每个文件有一个组件,或只做一件事

  • 为了帮助大伙儿升级,我们为现在的Apache用户提供了一份重要信息的文档说明。这些只是一些简要说明,你可以从新特性文档或src/CHANGES文件中得到更多信息。 这篇文档仅仅描述了从版本 2.0 到 2.2 的变化,如果你是从1.3版进行升级的,请查考从1.3升级到2.0文档。 编译时配置的改变 编译过程与2.0版本非常相似,你曾经使用过的configure命令行(在安装目录下的build/co

  • WARNING 本升级指南仅适用于 2.2 版本升级至 2.3 版本,如果你并非 2.2 版本,请查看其他升级指南,Plus 程序不允许跨版本升级! 更新代码 预计耗时: 2 小时 这是你自我操作的步骤,确认将你的 2.2 版本代码升级到 2.3 版本,如果你做过一些自定义修改可能会出现代码冲突,你需要解决。 升级依赖 预计耗时: 3 分钟 进入 Plus 程序目录,执行: composer up

  • WARNING 本升级指南仅适用于 2.1 版本升级至 2.2 版本,如果你并非 2.1 版本,请查看其他升级指南,Plus 程序不允许跨版本升级! 更新代码 预计耗时: 1 小时 这是你自我操作的步骤,确认将你的 2.1 版本代码升级到 2.2 版本,如果你做过一些自定义修改可能会出现代码冲突,你需要解决。 升级依赖 预计耗时: 3 分钟 进入 Plus 程序目录,执行: composer up