CryptXML CryptXmlOpenToEncode为名称空间元素返回E_INVALIDARG

时间:2018-06-06 15:36:31

标签: xml signing

此CryptXML sample code在运行时有效:

CryptXML.exe -n Contoso SIGN FileOut.xml FileIn.xml / samlpEnvelope#

其中FileIn.xml定义为

<samlpEnvelope xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
  <Data>
    Hello, World!
  </Data>
</samlpEnvelope>

但是,添加冒号“:”命名空间运行

CryptXML.exe -n Contoso SIGN FileOut.xml FileIn.xml / samlp:Envelope#

<samlp:Envelope xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
  <Data>
    Hello, World!
  </Data>
</samlp:Envelope>

CryptXmlOpenToEncode()中生成此错误:

错误:0x80070057(E_INVALIDARG)

任何人都知道如何让CryptXML理解元素名称中的冒号?

谢谢!

1 个答案:

答案 0 :(得分:0)

一位同事程序员提出了这个建议并且有效!

CryptXML.exe -n Contoso SIGN FileOut.xml FileIn.xml / Envelope#