/// <summary>
        /// Configures that message bodies should be encrypted/decrypted with the specified base 64-encoded key
        /// </summary>
        public static void EncryptMessageBodies(this DecoratorsConfigurer configurer, string keyBase64)
        {
            configurer.AddDecoration(b =>
                {
                    var decorator = configurer
                        .Backbone
                        .LoadFromRegistry(() =>
                            {
                                var instance = new EncryptionAndCompressionTransportDecorator(b.SendMessages, b.ReceiveMessages);
                                b.SendMessages = instance;
                                b.ReceiveMessages = instance;
                                return instance;
                            });

                    decorator.EnableEncryption(keyBase64);
                });
        }
        public static void EncryptMessageBodies(this DecoratorsConfigurer configurer, string keyBase64)
        {
            configurer.AddDecoration(b =>
                {
                    var sendMessages = b.SendMessages;
                    var receiveMessages = b.ReceiveMessages;

                    var decorator = new RijndaelEncryptionTransportDecorator(sendMessages, receiveMessages, keyBase64);

                    b.SendMessages = decorator;

                    // if we're in one-way client mode, we skip the decorator - otherwise RebusBus would not
                    // be able to detect one-way client mode - we should definitely make this more explicit
                    // somehow
                    if (!(b.ReceiveMessages is MsmqConfigurationExtension.OneWayClientGag))
                    {
                        b.ReceiveMessages = decorator;
                    }
                });
        }