0

当您开发一个通过 HTTPS 通信的 REST API 客户端时,您应该验证证书是否正确,以防止中间人攻击。

问题是如何正确进行此验证?(即验证证书链?)

Google 在一篇名为Changes to our SSL Certificates的博文中提到了一些验证反模式,包括:

  • 完全匹配叶子证书(例如通过散列它)
  • 完全匹配任何其他证书(例如根或中间签名证书)
  • 硬编码预期的根证书,
4

1 回答 1

0

当您连接到 HTTPS 资源时,.NET 提供了内置的验证机制。您也可以自己执行验证,但正确的验证是一项复杂的任务,涉及本地加密操作以及 OCSP 服务器和 CRL 的使用。所以我建议你保留默认的 .NET 验证,除非你需要一些自定义的东西。

于 2013-06-05T07:13:54.373 回答