如何将我的 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"。但是除非您管理很多不同的客户端证书,否则这似乎比必要的更复杂。
美好的一天,
我在 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"。但是除非您管理很多不同的客户端证书,否则这似乎比必要的更复杂。