예제 #1
0
        protected async Task GivenInvalidSignature()
        {
#if NET452
            var key = Options.Key.GetSymmetricKey();
#endif
#if NETCOREAPP2_0
            var key = Options.Key.Key;
#endif
            using (var hmac = new HMACSHA256(key))
            {
                var originalMessageHeaders = Message.Headers;
                var modifiedHeaders        = new MessageHeaders(originalMessageHeaders)
                {
                    Origination = new Uri("urn:localhost/platibus2")
                };
                using (var cleartextStream = new MemoryStream())
                {
                    using (var messageWriter = new MessageWriter(cleartextStream, Encoding.UTF8, true))
                    {
                        await messageWriter.WriteMessageHeaders(modifiedHeaders);
                    }
                    var invalidSignature = hmac.ComputeHash(cleartextStream);
                    var encryptedHeaders = new EncryptedMessageHeaders(EncryptedMessage.Headers)
                    {
                        Signature = Convert.ToBase64String(invalidSignature)
                    };

                    EncryptedMessage = new Message(encryptedHeaders, EncryptedMessage.Content);
                }
            }
        }
예제 #2
0
        protected void GivenCorruptedSignature()
        {
            var encryptedHeaders = new EncryptedMessageHeaders(EncryptedMessage.Headers)
            {
                Signature = Convert.ToBase64String(Encoding.UTF8.GetBytes("Bad signature"))
            };

            EncryptedMessage = new Message(encryptedHeaders, EncryptedMessage.Content);
        }
예제 #3
0
        protected void GivenMissingSignature()
        {
            var encryptedHeaders = new EncryptedMessageHeaders(EncryptedMessage.Headers)
            {
                Signature = null
            };

            EncryptedMessage = new Message(encryptedHeaders, EncryptedMessage.Content);
        }