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模板网!

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

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

相关文章

  • HTTPS请求忽略SSL证书

    现场环境: 后端服务部署在docker内,远程调用https接口,线上报错: unable to find valid certification path to requested target 解决方案: 设置SSLSocketFactory忽略证书校验 实现案例: 使用的cn.hutool.http.HttpRequest工具类请求的数据,支持设置头部、表单、body、超时时间等关键信息 工具类 SSL

    2024年02月11日
    浏览(52)
  • RestTemplate HTTPS请求忽略SSL证书

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

    2024年02月10日
    浏览(49)
  • 发送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日
    浏览(47)
  • 关于.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日
    浏览(62)
  • 请求第三方Https地址忽略SSL证书校验

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

    2024年04月10日
    浏览(49)
  • 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日
    浏览(51)
  • Java get/post的https请求忽略ssl证书认证

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

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

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

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

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

    2024年02月03日
    浏览(72)
  • https 的ssl证书过期处理解决方案(lighthttpd)

    更换证书:lighthttpd 配置文件位置:/opt/vmware/etc/lighttpd/lighttpd.conf     (配置文件的最底部   G快速来到底部) 方案一:阿里云申请免费的证书 这里公司内网环境没有配置域名,可以创建一个临时域名(vim /etc/hosts )域名:www.zyg.com  这里先声明:思路是错误的 其下有错误

    2024年02月11日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包