Как клиент WCF может обнаружить, что серверу требуется сертификат безопасности? - PullRequest
1 голос
/ 03 февраля 2012

Как клиент WCF может обнаружить, что серверу требуется сертификат безопасности? Обнаружение должно происходить во время выполнения.

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Первое, что я имею в виду, чтобы решить такую ​​проблему, это подключиться к этому серверу и вызвать метод или что-то в этом роде.Поместите вызов сервера в блок try-catch и прочитайте сообщение во время выполнения.

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

The client certificate is not provided. Specify a client certificate in ClientCredentials.

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

0 голосов
/ 09 апреля 2012

Вы должны знать это заранее (время разработки).Не существует надежного способа узнать это во время выполнения (вы можете догадаться из сообщения об ошибке, но это не очень хорошая идея.) Если требуется решить это только во время выполнения, тогда клиент и сервер должны согласовать собственный протокол для передачи этого сообщения.(например, операция IsCertRequired).

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