我在使用 Ck XmlDSig Gen_AddExternalTextRef 函数时遇到问题。签名后,DigestValue 总是为不同的 URL 获取相同的值。
<ds:DigestValue>8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=</ds:DigestValue>
问题出在哪里?
我找不到使用 XmlDSig Gen_AddExternalTextRef 函数的示例。谢谢您的帮助。
马立克
代码:
.......................
CkXmlDSigGen_AddExternalTextRef(xmlSigGen,PWideChar(url1),sbXml,'utf-8', true, 'sha256','');
CkXmlDSigGen_SetRefIdAttr(xmlSigGen,PWideChar(url1),PWideChar(ref1));
CkXmlDSigGen_AddExternalTextRef(xmlSigGen,PWideChar(url2),sbXml,'utf-8', true, 'sha256','');
CkXmlDSigGen_SetRefIdAttr(xmlSigGen,PWideChar(url2),PWideChar(ref2));
................
CkXmlDSigGen_CreateXmlDSigSb(xmlSigGen,sbXml);
生成的 XML:
<ds:Reference Id="xmldsig-fc9386fa-4c0d-42ba-bd4e-7ecb61218cfd-ref1" URI="https://isus.ezdrowie.gov.pl/fhir/Encounter/131544/_history/1">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="xmldsig-fc9386fa-4c0d-42ba-bd4e-7ecb61218cfd2" URI="https://isus.ezdrowie.gov.pl/fhir/Condition/131553/_history/1">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=</ds:DigestValue>