Scala Play 框架使用 Play WS 将多个信任管理器指向 PEM 文件
Scala Play framework points multiple trust managers at the PEM file using Play WS
我想使用 Play WS 在我的应用程序中调用多个其他服务。
鉴于此文档,https://www.playframework.com/documentation/2.4.x/WSQuickStart
我知道如何将信任管理器指向 PEM 文件。但是这里的问题是我想调用多个 Web 服务并且每个服务都有不同的根证书怎么样?如何指定多个证书?
play.ws.ssl {
trustManager = {
stores = [
{ type = "PEM", path = "/path/to/cert/globalsign.crt" }
]
}
}
另外,如果某些服务使用public信任证书,上面的代码是否会对这些服务生效?
要使用多个证书,您可以执行以下任一操作:
- 将每个证书添加到 ssl 配置,如 globalsign.crt 和 service2.crt 仅来自下方
- 创建一个信任库,将每个证书添加到信任库,将信任库提供给 ws。这将与 services.jks 一样,仅低于
- 或 1 和 2 的组合..
要同时依赖 public 证书,您需要告诉 play-ws 也使用默认信任库。
play.ws.ssl {
trustManager = {
stores = [
{ type = "PEM", path = "/path/to/cert/globalsign.crt" }
{ type = "PEM", path = "/path/to/cert/service2.crt" }
{ type = "JKS", path = "/path/to/truststore/services.jks" } #Added trust store
{ path: ${java.home}/lib/security/cacerts } # Fallback to default JSSE trust store
]
}
}
参考https://www.playframework.com/documentation/2.4.x/ExampleSSLConfig。
您可能需要参考以下内容来创建和管理信任库:https://docs.oracle.com/cd/E19509-01/820-3503/6nf1il6er/index.html, https://docs.oracle.com/cd/E19830-01/819-4712/ablqw/index.html
我想使用 Play WS 在我的应用程序中调用多个其他服务。
鉴于此文档,https://www.playframework.com/documentation/2.4.x/WSQuickStart
我知道如何将信任管理器指向 PEM 文件。但是这里的问题是我想调用多个 Web 服务并且每个服务都有不同的根证书怎么样?如何指定多个证书?
play.ws.ssl {
trustManager = {
stores = [
{ type = "PEM", path = "/path/to/cert/globalsign.crt" }
]
}
}
另外,如果某些服务使用public信任证书,上面的代码是否会对这些服务生效?
要使用多个证书,您可以执行以下任一操作:
- 将每个证书添加到 ssl 配置,如 globalsign.crt 和 service2.crt 仅来自下方
- 创建一个信任库,将每个证书添加到信任库,将信任库提供给 ws。这将与 services.jks 一样,仅低于
- 或 1 和 2 的组合..
要同时依赖 public 证书,您需要告诉 play-ws 也使用默认信任库。
play.ws.ssl {
trustManager = {
stores = [
{ type = "PEM", path = "/path/to/cert/globalsign.crt" }
{ type = "PEM", path = "/path/to/cert/service2.crt" }
{ type = "JKS", path = "/path/to/truststore/services.jks" } #Added trust store
{ path: ${java.home}/lib/security/cacerts } # Fallback to default JSSE trust store
]
}
}
参考https://www.playframework.com/documentation/2.4.x/ExampleSSLConfig。
您可能需要参考以下内容来创建和管理信任库:https://docs.oracle.com/cd/E19509-01/820-3503/6nf1il6er/index.html, https://docs.oracle.com/cd/E19830-01/819-4712/ablqw/index.html