- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个简单的 .NET Web 应用程序以使用 EWS 在我们的 Exchange Online (Office 365) 云站点上查看一些房间日历。我知道如何在我的代码中创建 Exchange 服务,将凭据设置为新的 WebCredentials
(使用有效的用户名/密码),并自动发现服务 URL。
我的问题是:用户名/密码对是安全发送的还是明文发送的?
如果这不安全,我将服务的 URL 显式设置为 https://outlook.office365.com/EWS/Exchange.asmx 怎么样?网址?
最佳答案
您可以 set the url directly using 而不是调用 AutoDiscoverUrl()
exchangeService.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
。
此外,在调用 AutoDiscoverUrl()
之后,您还可以检查 ExchangeService
对象的 Url
属性,看它是否解析为安全的端点或您信任的端点(例如,来自配置文件中的特定列表)。
要绝对确保返回的 Url 是安全可靠的,您应该验证返回的证书是否来自您期望的组织,并且该证书是由受信任的机构签署的。这process is explained here .文章中提到的默认实现也接受自签名证书,您可能不想在生产代码中这样做。例如,您可以将证书固定到特定指纹。
如果您想排除自签名证书,请更改引用示例中的以下代码以返回 false:
// 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 证书,拦截密码就不会那么容易。
关于c# - Exchange Online (EWS) WebCredentials 是否安全传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982790/
我正在编写一个简单的 .NET Web 应用程序以使用 EWS 在我们的 Exchange Online (Office 365) 云站点上查看一些房间日历。我知道如何在我的代码中创建 Exchang
我是一名优秀的程序员,十分优秀!