java - 如何修复 java play 框架中自签名 TLS 证书的 'unknown_certificate' 错误

标签 java ssl playframework

我正在尝试在使用 Play 框架(版本 2.5)作为后端框架并使用 Angular 作为前端的内部 Web 应用程序上实现 HTTPS,并且我已经按照 Play 框架文档使用 Keytool 创建了一个自签名证书:

https://www.playframework.com/documentation/2.5.x/CertificateGeneration .

然后我将“.crt”文件保存在 cacerts(java keystore )中,并在使用这些附加命令启动应用程序时提供 .jks:

-Dplay.server.https.keyStore.path="path-to-jks-file"<br/> and -Dplay.server.https.keyStore.password="the-password-here"

但是在尝试向服务器发出请求后出现错误:

javax.net.ssl.SSLException: Received fatal alert: certificate_unknown (image below)

虽然之后会发生握手并且 HTTPS 工作正常。任何想法如何解决这个问题

Link to error image

最佳答案

我现在已经解决了这个问题。 Chrome 浏览器的问题是缺少“主题备用名称”,这是 Chrome 58+ 所必需的,这导致了 tls 握手期间的错误。将 SAN 属性添加到证书后,问题就消失了。 我发布此答案是为了帮助可能遇到相同问题的任何人...

关于java - 如何修复 java play 框架中自签名 TLS 证书的 'unknown_certificate' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56188804/

相关文章:

apache - 在 apache 上强制使用 https

java - 如何在 Java 的 Play Framework 2.5.9 中启用 CORS

Play 中内存过度使用!框架方法调用

java - java中有没有找到antilog的函数?

java - 方法返回类型来实现多个接口(interface) - 再次

java - 嵌套viewpagers : letting the outer swipe but not the inner

java - Arraylist 不断覆盖我添加的最后一个条目

SSL 网站在非 SSL (HTTP) 上显示 404 错误

php - cURL 出现 SSL 依赖错误 libssl.so Ubuntu 32 位中需要 libcrypto.so

ubuntu - 在 ubuntu 上更新软件包后,在 ubuntu 上 Play Framework 命令停止工作