【发布时间】:2021-04-17 04:52:37
【问题描述】:
我正在尝试将(dotnet 客户端)连接到 RabbitMQ。我从 RabbitMQ 配置文件中启用了对等验证选项。
_factory = new ConnectionFactory
{
HostName = Endpoint,
UserName = Username,
Password = Password,
Port = 5671,
VirtualHost = "/",
AutomaticRecoveryEnabled = true
};
sslOption = new SslOption
{
Version = SslProtocols.Tls12,
Enabled = true,
AcceptablePolicyErrors = System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors
| System.Net.Security.SslPolicyErrors.RemoteCertificateNameMismatch,
ServerName = "", // ?
Certs = X509CertCollection
}
以下是我通过“X509CertCollection”传递的客户认证详细信息。
CertSubject: CN=myhostname, O=MyOrganizationName, C=US // myhostname 是我的客户端主机的名称。
所以,如果我将“myhostname”值传递给 sslOption.ServerName,它就可以工作。如果我传递了一些垃圾值,它仍然有效。
根据 RabbitMQ 的文档,这两个值应该匹配,即 certCN 值和 serverName。这里 sslOption.ServerName 的值是什么?为什么?
【问题讨论】:
标签: .net-core rabbitmq client-certificates x509certificate2