BizTalk 2016 Feature Pack 3 выдает исключение при вызове API, совместимого с TLS 1.2 - PullRequest
0 голосов
/ 29 апреля 2019

Для поддержки TLS 1.2 для BizTalk 2016 мы обновили до BizTalk 2016 Feature Pack 3. Обновление прошло успешно, и наш рабочий процесс работал без проблем, пока наша сеть не отключила поддержку TLS 1.0 и TLS 1.1. После этого мы начали получать приведенную ниже ошибку при вызове API из BizTalk: мы знаем, что API поддерживает TLS 1.2.

трассировка стека внутренних исключений:

Адаптер не смог передать сообщение, идущее на порт отправки «SndPort_PostMsgfile» с URL "https://demo -xxxxxx-api.abc.com / апи / Сообщение / MessageFile ". Это будет ретранслируется после интервала повторов, указанного для этого порта отправки. Подробности: "System.ServiceModel.Security.SecurityNegotiationException: Не удалось установить безопасный канал для SSL / TLS с полномочиями 'Demo-common-api.medimpactdirect.com. ---> System.Net.WebException: Запрос был прерван: не удалось создать безопасный канал SSL / TLS.
в System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) в System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse (IAsyncResult результат)

Трассировка стека серверов:

в System.Runtime.AsyncResult.End [TAsyncResult] (результат IAsyncResult) в System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End (SendAsyncResult результат) в System.ServiceModel.Channels.ServiceChannel.EndCall (действие String, Object [] ауты, результат IAsyncResult) в System.ServiceModel.Channels.ServiceChannel.EndRequest (IAsyncResult результат)

Исключение переброшено в [0]: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (Шеззаде reqMsg, IMessage retMsg) в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, тип Int32) в System.ServiceModel.Channels.IRequestChannel.EndRequest (IAsyncResult результат) в Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback (IAsyncResult результат)».

Мы хотим убедиться, что запрос, исходящий из BizTalk, всегда находится на TLS 1.2. Нужно ли обновлять порт отправки WebHTTP, создавая расширение поведения со следующим фрагментом кода (как это сделано в API) - ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Требуются ли изменения в реестре? Я попытался обновить реестр на основе предложений от: https://support.microsoft.com/en-us/help/3155464/ms16-065-description-of-the-tls-ssl-protocol-information-disclosure-vu

1 Ответ

1 голос
/ 10 мая 2019

Решено, используя предложения из блога .

Нам также пришлось добавить записи реестра для протокола TLS 1.2 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols

Кроме того, если вы используете адаптер SFTP, для BizTalk Server 2016 Feature Pack 3 требуется WinScp версии 5.13.1. Если у вас более старая версия, адаптер SFTP будет продолжать отключаться. Пожалуйста, обратитесь к это .

...