.Net Specific information to performs XML signing and XML signature verification using GeneXus XmlSignature Module
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>Oy8OX..Ug8ho=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>DTl51DmjF..v8z1bl5S+9wyWE3PuB7kk=</SignatureValue>
</Signature>
- Also, elements without contents (example; Transform element) will close the XML tag on the same tag (<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />). This is the equivalent on XML to <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" ></Transform>, which means it is compatible with Java xmlsec implementation.
- The use of an xPath is disallowed by default for .Net Framework applications. For more information, read link1, link2.
- The use of an xPath is disallowed by default for .Net Core System.Security.Cryptography.Xml library for checksignature.