0
XmlDsigC14NTransform에 문제가 있습니다. 나는 http://www.di-mgt.com.au/xmldsig2.html (일부는 정규화 된 SignedInfo 요소를 작성하고 SignatureValue를 계산 함) 에서 예제를 반복하려하지만 내 코드는 xml에서 공백을 잃어 버리고 올바른 hexdump를 얻지 못합니다.C# XmlDsigC14NTransform이 xml에서 모든 공백을 제거하는 이유
내 C# 코드 :
XmlDocument signedInfoXml = new XmlDocument();
signedInfoXml.Load(@"C:\temp\new_sign.txt");
XmlDsigC14NTransform xmlTransform = new XmlDsigC14NTransform();
xmlTransform.LoadInput(signedInfoXml);
MemoryStream memoryStream = (MemoryStream)xmlTransform.GetOutput();
return BitConverter.ToString(memoryStream.ToArray()).Replace("-"," ");
소스 XML (파일 C에서 : \ 임시 \의 new_sign.txt) : 내 XML로 공백을 저장하고 같은 축약 된 XML을 얻을 수있는 방법
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<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" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>UWuYTYug10J1k5hKfonxthgrAR8=</DigestValue>
</Reference>
</SignedInfo>
샘플 (http://www.di-mgt.com.au/xmldsig2.html)?
보존 공백은 정규화와 동일하지 않습니다. – UserControl