0

如何获得 'XPath' 而不是 'dsig-xpath:XPath' ?

      <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SigFrs">
<ds:SignedInfo>
  <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
  <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
  <s:Reference Id="signatureId" URI="">
    <ds:Transforms>
      <ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
        <dsig-xpath:XPath xmlns:dsig-xpath="http://www.w3.org/2002/06/xmldsig-filter2" Filter="intersect">/Root/Element1</XPath>
        <dsig-xpath:XPath xmlns:dsig-xpath="http://www.w3.org/2002/06/xmldsig-filter2" Filter="intersect">/Root/Element2</XPath>
      </ds:Transform>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
    <ds:DigestValue>6D+1WZjC....vGidMqCX5uCL1rw=</ds:DigestValue>
  </ds:Reference>
</ds:SignedInfo>

得到这样的:

    <ds:Transforms>
      <ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
        <XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="intersect">/Root/Element1</XPath>
        <XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="intersect">/Root/Element2</XPath>
      </ds:Transform>
    </ds:Transforms>

这可能看起来像我导入的 .jar (xmlsec-2.1.0.jar)?

4

1 回答 1

0

将前缀分配给空字符串:

   ElementProxy.setDefaultPrefix("http://www.w3.org/2002/06/xmldsig-filter2", "")
于 2017-10-28T13:52:32.543 回答