Я просто выполняю межъязыковую отладку некоторых сценариев SAML, и у меня есть код, работающий на C#, но не на другом языке, и я пытаюсь сравнить результаты, чтобы выяснить, где мне не хватает что-то. Кажется, проблема в последней подписи (значение дайджеста верное). Мой код C# выглядит так:
XmlElement element = ...;
SignedXml signedXml = ...; // A SignedXml instance for the element above
var reference = new Reference("#abc");
reference.AddTransform(new XmlDsigEnvelopedSignatureTransform());
reference.AddTransform(new XmlDsigExcC14NTransform());
signedXml.AddReference(reference);
signedXml.ComputeSignature();
...etc...
Я бы хотел просто увидеть XML -AFTER- преобразования были применены, чтобы я мог видеть точную строку, которая C# подписывается с помощью ComputeSignature ().
Есть ли способ сбросить эту строку?