2010-09-20 30 views
5

Estoy usando Soap4r y HTTPClient para interactuar con un servicio web. El Servicio solo acepta solicitudes firmadas digitalmente con un certificado X509. He seguido los pasos para generar una clave privada, obtener la solicitud de certificado (CSR) y obtener el certificado real de la autoridad (la compañía que aloja el servicio web).Solicitudes SOAP en Ruby con certificados X509

¿Hay ejemplos de cómo hacerlo? ¿esta?

+0

¿Alguien podría implementar WS-Security con ruby ​​3 años después? ¡¡Necesito algo de ayuda!! – rderoldan1

Respuesta

4

Parece que el servicio web que está consumiendo utiliza WS-Security. WS-Security es un estándar OASIS que utiliza XML-Signature y XML-Encryption para asegurar SOAP-Messages. Sin embargo, hasta donde sé, Soap4r no es compatible con WS-Security. Implementarlo usted mismo es bastante inútil ya que es bastante complejo (e involucra cosas molestas como XML-Canonicalization).

WSO2 tiene enlaces de rubí para su marco (http://wso2.org/projects/wsf/ruby) tal vez podría usarlo. Si no es así, probablemente deba envolver alguna biblioteca C (como libxmlsec) para firmar los mensajes creados por Soap4r. Hay enlaces ruby ​​(http://rubygems.org/gems/xmlsec-ruby) para ello, pero creo que no exponen la funcionalidad completa de xmlsec.

Si esta es una opción que podría implementar el código en Java, ya que tiene un buen número de bibliotecas de SOAP de código abierto de gran alcance con soporte para WS-Security como Metro (http://metro.java.net/), Axis2 (http://ws.apache.org/axis2/) y CXF (http://cxf.apache.org/)

Cuestiones relacionadas