2017-06-16 14 views
0

当社のサーバーでSSLv3、TLS1.0、およびTLS1.1が無効になっています。このため、WSDLを取得しようとしたときにService Referenceを追加しようとすると、Visual Studioが失敗します。WCFサービス+クライアント(TLS1.2版)

は「基になる接続が閉じられました:予期しないエラーが送信時に発生した トランスポート接続からデータを読み取ることができません:既存の接続はリモートホストに強制的に切断された 既存の接続が強制的に切断されました。 メタデータに解決できない参照が含まれています。 HTTP要求をhttps://mywebsite.com/Service/Service.svc?wsdlにするときにエラーが発生しました。これは、HTTPSの場合にサーバー証明書がHTTP.SYSで正しく構成されていないことが原因である可能性があります。 基礎となる接続が閉じられました:予期しない問題が発生した可能性があります。送信時にエラーが発生しました。 リモート側がトランスポートストリームを閉じたため、認証に失敗しました。 WSDLは、ブラウザでアクセスサービスは、現在のソリューションで定義されている場合は、ソリューションを構築して、再度サービス参照を追加してみてください。」

。TLS 1.0/1.1とのSSLv3である場合、WSDLは大丈夫ダウンロード有効。ただし、PCI要件のために、私たちはSSLV3、TLS1.0及びTLS1.1を無効にする必要があります。

私は、次のSystem.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;を認識していなく、これは接続するコンソールクライアントまたはに行く場合はかなり確信していますWCFサービス(またはその両方)。

ppreciated

+1

接続を確立するクライアントであるため、クライアントに接続する必要があります。 – Dijkgraaf

+1

http://blogs.perficient.com/microsoft/2016/04/tsl-1-2-and-net-support/も参照してください。 .Netバージョンに依存します。 – Dijkgraaf

+0

Dij - これはうまくいきましたが、今は追跡する必要のあるタイムアウトが発生していますが、以前のメッセージよりもはるかに優れています!あなたがコメントの代わりに答えとして投稿するなら、私はあなたにupvoteを行います。 :)明快にありがとう。サービスに変更はありませんでした。クライアントは上記の行を使用してTLS1.2を使用して接続を強制されました。私が.netフレームワーク4.6.1+をターゲットにしていれば、デフォルトはtls 1.2になり、私は回線を必要としません –

答えて

1

以下の行は、クライアントに接続する必要があります。このブログTLS 1.2 and .NET Support: How to Avoid Connection Errorsあたりとして

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

、上記には、.NET 4.6およびそれがTLS 1.2がデフォルトになりますし、あなたがTLS 1.2

を指定する必要はありません上記の.NET 4.5

のために動作します.Net 4.0の場合は、代わりに以下が必要です。

System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; 

NET 3.5またはあなたのOS用の適切なMicrosoftのパッチをインストールする必要があります下に(ブログに記載されています)。

+0

もう一度あなたの助けに感謝します。 –

関連する問題