1с произошла исключительная ситуация winhttp winhttprequest ошибка поддержки безопасных каналов

Обновлено: 06.07.2024


Описание: Произошла ошибка в поддержке безопасного канала.

У меня была точно такая же проблема после перехода с 2003 на 2008 R2 и я нашел решение. Изменить:

и твоя проблема исчезнет.

Решение представляет собой комбинацию ряда опубликованных в stackoverflow решений аналогичных проблем, но это казалось лучшим решением для добавления.

Эта проблема

Почему это проблема

PayPal требует, чтобы все коммуникации с их системами были максимально безопасными. Вам понадобится соединение TLS 1.2. Windows Server 2008 по умолчанию не является TLS 1.2.

Мое решение

В вашем коде вам нужно использовать , а не , как упоминалось выше.

Найти решение было кошмаром, поэтому я добавлю несколько фраз ниже, чтобы помочь другим при поиске:

PayPal IPN не работает с ошибкой сервера

Ошибки PayPal SSL Windows 2008

Произошла ошибка в поддержке безопасного канала

классические ошибки SSL в песочнице ASP PayPal

Я хотел бы публично поблагодарить Rackspace и GoDaddy за их помощь в этом. Я хотел бы публично заявить, что я обнаружил, что у PayPal самая плохая техническая поддержка когда-либо, и мне все равно, постоянно указывая на свои собственные документы, если они когда-либо ответят. Они говорят, что рассылают электронные письма об этом с сентября 2014 года, но я так и не получил ни одного. Эти новые требования действуют в песочнице PayPal, но вступят в силу в сентябре 2016 года. Я столкнулся с этим только как с разработкой нового решения, поэтому вам нужна песочница - если вы работаете вживую, вы не узнаете о проблеме, пока она не возникнет, а затем ты мертв в воде. Мой совет - протестируйте всю свою платежную систему в песочнице PayPal как можно скорее !!

Это обновление обеспечивает поддержку Transport Layer Security (TLS) 1.1 и TLS 1.2 в Windows Server 2012, Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 SP1.

Это обновление не изменит поведение приложений, которые вручную устанавливают протоколы безопасности вместо того, чтобы передавать флаг по умолчанию.

на сервере , исходящий на сервер через TLS, ответил на рассматриваемую ошибку. Я подумал, что это может быть совместимость с набором шифров. трассировка указанная версия в запросе была TLS 1.0, но серверу требуется TLS 1.2. Наборы шифров, отправленные на исходящий сервер из клиентской службы, были в порядке. Проблема в том, что клиентская служба или приложение на сервере Windows по умолчанию использует системное значение по умолчанию, а не TLS 1.2.

Решение состоит в том, чтобы добавить подраздел реестра с именем со значением, соответствующим тому, какие версии TLS должны поддерживаться. Добавьте указанный подраздел реестра с типом в следующие места:

Для исправления Internet Explorer вы можете добавить аналогичный подраздел реестра под названием , также с типом , в следующие места:

  • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Настройки Интернета
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings

Ниже вы можете найти таблицу значений для обоих подключей:

Возьмите значение TLS 1.1 (0x00000200) и значение TLS 1.2 (0x00000800), затем сложите их вместе в калькуляторе (в режиме программиста), получившееся значение реестра будет 0x00000A00.

Я обратился 0x00000A00 как значение для обоих подключей, и проблема успешно решена.

Надеюсь, это избавит вас от лишних хлопот, перезагрузок и головокружения! :)

Коды ошибок устранения неполадок:

Одно из решений - сбалансировать нагрузку входящего запроса более чем на один пул приложений или на несколько серверов.

Я сам столкнулся с этой ошибкой несколько месяцев назад. Чаще всего эта проблема вызвана неверным сертификатом SSL. Учитывая, что на момент публикации вы только что перешли на новый сервер, вам, вероятно, просто нужно переустановить сертификат SSL.

Я понимаю, что это старый вопрос, но надеюсь, что кто-то еще сможет извлечь пользу из моего ответа.

Читайте также: