WSO2 ESB使用客户端证书凭据发送中介

时间:2013-03-13 19:43:04

标签: wso2 wso2esb

我们在IIS下有一个WCF服务,它受到带有客户端证书的传输安全性(SSL)的保护(不是消息WS-Security,而是IIS本身)。 我已将证书添加到wso2carbon.jks 每当执行Send mediator时,请求超时。 IIS日志仅显示错误500.0。 如果在IIS配置中我设置忽略客户端证书一切正常。 编码的Java Axis2和.Net客户端也可以在ISS上打开证书。

我很可能在电话中错过了一些内容。这种情况是否需要WS-policy? 我将不胜感激任何帮助。

2 个答案:

答案 0 :(得分:2)

终于找到了解决方法。

<强>解决方案 在IIS上启用SSLAlwaysNegoClientCert。这是一篇好文章:Make IIS require SSL client certificate during initial handshake

原因:如果客户端访问受保护资源,IIS默认会重新协商SSL。 NIO和HttpPathThrough传输不允许重新协商(这是有意义的,因为它是安全漏洞)。所以IIS没有得到客户端Hello并发出错误500(对于WSO2的人来说,为什么TryIt客户端会挂起直到超时呢?)

备注:我们并不总是可以在IIS端进行更改,因此如果WSO2 ESB中可用的传输更灵活,可以更好地进行重新协商(可能我错过了配置它的位置......)

答案 1 :(得分:0)

在这种情况下,WSO2 ESB充当客户端。因此,您需要将证书导入到WSO2 ESB的repository / resources / security文件夹中的client-truststore.jks。然后你的服务调用应该有效。