public void SetupSerializationTest()
        {
            if (_serializerType == typeof(JsonMessageSerializer))
            {
                Serializer   = new JsonMessageSerializer();
                Deserializer = new JsonMessageDeserializer(JsonMessageSerializer.Deserializer, Bus, PublishEndpointProvider);
            }
            else if (_serializerType == typeof(BsonMessageSerializer))
            {
                Serializer   = new BsonMessageSerializer();
                Deserializer = new BsonMessageDeserializer(BsonMessageSerializer.Deserializer, Bus, PublishEndpointProvider);
            }
            else if (_serializerType == typeof(XmlMessageSerializer))
            {
                Serializer   = new XmlMessageSerializer();
                Deserializer = new XmlMessageDeserializer(JsonMessageSerializer.Deserializer, Bus, PublishEndpointProvider);
            }
            else if (_serializerType == typeof(EncryptedMessageSerializer))
            {
                ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider();
                var streamProvider = new AesCryptoStreamProvider(keyProvider, "default");

                Serializer   = new EncryptedMessageSerializer(streamProvider);
                Deserializer = new EncryptedMessageDeserializer(BsonMessageSerializer.Deserializer, Bus, PublishEndpointProvider, streamProvider);
            }
            else if (_serializerType == typeof(BinaryMessageSerializer))
            {
                Serializer   = new BinaryMessageSerializer();
                Deserializer = new BinaryMessageDeserializer(JsonMessageSerializer.Serializer, Bus, PublishEndpointProvider);
            }
            else
            {
                throw new ArgumentException("The serializer type is unknown");
            }
        }
Example #2
0
            protected override void ConfigureInMemoryReceiveEndpoint(IInMemoryReceiveEndpointConfigurator configurator)
            {
                string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;

                string messageDataPath = Path.Combine(baseDirectory, "MessageData");

                var dataDirectory = new DirectoryInfo(messageDataPath);

                var fileRepository = new FileSystemMessageDataRepository(dataDirectory);

                ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider();
                var cryptoStreamProvider          = new AesCryptoStreamProvider(keyProvider, "default");

                _repository = new EncryptedMessageDataRepository(fileRepository, cryptoStreamProvider);

                configurator.UseMessageData <MessageWithBigData>(_repository);

                _received = Handler <MessageWithBigData>(configurator, async context =>
                {
                    _receivedBody = await context.Message.Body.Value;
                });

                configurator.UseMessageData <MessageWithByteArray>(_repository);

                _receivedBytes = Handler <MessageWithByteArray>(configurator, async context =>
                {
                    _receivedBytesArray = await context.Message.Bytes.Value;
                });
            }
Example #3
0
            protected override void ConfigureRabbitMqBus(IRabbitMqBusFactoryConfigurator configurator)
            {
                ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider();
                var streamProvider = new AesCryptoStreamProvider(keyProvider, "default");

                configurator.UseEncryptedSerializer(streamProvider);

                base.ConfigureRabbitMqBus(configurator);
            }
Example #4
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider("secure");

            var streamProvider = new AesCryptoStreamProvider(keyProvider, "default");
            configurator.UseEncryptedSerializer(streamProvider);

            base.ConfigureBus(configurator);
        }
        public void SetupSerializationTest()
        {
            if (_serializerType == typeof(JsonMessageSerializer))
            {
                Serializer   = new JsonMessageSerializer();
                Deserializer = new JsonMessageDeserializer(JsonMessageSerializer.Deserializer);
            }
            else if (_serializerType == typeof(BsonMessageSerializer))
            {
                Serializer   = new BsonMessageSerializer();
                Deserializer = new BsonMessageDeserializer(BsonMessageSerializer.Deserializer);
            }
            else if (_serializerType == typeof(XmlMessageSerializer))
            {
                Serializer   = new XmlMessageSerializer();
                Deserializer = new XmlMessageDeserializer(JsonMessageSerializer.Deserializer);
            }
            else if (_serializerType == typeof(EncryptedMessageSerializer))
            {
                ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider();
                var streamProvider = new AesCryptoStreamProvider(keyProvider, "default");

                Serializer   = new EncryptedMessageSerializer(streamProvider);
                Deserializer = new EncryptedMessageDeserializer(BsonMessageSerializer.Deserializer, streamProvider);
            }
            else if (_serializerType == typeof(EncryptedMessageSerializerV2))
            {
                var key = new byte[]
                {
                    31, 182, 254, 29, 98, 114, 85, 168, 176, 48, 113,
                    206, 198, 176, 181, 125, 106, 134, 98, 217, 113,
                    158, 88, 75, 118, 223, 117, 160, 224, 1, 47, 162
                };
                var keyProvider    = new ConstantSecureKeyProvider(key);
                var streamProvider = new AesCryptoStreamProviderV2(keyProvider);

                Serializer   = new EncryptedMessageSerializerV2(streamProvider);
                Deserializer = new EncryptedMessageDeserializerV2(BsonMessageSerializer.Deserializer, streamProvider);
            }
#if !NETCORE
            else if (_serializerType == typeof(BinaryMessageSerializer))
            {
                Serializer   = new BinaryMessageSerializer();
                Deserializer = new BinaryMessageDeserializer();
            }
#endif
            else
            {
                throw new ArgumentException("The serializer type is unknown");
            }
        }
Example #6
0
            protected override void ConfigureInMemoryBus(IInMemoryBusFactoryConfigurator configurator)
            {
                var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;

                var messageDataPath = Path.Combine(baseDirectory, "MessageData");

                var dataDirectory = new DirectoryInfo(messageDataPath);

                var fileRepository = new FileSystemMessageDataRepository(dataDirectory);

                ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider();
                var cryptoStreamProvider          = new AesCryptoStreamProvider(keyProvider, "default");

                _repository = new EncryptedMessageDataRepository(fileRepository, cryptoStreamProvider);

                configurator.UseMessageData(_repository);
            }
Example #7
0
            protected override void ConfigureInputQueueEndpoint(IInMemoryReceiveEndpointConfigurator configurator)
            {
                string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;

                string messageDataPath = Path.Combine(baseDirectory, "MessageData");

                var dataDirectory = new DirectoryInfo(messageDataPath);

                var fileRepository = new FileSystemMessageDataRepository(dataDirectory);

                ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider();
                var cryptoStreamProvider = new AesCryptoStreamProvider(keyProvider, "default");
                _repository = new EncryptedMessageDataRepository(fileRepository, cryptoStreamProvider);

                configurator.UseMessageData<MessageWithBigData>(_repository);

                _received = Handled<MessageWithBigData>(configurator);

                configurator.UseMessageData<MessageWithByteArray>(_repository);

                _receivedBytes = Handled<MessageWithByteArray>(configurator);
            }