我们将通过https连接到网络服务。如果用户执行某项操作,则会在后台触发。
该链接将位于服务器和Web服务之间 - 用户将不会意识到它。
由于没有用户可以看到证书出现错误 - 因为这是服务器到服务器 - 我们如何减轻两个服务器之间中间人攻击?如果尝试了一个并且证书失败了,代码会发生什么?
我们正在使用ASP.NET。
答案 0 :(得分:4)
由您决定 - 您可以通过
指定自己的验证行为ServicePointManager.ServerCertificateValidationCallback
默认实现非常合理 - 在验证失败时抛出异常。
答案 1 :(得分:3)
如果您使用编写良好的HTTP客户端库来使用Web服务,则在证书验证失败时调用将失败。正确的http客户端库将进行完全验证,包括确保它连接的主机名与证书的主题名称相匹配,CA是正确的等等。我希望.NET的实现在这方面是正确的,但你绝对应该测试和验证默认行为是正确的。