我的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 协议(protocol)版本或密码套件。当服务器需要不再被认为是安全的 RC4 时,很可能会导致这种情况。
Firefox 也有类似的错误。
正如我所说,配置上唯一不同的是 spring boot 版本。我是否在配置中遗漏了一些东西,以便它可以与更新版本的 spring boot 一起使用?
提前致谢 干杯!
附言我对 ssl 相关主题不是很了解,所以请尽量简单地解释一下。
最佳答案
感谢这个 Boot's Tomcat SSLsample,我设法解决了这个问题由 Andy 提供
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 需要指定的 server.ssl.key-store-password=password
仅仅 服务器是不够的。 ssl.key-password
被指定所以在更新配置后我想出了这样的事情:
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
现在它按预期工作了:) 希望这个答案对其他人有帮助。
附言是的,我知道对特定 key 和一般存储使用相同的密码是不好的,但这只是一个测试 key 存储。
关于java - 从 1.3.x 升级到 1.4.0 后,Spring boot ssl 配置损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38991385/