2016-11-24 7 views
1

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を取得しています:リモート証明書は無効な例外です。

+0

あなたの設定ファイルを共有することはできますか?また、CertMgrの[信頼されたルート証明書]フォルダに、認証局の証明書がありますか –

答えて

0

これは私の仕事:

Ssl = new SslOption 
{ 
    Version = SslProtocols.Tls12, 
    Enabled = true, 
} 
関連する問題