I have religiously followed the instructions given at the RabbitMQ site to set up mutual authentication between a RabbitMQ server and a .Net client (using the official RabbitMQ client available at RabbitMQ.com)
https://www.rabbitmq.com/ssl.html
However, The instructions are missing a key point. For the peer certificate to be validated in the RabbitMQ server, A user needs to be mapped (for impersonation) to the peer certificate as described below
But, When the certificates are exchanged during a handshake, RabbitMQ server is looking for a username called 'O=client,CN=MyServer.com' instead of 'CN=MyServer.com'
If I create this user with the required privileges, everything succeeds as expected.
I would like to know what is the reason for the unexpected 'O=client' part in the username. It is not documented anywhere in the RabbitMQ site.
Has anyone come across this? What is the name of the user you have created for impersonating the peer/client?
Both RabbitMQ server and client versions are 3.6.5
Erlang version: 18
OS: Windows 10 Enterprise