I've got trouble with Computing digest value I'm testing simple XML
FILE
//I read it
byte[] fileXML = File.ReadAllBytes(sFolder + "\\" + sFileName);
//convert utf-8
String myString = Encoding.UTF8.GetString(fileXML);
fileXML = Encoding.UTF8.GetBytes(myString);
//transform
byte[] fileC14NXML = C14NTransform(fileXML);
//add object node
String doCument_object = "<" + pref_ds + ":Object Id=\"" + "ID-6eaa264f-7fde-4cd1-a9f7-b f1edcc4029b" + "\" MimeType=\"text/xml\">" + System.Text.Encoding.UTF8.GetString(fileC14NXML) + " </" + pref_ds + ":Object>";
//change to array of bytes
fileC14NXML = System.Text.Encoding.UTF8.GetBytes(doCument_object);
// Hash the data
SHA256Managed sha256 = new SHA256Managed();
byte[] hashFileXml = sha256.ComputeHash(fileC14NXML);
sB64_digestvalue = System.Convert.ToBase64String(hashFileXml, Base64FormattingOptions.InsertLineBreaks);
In signature file
<ds:Reference Id="refdok-4857f146-c3aa-4abe-9160-8a95427da856" URI="#ID-6eaa264f-7fde-4cd1- a9f7-bf1edcc4029b"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>YQ/pge2Bm9h/ytOsDbB/YE0yGMrvqnfpkCpG9SL4ipQ=</ds:DigestValue></ds:Reference>
If I check signature dsig aplication tells mi that error in reference , the object could by change
<ds:Object Id="ID-6eaa264f-7fde-4cd1-a9f7-bf1edcc4029b" MimeType="text/xml"><x a="1" b="2" c="3"></x></ds:Object>
when I'm using application for digital signature I get Referene like that (different digestvalue gqEIiDPlBh1YanMIcPG2upkkWzc7ValUNN9rkLjErnc=)
<ds:Object Id="ID-6eaa264f-7fde-4cd1-a9f7-bf1edcc4029b" MimeType="text/xml"><x a="1" b="2" c="3"></x></ds:Object>
<ds:Reference Id="ID-e68e3d4c-227f-4ed4-8345-d7f9f72d5b46" URI="#ID-6eaa264f-7fde-4cd1-a9f7-bf1edcc4029b"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>gqEIiDPlBh1YanMIcPG2upkkWzc7ValUNN9rkLjErnc=</ds:DigestValue>
</ds:Reference>
And while verifing digital signature -telling me that's ok.
I need to know what i'm doing wrong