我正在尝试访问受证书保护的 Web 服务。 安全设置在 IIS 上,Web 服务在其后面。
我认为 WS-SECURITY 不会执行这种类型的身份验证。 有什么方法可以在调用web服务时传递客户端证书吗?
我刚收到一个 IIS 错误页面,上面写着“该页面需要一个 客户端证书”。
我正在使用 CXF 2.1.4
最佳答案
是的,这可以使用 CXF。您将需要设置客户端管道。您可以指定包含证书的 keystore ,这些证书将允许您访问 IIS 中的 Web 服务。只要您在此处使用的证书是 IIS 中已知的允许客户端,就可以了。
<http:conduit name="{http://apache.org/hello_world}HelloWorld.http-conduit">
<http:tlsClientParameters>
<sec:keyManagers keyPassword="password">
<sec:keyStore type="JKS" password="password"
file="src/test/java/org/apache/cxf/systest/http/resources/Morpit.jks"/>
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore type="JKS" password="password"
file="src/test/java/org/apache/cxf/systest/http/resources/Truststore.jks"/>
</sec:trustManagers>
...
</http:tlsClientParameters>
样本来自:CXF Wiki
关于java - 如何将 CXF 客户端的 TLS/SSL Http 身份验证用于 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/543896/