如何将我的 Web 应用程序配置为 run/read 我的自定义 TrustStore?

How to configure my web application to run/read my custom TrustStore?

美好的一天,

我在 Webphere 有一个 java 网络应用程序,这个网络应用程序需要调用 IBM 第三方来获取一些信息。

IBM 给我一个包含客户端证书的 .p12 文件,我通过 WAS 控制台将其作为新 TrustStore 导入,并通过 WAS 控制台中的这一步设置正确的管理范围, Security > SSL certificate and key management > Key stores and certificates.

但是,我的应用程序从未 run/read 这个新的 TrustStore。所以我一直打403 Forbidden。

我怀疑是我没有配置好。请就此提出建议。

如果它实际上是一个客户端证书,您需要将它添加到 Keystore,而不是 Truststore。 Truststore 是放置您想要信任的服务器证书的地方,而不是您想要展示的客户端证书。

最简单的方法是将其导入现有密钥库之一,而不是创建一个新密钥库。例如CellDefaultKeyStore。导入为 "Personal certificate".

更新:不过不要给它起 "default" 别名。这会扰乱 WebSphere 自己的内部 SSL 通信。而是给它另一个别名,并在 "Dynamic outbound endpoint SSL configuration" 中引用它,以表明您希望在连接到特定目的地时使用该特定别名

如果您不想导入现有的密钥库,您可以创建一个新密钥库和一个使用它的新 SSL 配置,并在"Dynamic outbound endpoint SSL configuration"。但是除非您管理很多不同的客户端证书,否则这似乎比必要的更复杂。