Play 2.2.1 中的 SSL\TLS 支持

标签 ssl playframework playframework-2.0 ssl-certificate

我要玩了! (2.2.1,Java)应用程序和我想要允许:

  • 客户端证书 - 只有使用客户端证书的客户端身份验证才能使用应用 API。
  • 服务器端证书 - 客户端必须能够通过其受信任的 CA 列表对服务器提供的证书进行身份验证。

什么是玩!这样做的最佳实践?

另外,你知道密码算法有哪些玩法吗!正在使用? (TLS 1.2、1.1、1.0、SSL 3.0、SSL 2.0 等),如果不使用 TLS 1.2,我可以强制执行 Play!要使用它吗?

当您使用 SSL/TLS 进行 Play 时!您使用什么作为前端 HTTPS 服务器? Apache、Nginx、Netty.IO 或 Play!建在服务器上? (因为根据官方文档,非Play!服务器可以更好地处理HTTPS请求)。

最佳答案

Play 使用 JSSE 进行 TLS,因此您可以使用 JSSE 附带的 SSLEngine 配置 Play。如果您使用 Play 作为 HTTPS 客户端,那么 WS 将为您进行主机名验证。如果您使用 Play 作为 HTTPS 服务器并需要进行客户端身份验证,则应配置自定义 SSLEngineProvider。

有一个激活器模板,展示了如何使用 Play 作为 HTTPS 客户端和服务器,并使用客户端身份验证:

https://github.com/typesafehub/activator-play-tls-example

关于Play 2.2.1 中的 SSL\TLS 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220101/

相关文章:

java - 玩框架2.4 GlobalSettings。这里没有预期的界面

apache - 仅在 ssl 请求时将子域转发到主域

java - 为什么简单的选择查询返回 List<Mymodel> 但在 jpa 中加入查询返回 List<Object>

scala - Play 2.0 集成 TDD/BDD 数据库模型生成

java - 无法使用 play 连接到数据库 ebean

java - 既然 Form.form() 已弃用,如何为 play (java) 单元测试创​​建 Form<T> ?

scala - 如何对 Controller 传递给 Play Framework 中的 View 的参数执行测试

java - 尝试运行 Java NIO SSL 的简单示例来加载 https ://www. amazon.com 的内容,但收到 400 Bad Request

java - 使用 com.sun.net.httpsserver 的客户端证书身份验证

SSL: certificate_verify_failed 使用 Google Assistant SDK