Message Body Encryption

Component: NServiceBus
NuGet Package NServiceBus (6.x)

Message encryption leverages the pipeline to encrypt the entire serialized message body.

One way of achieving this is by using a transport message mutator.

public class MessageEncryptor :
    IMutateIncomingTransportMessages,
    IMutateOutgoingTransportMessages
{
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        context.Body = context.Body.Reverse().ToArray();
        return Task.CompletedTask;
    }

    public Task MutateOutgoing(MutateOutgoingTransportMessageContext context)
    {
        context.OutgoingBody = context.OutgoingBody.Reverse().ToArray();
        return Task.CompletedTask;
    }
}

The encrypting mutator must be injected into dependency injection:

endpointConfiguration.RegisterMessageMutator(new MessageEncryptor());

Samples

Related Articles


Last modified