certificate - Bluemix - 如何将证书添加到信任库

标签 certificate ibm-cloud truststore jks

我有一个纯 Java 应用程序,目前使用基于 .jks 的 key 和信任库。据我了解,Bluemix 下的 SSL 协议(protocol)处理是在网络端使用单个端口和用于主机和域标识的通配符证书完成的。我关心的是关于信任库的使用,我用它来添加可信合作伙伴节点的证书,例如身份提供者。是否有可用的高级上传工具来帮助安装受信任的证书?有了它,Java 可以将其功能限制为非常基本的 HTTP 实现,由云及其在动态端口发生的 HTTP 到 HTTPS 转换机制的外部协助。

将受信任的服务器证书上传并激活到我的应用程序中的最佳方式是什么?

感谢@david 发送评论。

该应用程序是一个纯 Java 包,它集成了一个嵌入式 Web 容器并处理一个单一的 GUI 页面以启动和 Oauth 2.o 相关的身份验证流程。它的设计类似于 cURL 序列,因此它基本上是一个 Web 服务。为了保持精简,我的意图是避免 Web 应用程序服务器的复杂性。 SSL 可以由代码本身驱动,因为我设法使用 Maven 包资源扩展命令将 key 和信任库打包到 cf 推送包中,该命令能够通过其扩展名复制一组平面文件,例如*.jks。测试表明 Java 代码能够读取它。我怀疑默认的 SSL 处理将 SSL 构造传输到 Bluemix 代理网关,基本上通过基本的 HTTP 协议(protocol)与应用程序连接(问题:代理是否仅在传入路径上起作用?)。

我没有找到关于传出 SSL 流程或描述如何存储可协助代理的受信任证书的机制的文档。此外, keystore 是否需要映射 *.mybluemix.net 域通配符的证书,还是需要自签名证书?

关于错误:javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

我已经通过在环境变量中配置的 JAVA_OPTS="-Djavax.net.debug=ssl"隔离了 SSL 问题,并重复了应用程序“推送”。跟踪显示有关不受限制的 JCE stregth 的问题,即调用节点 (IdP) 与 OpenJDK Java 8 之间的不兼容性。 显然我的代码能够通过使用本地 keystore 生成 SSL。我将打开一份关于密码学问题的新报告,并询问社区如何修补它。

感谢@david 提供支持,澄清有关 Bluemix 和 SSL 代理支持以及信任证书使用的详细信息。

最佳答案

据我所知没有上传工具,但假设您使用的是 Liberty,当您将 keystore 推送到 Bluemix 时(通常在 resources/security 目录中),您应该能够将它与您的服务器目录打包在一起.您必须按照描述在 server.xml 中配置 keystore 元素 here .每次需要修改 keystore (即添加新证书)时,您都必须重新推送您的应用程序,但这可能不会经常发生,具体取决于您的用例。

关于certificate - Bluemix - 如何将证书添加到信任库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34612821/

相关文章:

sql-server - OpenSSL:获取 SQL Server 公共(public)证书

java - 列表数组输出和 IBM 的 Watson Java SDK

azure - 如何存储 HTTP 触发的 Azure Functions 的已知客户端证书?

java - 从信任库验证 Java 中的证书链

java - 尝试在 Spring Boot 中启用自签名 SSL 认证时出现 FileNotFoundException

c# - WCF 中的证书验证

certificate - 证书的颁发者无效 : keychain

c# - 如何使用 C# 验证 SSL 证书

python - MQTT 客户端不断与 Bluemix IOT Foundation 断开连接

ibm-cloud - 如何在 Cloudant 中计算文档大小?