GDB*_*GDB 5 .net c# ssl rabbitmq
尝试连接 RabbitMQ 以与 TLS v1.2 配合使用。同时使用 Java 客户端和 .NET Core 客户端。Java 客户端正在运行,但 .NET 客户端正在推迟。这是我的出厂设置:
var factory = new ConnectionFactory
{
HostName = hostName,
VirtualHost = vHost,
UserName = username,
Password = password,
Port = 5671,
Ssl = {Enabled = true}
};
Run Code Online (Sandbox Code Playgroud)
我收到此异常: System.Security.Authentication.AuthenticationException: 对 SSPI 的调用失败,请参阅内部异常。---> Interop+OpenSsl+SslException:SSL 握手失败,OpenSSL 错误 - SSL_ERROR_SSL。---> Interop+Crypto+OpenSslCryptographicException:错误:1409442E:SSL 例程:SSL3_READ_BYTES:tlsv1 警报协议版本
查看异常消息的末尾,似乎 TLS 版本可能较旧,但我安装了最新版本的 RabbitMQ – 4.1.1
深入研究 ConnectionFactory 类的 RabbitMQ 源代码,但找不到与设置 TLS 版本相关的任何内容。在我的 Java 应用程序中,它是这样工作的: factory.useSslProtocol("TLSv1.2");
在另一个 SO 线程中看到,旧版本的 Erlang 可能是原因,但我安装了最新版本 (8.1)。
关于下一步该往哪里看的任何指示?
更新:找到设置 TLS 属性的方法: factory.Ssl.Version = SslProtocols.Tls12;
但现在我收到 System.Security.Authentication.AuthenticationException: The remote certificate is invalid 异常。
小智 5
this worked for me:
Ssl = new SslOption
{
Version = SslProtocols.Tls12,
Enabled = true,
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2304 次 |
| 最近记录: |