Вместо того, чтобы звонить AutoDiscoverUrl()
, вы можете set the url directly usingexchangeService.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
.
Кроме того, после вызова AutoDiscoverUrl()
вы можете также проверить Url
свойство вашего ExchangeService
объекта, чтобы увидеть решает ли это к защищенной конечной точки или до конечной точки, которым вы доверяете (из определенного списка в файле конфигурации, например).
Чтобы быть абсолютно уверенным, что возвращенный URL-адрес является безопасным и безопасным, вы должны убедиться, что возвращаемый сертификат из организации, которую вы ожидаете, и что сертификат подписан доверенным органом. Это process is explained here. Реализация по умолчанию, упомянутая в его статье, также принимает самозаверяющие сертификаты, вы, вероятно, не хотите делать это в своем производственном коде. Например, вы можете привязать сертификат к определенному отпечатку пальца.
Если вы хотите исключить самозаверенные сертификаты, изменить следующий код в указанной пробе вернуть ложь:
// When processing reaches this line, the only errors in the certificate chain are
// untrusted root errors for self-signed certificates. These certificates are valid
// for default Exchange server installations, so return true.
// Or when you know that the certificate is signed by a trusted root authority, return false.
return false;
Чтобы ответить на ваш вопрос, имя пользователя/пароль, как правило, безопасно пересылаются с помощью NTLM или Kerberos , В худшем случае they can be sent using basic authentication, но если вы подключаетесь через SSL, вам не следует перехватывать пароль, если вы правильно проверяете SSL-сертификаты.
** Как ** вы подключаетесь к EWS? Пожалуйста, покажите нам свой код. – Dai
'ExchangeService svc = new ExchangeService(); svc.Credentials = новые WebCredentials (AuthEmailAddress, AuthEmailPassword); svc.AutodiscoverUrl (AutoDiscoverEmailAddress); ' – TheDudeDude