public void Sign(X509Certificate2 certificate)
{
string xml = GetDefinitionsXml();
var signatureElement = XmlSignatureHelper.Sign(xml, certificate);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(SignatureType));
using (StringReader stringReader = new StringReader(signatureElement.OuterXml))
{
Signature = ((SignatureType)(xmlSerializer.Deserialize(System.Xml.XmlReader.Create(stringReader))));
}
}