Could not create SSL/TLS secure channel. The client and server cannot communicate, because they do not possess a common algorithm

6

A bit of background I am developing a webpage that connects to a web service using SOAP. I get this error when I am call a method on the web service:

The request was aborted: Could not create SSL/TLS secure channel. There fore i Added the line of code.

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

I have there cert stored on my server as trust as well as they have my cert stored and white listed to let through. When I try to authenticate i get the follow message.

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

I have set up the Trace and here is what the trace file looks like. I have hit a point where i am not sure where to go from here. Any help would be greatly appreciated.

[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
c#
asp.net
web-services
authentication
web
asked on Stack Overflow Jan 30, 2013 by Chad • edited Jan 31, 2013 by Chad

1 Answer

5

From Trustwave:

  1. On the system where the service is installed, navigate to Control Panel.
  2. Select Administrative Tools and then Local Security Policy.
  3. Navigate to Local Policies and Security Options.
  4. Double click System Cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing.
  5. Disable the setting, and then click Apply.
  6. Restart the IIS service.
answered on Stack Overflow Jan 31, 2013 by Josh • edited Jun 10, 2014 by Asbjørn Ulsberg

User contributions licensed under CC BY-SA 3.0