К сожалению, XML-подписи поставляется только с MSXML 5.0 .Дело в том, что XML-DSig на самом деле не считается функцией MSXML.Лучше всего считать MSXML 5.0 ответвлением - странным сводным братом MSXML - вместо части линии.Им было бы лучше назвать его чем-то, кроме MSXML, несмотря на всю путаницу, которую он вызвал.Для него почти нет документации и нет способа ее распространения .Даже команда XML в Microsoft говорит: « Не используйте это ».
Но все это вам не поможет.Реальная проблема заключается в том, что Цифровые подписи XML - это сложные вещи .MSXML 5.0 реализовал его только потому, что MS Office полностью контролировал XML;и из-за этого мог получить последовательные результаты.Нет гарантии, что подпись XML, созданная в .NET, совместима с MSXML 5.0.У вас могут даже быть противоречивые результаты, где это иногда работает, а иногда не работает.
Вам нужно написать управляемый код C ++, где вы можете использовать те же функции .NET, которые генерировалиподпись в первую очередь.Это не нативный C ++, но он даст вам согласованные результаты.Единственная другая альтернатива - это найти библиотеку, которую можно использовать как в .NET, так и в C ++, которая может генерировать цифровую подпись.