C# 解决 https请求 ssl证书问题,看我一篇通通解决

这篇具有很好参考价值的文章主要介绍了C# 解决 https请求 ssl证书问题,看我一篇通通解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

废话不多说,直接上代码,实干兴邦,空谈误国!光说不贴源代码更是耍流氓!

针对旧版本的接口框架,.netformwork4.5以下,加上传统的ssl机制即可解决问题。

针对.net core版本的框架,采用ssl证书验证回调的方式,其中方案二和方案三同属于一种解决方式,方案三的更直接明了。

代码实测的框架分别为netformwork4.5、.net core3.1,完美解决问题。如有纰漏,欢迎各路大神不吝赐教,多多交流分享哈。文章来源地址https://www.toymoban.com/news/detail-561375.html


//ssl证书请求无效的问题解决方案
//********
//方案一,netformwork
 //关于ServicePointManager.SecurityProtocol的设置是解决问题的关键。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 
    | SecurityProtocolType.Tls12 
    | SecurityProtocolType.Tls11 
    | SecurityProtocolType.Tls;
//上述代码放在请求之前
HttpWebRequest request = (HttpWebRequest)WebRequest.Create
("https://www.baidu.com");
request.Timeout = 15000;
request.ReadWriteTimeout = 20000;
request.KeepAlive = true;

//********
//方案二
private static bool RemoteCertificateValidate
(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors error)
{
	return true;
}
ServicePointManager.ServerCertificateValidationCallback 
+= RemoteCertificateValidate;
//上述代码放在请求之前
HttpWebRequest request = (HttpWebRequest)WebRequest.Create
("https://www.baidu.com");
request.Timeout = 15000;
request.ReadWriteTimeout = 20000;
request.KeepAlive = true;

//********
//方案三,.net core 3.1
//Trust all certificates
System.Net.ServicePointManager.ServerCertificateValidationCallback =
    ((sender, certificate, chain, sslPolicyErrors) => true);
//上述代码放在请求之前
HttpWebRequest request = (HttpWebRequest)WebRequest.Create
("https://www.baidu.com");
request.Timeout = 15000;
request.ReadWriteTimeout = 20000;
request.KeepAlive = true;

到了这里,关于C# 解决 https请求 ssl证书问题,看我一篇通通解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RestTemplate HTTPS请求忽略SSL证书

    使用RestTemplate发送HTTPS请求的时候,出现了这样的一个问题: RestTemplate 默认不支持https协议 解决方案:         第一种是忽略认证         第二种是导入证书,比较复杂(比第一种安全)  这里说一下第一种解决方案,忽略认证 版本:Spring Boot2.x RestTemplateConfig 测试代

    2024年02月10日
    浏览(43)
  • 发送https请求并跳过ssl证书验证

     平台服务调用https接口报错: org.springframework.web.client.ResourceAccessException: I/0 error on PoST request for ?\\\"https://XXXXX\\\": java.security.centp.CertificateException: No subject alternative names present; nested exception is javax.net.ssl..SSLHandshakeException: java.security.cert.CertificateException: No subject alternative namesspresent 第

    2024年02月16日
    浏览(39)
  • 关于.NET6后端程序(api)部署ssl证书的问题(https) 解决ing

    首先 一般情况下,后端不用https,但vs默认创建工程时,很容易勾选,这是需要将https改为http 改两处 一、把program.cs的 //app.UseHttpsRedirection(); 注释了 二、launchSettings里的iisSettings中 443改为0 再加一处 launchSettings的\\\"applicationUrl\\\": \\\"http://localhost:5001\\\"需要把s删掉 如果不改 用post会默认

    2024年01月17日
    浏览(46)
  • 请求第三方Https地址忽略SSL证书校验

    说明:个人使用记录 需要在请求之前忽略ssl协议,这里是直接使用静态方法初始化时就执行了 也需要在请求接口之前忽略SSL

    2024年04月10日
    浏览(39)
  • Openfeign和okHttp的https请求忽略ssl证书认证

    在通过feign和okhttp请求外部接口时,出现了以下问题: Servlet.service() for servlet [dispatcherServlet] in context with path [/xxxx] threw exception [Request processing failed; nested exception is feign.RetryableException: java.security.cert.CertificateException: No subject alternative DNS name matching www.xx.xx.cn found. executing GET htt

    2024年02月07日
    浏览(42)
  • Java get/post的https请求忽略ssl证书认证

    unable to find valid certification path to requested target 工具类 使用方法

    2024年02月11日
    浏览(42)
  • 内网环境下nginx使用自签名ssl证书配置https请求

    一、安装Openssl nginx有openssl 命令,没有的自行百度,我配置的nginx是存在的所以没查这部分 二、生成密钥 可以在本地生成然后把文件拷贝到服务器,也可以直接在服务器指定目录生成,我选择的后者。 应该是哪个目录都可以,只要在nginx.conf文件中引入正确地址就可以 我的配

    2024年01月21日
    浏览(46)
  • 请求https报错证书校验失败(javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX

    项目中请求第三方https的URL,报错ssl证书校验失败 ssl校验失败有两种可能,一种是服务端ssl证书配置错误,一种是客户端请求的是非信任的https地址,客户端不信任该https的ssl证书。怀疑是使用了自签名证书,非各大厂提供签名证书 该问题有两种请求方案 手动下载ssl证书 (

    2024年02月03日
    浏览(60)
  • C# 服务HTTPS 对 请求被中止: 未能创建 SSL/TLS 安全通道报错

    [WebMethod(Description = \\\"获取HttpsPost加密服务.\\\")]         public string HTTPSPOST(String input,String sUrl)         {             Log.Add(\\\"ReceiveNotice\\\", \\\"HTTPSPOST\\\", \\\"入参sUrl:\\\" + sUrl + \\\",input:\\\" + input);             HttpWebRequest webReq = null;                            ServicePointManager.ServerCertificateV

    2024年02月11日
    浏览(30)
  • 网站部署SSL证书后无法使用https访问的解决方法

    网站要启用https加密访问,则需安装部署有效的 SSL证书 。但有时我们在服务器上安装部署 SSL证书 后,使用https协议访问网站,可能会出现页面加载缓慢、空白或提示 “无法访问”等问题,这时该如何解决? 网站部署 SSL证书 后无法使用https访问的可能原因及解决方法 1、服务

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包