1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Chargement Fichier XML à signer
XmlDocument doc = new XmlDocument();
doc.Load(filename);
// Création du fichier xml signé
SignedXml signedXml = new SignedXml();
//Chargement de la clé privée
RSACryptoServiceProvider key = new RSACryptoServiceProvider();
key.FromXmlString(privateKey);
signedXml.SigningKey = key;
// Création de l'objet qui contiendra les données utiles.
DataObject dataObject = new DataObject();
dataObject.Data = doc.ChildNodes;
dataObject.Id = "Illumination";
// Add the data object to the signature.
signedXml.AddObject(dataObject);
// Create a reference to be able to package everything into the
// message.
Reference reference = new Reference();
reference.Uri = "#" + dataObject.Id;
// Add it to the message.
signedXml.AddReference(reference);
// Compute the signature.
signedXml.ComputeSignature();
// Get the XML representation of the signature.
XmlElement xmlSignature = signedXml.GetXml();
XmlTextWriter xmltw = new XmlTextWriter(filename, new UTF8Encoding(false));
xmltw.Formatting = Formatting.Indented;
xmlSignature.WriteTo(xmltw);
xmltw.Close();
return true; |
Partager