6

一些背景知识我正在开发一个使用 SOAP 连接到 Web 服务的网页。当我在 Web 服务上调用方法时出现此错误:

请求被中止:无法创建 SSL/TLS 安全通道。因此我添加了代码行。

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

我将证书存储在我的服务器上作为信任,并且他们将我的证书存储并列入白名单以供通过。当我尝试进行身份验证时,我收到以下消息。

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm

我已经设置了跟踪,这是跟踪文件的样子。我已经到了不知道从这里去哪里的地步。任何帮助将不胜感激。

[Public Key]
  Algorithm: RSA
  Length: 2048
  Key Blob: 30 82 01 0a 02 82 01 01 00 ce 08 11 55 52 0c 94 64 dc fe 1b e6 37 2e 1c 7a f1 3c 5d 24 67 d7 8e 76 58 78 64 30 d8 7d a3 e7 f2 0a c1 6b 33 91 7f 21 e6 a3 46 32 91 95 05 c6 46 05 43 ac 84 79 32 d5 ab 0f 0b 38 d1 9f 18 ab c3 82 dd 9d 98 ab 00 17 17 60 c0 c6 df 98 32 66 22 39 7b f5 fb e2 ed e2 a5 20 a7 48 0e 1b c6 43 2c 5b 81 85 69 2b 02 1e 40 77 9c 90 ea 25 81 f1 49 4d ed dd ....
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Information: 0 : [6072] SecureChannel#42430754 - Certificate is of type X509Certificate2 and contains the private key.
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Information: 0 : [6072] AcquireCredentialsHandle(package = Microsoft Unified Security Protocol Provider, intent  = Outbound, scc     = System.Net.SecureCredential)
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Error: 0 : [6072] AcquireCredentialsHandle() failed with error 0X80090331.
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Information: 0 : [6072] AcquireCredentialsHandle(package = Microsoft Unified Security Protocol Provider, intent  = Outbound, scc     = System.Net.SecureCredential)
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Error: 0 : [6072] AcquireCredentialsHandle() failed with error 0X80090331.
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net.Sockets Verbose: 0 : [6072] Socket#14502061::Dispose()
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Error: 0 : [6072] Exception in the HttpWebRequest#11181865:: - The underlying connection was closed: An unexpected error occurred on a receive.
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Error: 0 : [6072] Exception in the HttpWebRequest#11181865::GetResponse - The underlying connection was closed: An unexpected error occurred on a receive.
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.2747506Z
System.Net Information: 0 : [6072] Enumerating security packages:
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6335529Z
System.Net Information: 0 : [6072]     Negotiate
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6335529Z
System.Net Information: 0 : [6072]     NegoExtender
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6335529Z
System.Net Information: 0 : [6072]     Kerberos
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     NTLM
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     Schannel
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     Microsoft Unified Security Protocol Provider
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     WDigest
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     TSSSP
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     pku2u
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072]     CREDSSP
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] AcquireDefaultCredential(package = Negotiate, intent  = Outbound)
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] InitializeSecurityContext(credential = System.Net.SafeFreeCredential_SECURITY, context = (null), targetName = host/localhost, inFlags = MutualAuth, Confidentiality, Connection, AcceptIntegrity)
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] InitializeSecurityContext(In-Buffers count=0, Out-Buffer length=125, returned code=ContinueNeeded).
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] InitializeSecurityContext(credential = System.Net.SafeFreeCredential_SECURITY, context = 23570c30:235e9b58, targetName = host/localhost, inFlags = MutualAuth, Confidentiality, Connection, AcceptIntegrity)
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] InitializeSecurityContext(In-Buffers count=1, Out-Buffer length=121, returned code=ContinueNeeded).
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] InitializeSecurityContext(credential = System.Net.SafeFreeCredential_SECURITY, context = 23570c30:235e9b58, targetName = host/localhost, inFlags = MutualAuth, Confidentiality, Connection, AcceptIntegrity)
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
System.Net Information: 0 : [6072] InitializeSecurityContext(In-Buffers count=1, Out-Buffer length=0, returned code=OK).
    ProcessId=3704
    DateTime=2013-01-30T20:51:25.6491530Z
4

1 回答 1

5

来自信任波

  1. 在安装服务的系统上,导航到控制面板
  2. 选择管理工具,然后选择本地安全策略
  3. 导航到本地策略安全选项
  4. 双击系统加密:使用符合 FIPS 的算法进行加密、散列和签名
  5. 禁用该设置,然后单击应用
  6. 重新启动IIS 服务。
于 2013-01-31T16:46:57.097 回答