RabbitMQをTLS v1.2でうまく演奏しようとしています。 Javaクライアントと.NET Coreクライアントの両方で作業する。 Javaクライアントは動作していますが、.NETの方が後退しています。 System.Security.Authentication.AuthenticationException:私はこの例外を取得していTLS v1.2でRabbitMQ .NETクライアントが動作しない
var factory = new ConnectionFactory
{
HostName = hostName,
VirtualHost = vHost,
UserName = username,
Password = password,
Port = 5671,
Ssl = {Enabled = true}
};
:SSPIの呼び出しが失敗し、内部例外を参照してくださいここに私の工場出荷時の設定です。 ---> Interop + OpenSsl + SslException:SSLハンドシェイクがOpenSSLエラーで失敗しました - SSL_ERROR_SSL。 --->相互運用+暗号化+ OpenSslCryptographicException:エラー:1409442E:例外メッセージの非常にテールエンドを見てみると、TLSのバージョンが古いかもしれないと表示されますが、私が持っているTLSv1の警告プロトコルバージョン
:SSLルーチン:SSL3_READ_BYTES RabbitMQの最新バージョンがインストールされています - 4.1.1
ConnectionFactoryクラスのRabbitMQソースを掘り下げましたが、TLSバージョンの設定に関連するものは見つかりませんでした。私のJavaアプリケーションでは、それは以下のように動作します:factory.useSslProtocol( "TLSv1.2");
Erlangの古いバージョンが原因かもしれないが、最新のバージョン(8.1)がインストールされている別のSOスレッドを見た。
次にどこを参照するのか?
更新:TLSプロパティを設定する方法を試してください: factory.Ssl.Version = SslProtocols.Tls12;
しかし、今私はSystem.Security.Authentication.AuthenticationExceptionを取得しています:リモート証明書は無効な例外です。
あなたの設定ファイルを共有することはできますか?また、CertMgrの[信頼されたルート証明書]フォルダに、認証局の証明書がありますか –