Не удалось создать безопасный канал SSL / TLS. Возможно, проблема в прокси-сервере? - PullRequest
14 голосов
/ 21 октября 2009

У меня есть приложение c #, которое вызывает метод веб-сервиса, который аутентифицируется с использованием сертификата. Код работает, потому что когда он установлен на сервере A (без прокси), он аутентифицируется.

Когда я устанавливаю код на сервер B, на клиентском сайте, он устанавливается за прокси-сервером. Я действительно попробовал почти все, но продолжаю получать эту ошибку:

Не удалось создать безопасный канал SSL / TLS

Как вы думаете, эта проблема может быть вызвана прокси-сервером? Если у вас есть личный опыт с этим, пожалуйста, поделитесь.

Спасибо

Ответы [ 3 ]

16 голосов
/ 21 октября 2009

По моему опыту, почти все такие сообщения происходят из-за того, что какой-то машине в цепочке (клиент, прокси, сервер) по какой-то причине не "нравится" сертификат.

Чтобы уточнить, что сказал twk, если вы используете самозаверяющие сертификаты или собственный ЦС, вам необходимо установить сертификат подписи в хранилище доверенных прав доступа по крайней мере на сервере и, возможно, на прокси.

Общие проблемы, с которыми я столкнулся:

  • Сертификат на сервере не подписан органом, которому доверяет ПРОКСИ или КЛИЕНТ
  • Сертификат на КЛИЕНТА не подписан органом, которому доверяет ПРОКСИ или СЕРВЕР
  • Упс, я забыл экспортировать закрытый ключ, когда создал сертификат для установки на клиенте
  • У моего процесса нет прав на чтение закрытого ключа на клиенте
  • Сертификат клиента защищен паролем, и я не указывал учетные данные при чтении сертификата.
10 голосов
/ 04 декабря 2014

У меня была такая же проблема. В моем случае для сертификатов необходим доступ к сетевой службе. Вы можете проверить по

  1. Открытый сертификат MMC
  2. Перейдите к Сертификатам (Локальный компьютер)> Личные> Сертификаты
  3. Щелкните правой кнопкой мыши свой сертификат и выберите «Все задачи»> «Управление личными ключами» ... из контекстного меню
  4. Установите соответствующее разрешение
5 голосов
/ 21 октября 2009

Если ваш сертификат не является доверенным (самозаверяющим), клиент C # откажется подключиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...