2013-06-05 23 views
0

當您開發通過HTTPS協商的REST API客戶端時,應驗證該證書是否正確以防止中間人攻擊。在REST .NET客戶端中驗證HTTPS證書的正確方法?

問題是如何正確地做這個驗證? (即驗證證書鏈?)

谷歌在這裏提的一些驗證反模式中包括名爲Changes to our SSL Certificates博客文章:

  • 匹配葉證書準確(例如,通過哈希處理)
  • 匹配任何其他證書(如根證書或中間簽名證書)正是
  • 硬編碼預期的根證書,

回答

0

。當您連接到HTTPS資源時,NET提供了內置的驗證機制。您也可以自己執行驗證,但適當的驗證是一項複雜的任務,涉及本地加密操作以及使用OCSP服務器和CRL。所以我建議你保持默認的.NET驗證,除非你需要定製。

+0

當.NET客戶端連接到HTTPS服務器時,它將執行正確的HTTPS證書鏈驗證,我作爲開發人員不需要執行任何手動步驟來批准此操作?我的意思是用Fiddler僞造一個證書讓Windows接受它很容易,所以我的想法是在我的應用程序中實際執行一些檢查,以驗證我沒有看到任何提琴手自我簽署的臨時證書。 – user316

+0

@ user316「我的意思是用Fiddler僞造一個證書讓Windows能夠接受它很容易」 - 這是人類操作員故意做的。不要這樣做,你會安全的。 –