Не удалось создать безопасный канал SSL/TLS. Клиент и сервер не могут взаимодействовать, поскольку они не обладают общим алгоритмом
немного фона я разрабатываю веб-страницу, которая подключается к веб-службе с помощью SOAP. Я получаю эту ошибку, когда я вызываю метод на веб-службе:
запрос был прерван: не удалось создать безопасный канал 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
1 ответов
с Trustwave:
- в системе, где установлена служба, перейдите к Панель Управления.
- выберите Администрирование а то Локальная Политика Безопасности.
- перейти к Локальные Политики и Функции Безопасности.
- двойной клик системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хеширования и подпись.
- отключить настройка, а затем нажмите применить.
- перезагрузка служба IIS.