2016-07-12 81 views
0

私はcertifcatesとセキュリティプロトコルを使用してWebサービスを呼び出しています。アプリケーションは正常に動作していましたが、突然私にWeb例外を与え始めました。エラーSecureChannelFailure、SSL/TLSを作成できませんでした

要求が中止されました:SSL/TLSセキュアチャネルを作成できませんでした。

ステータスコードを確認すると、SecureChannelFailureであり、HResult2146233079です。 Webサービスの応答はNULLです。次のようにコードの

一部は次のとおりです。

ServicePointManager.Expect100Continue = true; 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

私は任意の助けに感謝します。

+0

コードと例外形式 –

答えて

0

たぶん、あなたが使用している証明書の有効期限が切れて右方向に

  • あなたを指している可能性がありますいくつかの質問?
  • 証明書の信頼されたルートがインストールされていない以前とは別のコンピュータからクライアントを実行していることがありますか?
  • 証明書が何とか取り消されたのでしょうか?

希望します。

-1

解決しましたか? 私は、Windows 10マシンとWindows 2008RCサーバーへのWindowsのアップデートが問題を引き起こしたことに気付きました。私たちが持っている問題は、SHA1の暗号化された証明書から第三者のサーバーをすばやく変更することができないことです。

ここに記載されているアップデートをアンインストールする方法があります。 https://blogs.windows.com/msedgedev/2016/04/29/sha1-deprecation-roadmap/

それを回避するもう1つの方法は、このコード行を追加することです:

System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

参考:Could not establish trust relationship for SSL/TLS secure channel -- SOAP

は、しかし、これは私たちのために動作しません。

+0

のような本命を追加したとき、私はまたSystem.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls追加それは私のために働きました。私のコードにデバッグのためだけに問題が私の勝利10のアップデートに下がっていて、サーバーが別のアップデートを持っていたからです。 – Sniipe

0

私はこの

X509Store certificatesStore = new X509Store(storeName, storeLocation); 
certificatesStore.Open(OpenFlags.OpenExistingOnly); 
var matchingCertificates = certificatesStore.Certificates.Find(X509FindType.FindBySerialNumber, serialNumber, true); 
request.ClientCertificates.Add(matchingCertificates); 
関連する問題