我目前在电源 shell 中使用以下代码:
$TrustAll=$TAAssembly.CreateInstance("Local.ToolkitExtensions.Net.CertificatePolicy.TrustAll")
[System.Net.ServicePointManager]::CertificatePolicy=$TrustAll
如何在C#中做到这一点?
最佳答案
这是一个可以信任每个证书的示例。
using System;
using System.IO;
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class Program : ICertificatePolicy {
public bool CheckValidationResult (ServicePoint sp,
X509Certificate certificate, WebRequest request, int error)
{
return true;
}
public static void Main (string[] args)
{
ServicePointManager.CertificatePolicy = new Program ();
WebRequest wr = WebRequest.Create (args [0]);
Stream stream = wr.GetResponse ().GetResponseStream ();
Console.WriteLine (new StreamReader (stream).ReadToEnd ());
}
}
如果您想进一步了解该主题(例如,替代方法),建议您阅读Mono关于该主题的Wiki article。