string signedXml = iolaCom.SignXML(keyId, SF_DETACHED_DATA, "utf-16", xml, idData);
Также было бы интересно узнать - получилось ли у Baha добиться того чтоб подпись корректно принималась на той стороне? Я так догадываюсь что мы с ним бьемся над одной и той же темой - отчеты о пенсионных отчислениях ГЦВП.
Ясно, тогда установите флаг SF_DETACHED_DATA.
В параметре InSign функции SignXML передайте ParentSignNode ParentNameSpace SignNodeId
где:
ParentSignNode - имя родительского XML тега для размещения подписи
ParentNameSpace - name space этого тега. Если пространство имен есть, но не будет указано - то тег не найдется
SignNodeId - Id XML тега для вычисления подписи
Пример:
idData = "Header http://schemas.xmlsoap.org/soap/envelope/ bff159a1-ad57-4a40-975d-8b639130f67a";
var flg = (int)IOLACOM_OPERFLAGS.SF_DETACHED_DATA;
string signedXml = iolaCom.SignXML(keyId, SF_DETACHED_DATA, "utf-16", xml, idData);