private byte[] Sign(byte[] data)
 {
     byte[] buffer;
     try
     {
         using (MemoryStream stream = new MemoryStream(data))
         {
             XmlDocument document = new XmlDocument();
             document.Load(stream);
             Encoding encoding = GetEncoding(document);
             buffer = new XmlSigned().SignXml(data, settings.CspProfile, "", encoding);
         }
     }
     catch (Exception exception2)
     {
         Logger.Add(exception2);
         throw new Exception(exception2.Message, exception2);
     }
     return(buffer);
 }
    private SignatureValidateStatus Verify(byte[] data, byte[] signature)
    {
        SignatureValidateStatus noValidate;

        try
        {
            XmlSigned signed = new XmlSigned();
            using (MemoryStream stream = new MemoryStream(data))
            {
                XmlDocument document = new XmlDocument();
                document.Load(stream);

                stream.Position = 0L;
                noValidate      = signed.VerifyXml(stream, signature, GetEncoding(document)) ? SignatureValidateStatus.Valid : SignatureValidateStatus.EdsIncorrect;
            }
        }
        catch (Exception exception2)
        {
            throw new Exception(exception2.Message, exception2);
        }
        return(noValidate);
    }