Certificate Bluemix-如何将证书添加到信任存储

Certificate Bluemix-如何将证书添加到信任存储,certificate,ibm-cloud,truststore,jks,Certificate,Ibm Cloud,Truststore,Jks,我有一个纯Java应用程序,目前使用基于.jks的密钥和信任存储。据我所知,Bluemix下的SSL协议处理是在网络端完成的,使用单个端口和通配符证书进行主机和域标识。我关心的是信任存储的使用,我使用信任存储添加受信任伙伴节点的证书,例如身份提供者。是否有高级上载工具可用于帮助安装受信任的证书?有了这一点,Java可以将其功能限制在一个非常基本的HTTP实现上,外部由云及其在动态端口上发生的HTTP到HTTPS转换机制提供帮助 将可信服务器证书上载并激活到我的应用程序中的最佳方式是什么 感谢@d

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

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

感谢@david发送评论


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

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

关于错误:javax.net.ssl.SSLPeerUnverifiedException:对等未验证

我已经用环境变量中配置的JAVA_OPTS=“-Djavax.net.debug=SSL”隔离了SSL问题,并重复了应用程序“推送”。跟踪显示了一个关于无限制JCE Strength的问题,即调用节点(IdP)和OpenJDKJava8之间的不兼容。 显然,我的代码能够通过使用本地密钥库生成SSL。我将打开一个关于加密问题的新报告,并询问社区如何修补它


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

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

“代理是否仅在传入路径上起作用”--是的,与传出连接(ssl或其他)无关。