我正在使用ADAL(第三方OAuth2.0实施)。我试图用Charles作为代理来收集通信的痕迹。 我的想象正在发生(不依赖于任何事情):
但是,ADAL拒绝授权证书。 据我所知,证书未经加密传递。因此,如果我在描述上述所有步骤时都是正确的,那么ADAL如何知道他正在与之交谈的实体并不是他应该与之交谈的权力?
答案 0 :(得分:0)
ADAL并没有真正查看权限的证书 - 它会检查用于连接它的通道是否可信。代理的存在可能会破坏SSL通道信任。如果我想通过SSL连接到www.domain.com,我希望用于建立频道的证书在我信任的机构中,使主题包含www.domain.com,仍然在其有效期内,等等。我对Charles不熟悉,但我想这可能看起来像ADAL的DNS重定向攻击。如果需要进行快速测试,可以在AuthenticationContext的构造函数中关闭权限验证,但我强烈建议不要在生产代码中执行此操作。
HTH 诉