Digital Signature WS .Net

IS4kO

Hola chicos. Escribo en modo semi desesperado, ya que llevo un par de semanas con un tema que no consigo resolver.... aer si da la casualidad de que alguien se ha pegado con ello:

La cosa va de servicios web. Mi aplicación es cliente de un servicio web ya creado externamente, del cual nos han pasado el wsdl, por lo que los datos y conex que mandamos están bien, pero resulta que tenemos que firmar digitalmente el body del mensaje SOAP. Y además, hacerlo como nos dicen, es decir, con una estructura muy concreta:

******************************************
<?xml version="1.0" encoding="ISO-8859-1"?>
<soap:Envelope xmlns : soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns : ds="http://www.w3.org/2000/09/xmldsig#">
<soap:Header>
<ds:Signature>
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds : SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds : Reference Id="" URI="#TGSS01">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds: DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds: DigestValue>v2GuPQvHeaxb0wUaaMcPyDUmbpo=</ds: DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>uK0fgtuUIyadfh7jPQ=</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>WOAR+Kx0iTjI+6PW3lrXRiUw/a8hqicT3mu32gNOcLIEPDRBwG4hZ0rkQ=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</soap:Header>
<soap:Body Id="ID_ESTATICO">......


Utilizando Web Services Enhancements 3.0 conseguímos firmar el paquete, añadirle el certificado de seguridad etc..., pero NO conseguimos meter el ID al elemento Body del mensaje SOAP.a parte de que el header resultante se sale un poco de las estructura que el servicio nos exige... ya que nos añade los tags própios de wse

Alguna idea?, url?, opinión?... GRACIAS

Usuarios habituales

  • IS4kO