为啥 ADAL 说证书被拒绝以响应查尔斯代理?
Posted
技术标签:
【中文标题】为啥 ADAL 说证书被拒绝以响应查尔斯代理?【英文标题】:Why is ADAL saying certificate denied in response to Charles proxy?为什么 ADAL 说证书被拒绝以响应查尔斯代理? 【发布时间】:2014-10-12 08:48:28 【问题描述】:我正在使用 ADAL(第 3 方 OAuth2.0 实施)。我正在尝试使用 Charles 作为代理来收集通信痕迹。 我想象的正在发生的事情(不依赖任何东西):
-
ADAL 通过 Charles 向权威机构请求证书
Charles 向权威机构请求证书并将其传递给 ADAL。
ADAL 想向权威机构打开 SSL 通道,但实际上是向 Charles 打开。
Charles 向管理局打开 SSL 通道,并将所有请求/响应转发给 ADAL
但是,ADAL 拒绝颁发机构的证书。 现在据我所知,证书是在未加密的情况下传递的。因此,如果我对上述所有步骤的描述都是正确的,ADAL 怎么知道他正在与之交谈的实体实际上不是他应该与之交谈的权威?
【问题讨论】:
【参考方案1】:ADAL 并不真正查看授权的证书 - 它检查用于连接到它的通道是否受信任。代理的存在会破坏 SSL 通道信任。如果我想通过 SSL 连接到 www.domain.com,我希望用于建立通道的证书在我受信任的机构中,具有包含 www.domain.com 的主题,仍在其有效期内,等等。我对 Charles 不熟悉,但我猜从 ADAL 的角度来看,它可能看起来像是 DNS 重定向攻击。如果需要进行快速测试,可以在 AuthenticationContext 的构造函数中关闭权限验证,但我强烈建议不要在生产代码中这样做。
HTH 五、
【讨论】:
以上是关于为啥 ADAL 说证书被拒绝以响应查尔斯代理?的主要内容,如果未能解决你的问题,请参考以下文章
即使在 iPhone 设备上安装了根证书后,Charles 代理也无法工作