我们有一个在WAS 8.5服务器上运行的应用程序。该应用程序有两个外部服务调用,分别调用两个不同的第三方系统,其中一个服务(Service2 / Server2)需要客户端身份验证。
请参考该图以供参考。
Server2 <-- Client --> Server1 Handshake Diagram
对于Server1,我们已经与他们共享了一个客户端证书,并且握手是完美的。
对于不需要客户端Aunthentication的Server2,握手期间会失败。我们发现,在握手过程中,服务器尝试对客户端进行身份验证(假设在Server2上客户端身份验证为 SUPPORTED ,但不是 REQUIRED )。由于客户端密钥库具有客户端证书,因此将其用于握手过程,因为该客户端证书在Server2 Truststore中不存在,因此失败了。
我的问题是,即使服务器支持客户端身份验证,是否也可以不将客户端证书发送到Server2。
希望这个问题是可以理解的。
注1 :我们对Server1或Server2没有任何控制权,并且我们不希望这些第三方服务进行任何更改来实现此功能。 < / p>
Note2 : Service2可以在没有客户端密钥库中的客户端证书的情况下完美运行。请参考Serer2-Client SSL握手图,该图非常有效。 Client --> Server2 Handshake Diagram
期望精通Websphere SSL配置的人员提供帮助。
谢谢你, 萨努伊
答案 0 :(得分:0)
简而言之:
您必须创建2个单独的动态出站SSL配置(有关详细信息,请参见here),前提是您的2个外部服务具有不同的URL。需要CertAuth的一个将在密钥库中具有证书,另一个则不需要(您需要2个不同的SSL配置)。