Вы должны быть в состоянии добавить XPath-преобразование в подписи. Это должно выглядеть примерно так:
<Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<XPath xmlns:dsig="&dsig;">
...
</XPath>
</Transform>
Я не владеет в XPath, но это должно быть легко сформулировать XPath-выражение, которое исключает Footer-элемент. (Но учтите, что XPath является необязательной частью XML-DSIG, поэтому не все реализации могут его поддерживать).
В качестве альтернативы, если вы могли бы реструктурировать ваш документ будет
<envelop>
<header>blaa</header>
<message>blaa blaa</message>
<Signature></Signature>
</envelop>
или
<envelop>
<signedEnvelope>
<header>blaa</header>
<message>blaa blaa</message>
</signedEnvelope>
<Signature></Signature>
</envelop>
вы могли бы справиться с этим с помощью окутан Подпись Transform (первый случай), либо подписав элемент signedEnvelope (второй случай).
Привет, Rasmus, у меня нет возможности реструктурировать xml, так как формат определяется сторонним приложением. Я рассмотрю трансформацию XPath. Спасибо – Eros