为什么ADAL说证书被拒绝以回应Charles代理?

时间:2014-10-12 08:48:29

标签: ssl proxy charles-proxy adal

我正在使用ADAL(第三方OAuth2.0实施)。我试图用Charles作为代理来收集通信的痕迹。 我的想象正在发生(不依赖于任何事情):

  1. ADAL通过Charles
  2. 向管理局索取证书
  3. Charles要求管理局颁发证书并将其传递给ADAL。
  4. ADAL希望与管理局打开一个SSL通道,但实际上是用Charles打开它。
  5. Charles与管理局打开一个SSL通道,并将任何请求/响应转发给ADAL
  6. 但是,ADAL拒绝授权证书。 据我所知,证书未经加密传递。因此,如果我在描述上述所有步骤时都是正确的,那么ADAL如何知道他正在与之交谈的实体并不是他应该与之交谈的权力?

1 个答案:

答案 0 :(得分:0)

ADAL并没有真正查看权限的证书 - 它会检查用于连接它的通道是否可信。代理的存在可能会破坏SSL通道信任。如果我想通过SSL连接到www.domain.com,我希望用于建立频道的证书在我信任的机构中,使主题包含www.domain.com,仍然在其有效期内,等等。我对Charles不熟悉,但我想这可能看起来像ADAL的DNS重定向攻击。如果需要进行快速测试,可以在AuthenticationContext的构造函数中关闭权限验证,但我强烈建议不要在生产代码中执行此操作。

HTH 诉