Example #1
0
        public void VerifyData_VerifiesComputedSignature_Pass()
        {
            Random rdm = new Random();
            byte[] message = new byte[256];
            byte[] signedMessage;
            string nativeXmlString;
            bool isMessageNotTamperedWith = true;
            rdm.NextBytes(message);

            using (var rsacsp = new RSACipher<RSACryptoServiceProvider>())
            {
                signedMessage = rsacsp.SignData<SHA256Cng>(message);
                nativeXmlString = rsacsp.ToXmlString(true);
            }

            using (var cipher = new RSACipher<RSACryptoServiceProvider>(nativeXmlString))
            {
                isMessageNotTamperedWith = cipher.VerifyData<SHA256Cng>(message, signedMessage);
            }

            Assert.IsTrue(isMessageNotTamperedWith);
        }