簡體   English   中英

SSL證書驗證.NET vs Mono

[英]SSL certificate validation .NET vs Mono

我在Unity游戲中驗證SSL證書時遇到問題。

我制作了簡單的測試代碼:

ServicePointManager.ServerCertificateValidationCallback += ServerCertificateValidationCallback;


private static bool ServerCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
}


public void Test()
{
    WebClient w = new WebClient();
    string downloadString = w.DownloadString("https://encrypted.google.com/");
}

我已經在.NET 4.5和Unity(Mono)中實現了這個,問題是這個證書在.NET上得到了正確的驗證,但在Mono中我得到了:

SslPolicyErrors: RemoteCertificateChainErrors
ChainStatus:
    PartialChain
    RevocationStatusUnknown
    OfflineRevocation

為什么會這樣? 我應該在Mono中設置一些東西來處理嗎?

謝謝

問題是mono不帶任何根CA或CRL,請參閱為什么Mono不包含根證書 如果您嘗試開發移動游戲,則會出現一個證書加載錯誤 ,它會返回不完整的X509Chain並在Mono 3.6.0中修復。

根據官方的建議,更新統一到Unity2017將內置單聲道4.5,解決了這個惱人的問題。 否則,您可能必須手動安裝CA證書

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM