Не удалось создать безопасный канал SSL/TLS. Может ли проблема быть в прокси-сервере?
-
05-07-2019 - |
Вопрос
У меня есть приложение С#, которое вызывает метод веб-службы, который проверяет подлинность с помощью сертификата.Код работает, потому что при установке на сервере А (без прокси) он аутентифицируется.
Когда я устанавливаю код на сервере B, на клиентском сайте, он устанавливается через прокси.Я действительно перепробовал почти все, но постоянно получаю эту ошибку:
Не удалось создать безопасный канал SSL/TLS.
Как вы думаете, эта проблема может быть вызвана прокси-сервером?Если у вас был личный опыт в этом вопросе, поделитесь, пожалуйста.
Спасибо
Решение
По моему опыту, почти все такие сообщения происходят из-за того, что какой-то компьютер в цепочке (клиент, прокси-сервер, сервер) по какой-то причине не «любит» сертификат.
Чтобы уточнить то, что сказал twk, если вы используете самозаверяющие сертификаты или свой собственный центр сертификации, вам необходимо установить сертификат подписи в хранилище доверенных центров, по крайней мере, на сервере и, возможно, на прокси-сервере.
Распространенные проблемы, с которыми я столкнулся:
- Сертификат на сервере не подписан центром, которому доверяет ПРОКСИ или КЛИЕНТ.
- Сертификат КЛИЕНТА не подписан органом, которому доверяет ПРОКСИ или СЕРВЕР.
- К сожалению, я забыл экспортировать закрытый ключ, когда создавал сертификат для установки на клиенте.
- У моего процесса нет прав на чтение закрытого ключа на клиенте.
- Сертификат клиента защищен паролем, и я не указал учетные данные при чтении сертификата.
Другие советы
У меня была та же проблема.В моем случае сертификатам нужен доступ к сетевому сервису.Вы можете проверить по
- Открытый сертификат ММС
- Перейдите в «Сертификаты (локальный компьютер)» > «Личные» > «Сертификаты».
- Щелкните правой кнопкой мыши свой сертификат и выберите «Все задачи» > «Управление закрытыми ключами…» в контекстном меню.
- Установите соответствующее разрешение
Если ваш сертификат не является доверенным (самозаверяющим), клиент C# откажется подключаться.