// Convert an existing Updatedescription to xml and sign it public string ToXml(string rsakey) { if (String.IsNullOrWhiteSpace(rsakey)) { throw new ArgumentException("Empty rsakey provided"); } RSACryptoServiceProvider rsa; try { rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(rsakey); } catch { throw new ArgumentException("Invalid rsakey provided"); } if (rsa.PublicOnly) { throw new ArgumentException("rsakey has only public part"); } try { XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(this.ToXml()); xdoc.AddSignature(rsa); return(xdoc.OuterXml); } catch { return(""); } }