第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在.NET的HttpWebRequest / Response中使用自簽名證書

在.NET的HttpWebRequest / Response中使用自簽名證書

C#
SMILET 2019-11-06 10:55:27
我正在嘗試連接到使用自簽名SSL證書的API。我這樣做是使用.NET的HttpWebRequest和HttpWebResponse對象。我得到一個(gè)例外:基礎(chǔ)連接已關(guān)閉:無法為SSL / TLS安全通道建立信任關(guān)系。我明白這意味著什么。而且我明白為什么 .NET認(rèn)為它應(yīng)該警告我并關(guān)閉連接。但是在這種情況下,無論如何,我還是想連接到API,這是該死的中間人攻擊。那么,如何為該自簽名證書添加例外?還是告訴HttpWebRequest / Response根本不驗(yàn)證證書的方法?我該怎么做?
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

事實(shí)證明,如果您只想完全禁用證書驗(yàn)證,則可以在ServicePointManager上更改ServerCertificateValidationCallback,如下所示:


ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

這將驗(yàn)證所有證書(包括無效,過期或自簽名的證書)。


查看完整回答
反對 回復(fù) 2019-11-06
?
慕俠2389804

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用代理上的sender參數(shù),可以將Domster答案中使用的驗(yàn)證回調(diào)的范圍限制為特定請求ServerCertificateValidationCallback。以下簡單的作用域類使用此技術(shù)臨時(shí)連接僅對給定請求對象執(zhí)行的驗(yàn)證回調(diào)。


public class ServerCertificateValidationScope : IDisposable

{

    private readonly RemoteCertificateValidationCallback _callback;


    public ServerCertificateValidationScope(object request,

        RemoteCertificateValidationCallback callback)

    {

        var previous = ServicePointManager.ServerCertificateValidationCallback;

        _callback = (sender, certificate, chain, errors) =>

            {

                if (sender == request)

                {

                    return callback(sender, certificate, chain, errors);

                }

                if (previous != null)

                {

                    return previous(sender, certificate, chain, errors);

                }

                return errors == SslPolicyErrors.None;

            };

        ServicePointManager.ServerCertificateValidationCallback += _callback;

    }


    public void Dispose()

    {

        ServicePointManager.ServerCertificateValidationCallback -= _callback;

    }

}

上面的類可用于忽略特定請求的所有證書錯(cuò)誤,如下所示:


var request = WebRequest.Create(uri);

using (new ServerCertificateValidationScope(request, delegate { return true; }))

{

    request.GetResponse();

}


查看完整回答
反對 回復(fù) 2019-11-06
  • 3 回答
  • 0 關(guān)注
  • 1021 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號