我正在使用Soap4r和HTTPClient与Web服务进行交互.本服务仅接受使用X509证书进行数字签名的请求.我已经完成了生成私钥,获取证书请求(CSR)以及从授权机构(托管Web服务的公司)获取实际证书的步骤.
有没有关于如何做到这一点的例子?
小智 5
您正在使用的 Web 服务似乎使用WS-Security。WS-Security 是一个 OASIS 标准,它利用 XML 签名和 XML 加密来保护 SOAP 消息的安全。但是,据我所知,Soap4r 不支持 WS-Security。自己实现它是非常没有希望的,因为它相当复杂(并且涉及像 XML 规范化这样烦人的东西)。
WSO2 为其框架提供了 ruby 绑定(http://wso2.org/projects/wsf/ruby),也许您可以使用它。如果没有,您可能需要包装一些 C 库(如 libxmlsec)来对 Soap4r 创建的消息进行签名。有 ruby 绑定(http://rubygems.org/gems/xmlsec-ruby),但我认为它们没有公开 xmlsec 的完整功能。
如果这是一个选项,您可以用 Java 实现代码,因为它有很多强大的开源 SOAP 库,支持 WS-Security,例如 Metro ( http://metro.java.net/)、Axis2 ( http:// ws.apache.org/axis2/)和 CXF ( http://cxf.apache.org/ )
| 归档时间: |
|
| 查看次数: |
1028 次 |
| 最近记录: |