- 加載安全證書訪問Https接口,代碼如下

static HttpWebRequest getRequest() { HttpWebRequest request = null; if (request == null) { if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase)) { request = WebRequest.Create(url) as HttpWebRequest; //添加證書 X509Certificate2 x509Certificate2 = new X509Certificate2(Directory.GetCurrentDirectory() + @"\StaticFile\my.p12", "IoM@1234", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet); request.ClientCertificates.Add(x509Certificate2); ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); request.ProtocolVersion = HttpVersion.Version11; // 這里設置了協議類型。 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;// (SecurityProtocolType)3072;// SecurityProtocolType.Tls1.2; ServicePointManager.CheckCertificateRevocationList = true; ServicePointManager.DefaultConnectionLimit = 1000; ServicePointManager.Expect100Continue = false; } else { request = (HttpWebRequest)WebRequest.Create(url); } request.Method = "POST"; //使用get方式發送數據 request.KeepAlive = true; request.Proxy = null; request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; request.Referer = null; request.AllowAutoRedirect = true; //request.ServicePoint.Expect100Continue = false; //request.ServicePoint.UseNagleAlgorithm = false; request.AllowWriteStreamBuffering = false; request.Timeout = 1000 * 10; request.ReadWriteTimeout = 1000 * 10; //request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"; request.Accept = "*/*"; } return request; }
- .net core 配置Https並引入安全文件,代碼如下:

public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .UseKestrel(options => { options.Listen(IPAddress.Loopback, 5001, listenOptions => { listenOptions.UseHttps(AppContext.BaseDirectory+@"\my.p12", "IoM@1234"); }); }) .UseIIS(); }