在 .NET 中遠程請求 https 內容時,發生錯誤:根據驗證過程,遠程證書無效。


當訪問 https 內容的時候,有時候經常會看到證書錯誤(不在操作系統的證書信任鏈中?)的提示,在瀏覽器中我們可以忽略錯誤的證書,繼續訪問網頁內容。

但是在 .NET 程序中,需要由代碼來判斷是否忽略錯誤的證書。

 

解決方案:

在任意訪問 https 內容的程序代碼之前,設置一個證書處理程序,代碼如下:

ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, error) =>
{
    return true;
};

這個因為是在靜態類型上的方法,所以只需要添加一次即可,不過也同時要注意,這是應用程序全局的證書處理,如果你希望在不同的地方進行不同證書處理的話,請注意。

這里為了省事,直接 return true,代表接受證書,無論對錯。如果場景需求嚴謹的話,應仔細判斷證書是否正確,然后再返回相應的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM