Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Flutter https证书问题

Flutter https证书问题

原创
作者头像
JarvanMo
发布于 2018-08-28 06:44:30
发布于 2018-08-28 06:44:30
2K0
举报
文章被收录于专栏:JarvanMo的IT专栏JarvanMo的IT专栏

转载请标明原文出处。

最近在开发Fluwx,在调试微信支付的时候,遇到了一个异常:

代码语言:txt
AI代码解释
复制
certificate_verify_failed: unable to get local issuer certificate

其请求代码如下:

代码语言:txt
AI代码解释
复制
HttpClient client = HttpClient();
var request = await client.getUrl(Uri.parse("https://wxpay.wxutil.com/pub_v2/app/app_pay.php"));

原因就是证书不被信任。为了解决这个问题需要强行信任:

代码语言:txt
AI代码解释
复制
client.badCertificateCallback = callback(X509Certificate cert, String host, int port){
      return true;
    }

badCertificateCallback返回值为true就可以解决问题了。

有的同学可能用的是http包,如果同样遇到这个问题可以通过如下的方式解决:

代码语言:txt
AI代码解释
复制
import 'dart:io';
import 'package:http/http.dart' as http;

bool _certificateCheck(X509Certificate cert, String host, int port) =>
    host == 'devblog.paypal.com';

http.Client paypalClient() {
  var ioClient = new HttpClient()
      ..badCertificateCallback = _certificateCheck;
  
  return new http.IOClient(ioClient);
}

为其设置一个IOClient就可以解决问题了。

怎么样,问题解决了吗?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
编辑精选文章
换一批
记一次因证书问题导致请求失败问题SSLHandshakeException
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10989813.html
上帝
2019/06/14
2.3K0
使用Burp拦截Flutter App与其后端的通信
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言。
FB客服
2019/10/10
2.7K0
使用Burp拦截Flutter App与其后端的通信
Flutter 网络请求封装之Dio(Cookie管理、添加拦截器、下载文件、异常处理、取消请求等)
配置一目了然,但是有一个潜在的问题,细心的同学可能会发现,baseUrl的参数是固定的,在实际开发中请求两个及以上的域名地址是有很大可能的,所以我们怎么动态更换baseUrl呢?
yechaoa
2022/06/10
8.1K0
移动安全入门之常见抓包问题二
证书绑定 概述 证书绑定即客户端在收到服务器的证书后,对该证书进行强校验,验证该证书是不是客户端承认的证书,如果不是,则直接断开连接。浏览器其实已经这样做了,但是如“前面”所说,选择权交给了用户,且浏览器由于其开放性允许让用户自导入自己的证书到受信任区域。但是在APP里面就不一样,APP是HTTPS的服务提供方自己开发的客户端,开发者可以先将自己服务器的证书打包内置到自己的APP中,或者将证书签名内置到APP中,当客户端在请求服务器建立连接期间收到服务器证书后,先使用内置的证书信息校验一下服务器证书是否合法
FB客服
2023/03/29
1.5K0
移动安全入门之常见抓包问题二
【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证
由于是本地测试,请修改本地host文件C:\Windows\System32\drivers\etc\host
肖哥哥
2019/02/22
1.8K0
【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证
Java访问HTTPS不受信任证书问题解决
Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报错。 另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。
java404
2021/04/30
3.2K0
Feign HTTP连接的几点建议 顶
为什么要使用Apache的HTTPClient,因为JDK自带的HTTP Client在JDK 9才支持HTTP 2.0,加上JDK 8 HTTP Client本身的各种缺陷。
算法之名
2019/12/16
7.1K0
Feign HTTP连接的几点建议
                                                                            顶
httpclient4.x访问https[通俗易懂]
https有单向认证和双向认证之分,单向认证即客户端只会认证服务端,双向认证是客户端需要认证服务端,服务端也需要认证客户端。
全栈程序员站长
2022/09/15
9260
Java发送HTTPS请求
上篇文章介绍了 java 发送 http 请求,大家都知道发送http是不安全的 。我也是由于对接了其他企业后总结了一套发送 https的工具。大家网上找方法很多的,但是可不是你粘过来就能用啊,我也是踩过坑的,所以我这个工具,只要粘贴到你们自己项目里就可以用。我的工具跟网上没什么区别,唯一的区别是我亲身实战过,把需要注意的细节列出来,不让大家浪费时间。
胖虎
2019/06/26
5.3K0
java模拟http/https post请求
之前每次代码执行到上述代码的第二行的时候,会等一段时间然后会捕获到Exception异常。
翎野君
2023/05/12
1.1K0
java模拟http/https post请求
【胖虎的逆向之路】Android自制Https证书实现双向认证
Hyper Text Transfer Protocol ,超文本传输协议, 是互联网使用最广泛的一种协议,所有的WWW文件必须遵循的标准,Http协议传输的数据都是未加密的,也就是明文,因此使用Http传输敏感协议是不安全的。
胖虎哥
2024/01/03
1.2K0
android https安全连接
如果不需要验证服务器端证书,直接照这里做 public class Demo extends Activity {   /** Called when the activity is first created. */ private TextView text;   @Override public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);         
xiangzhihong
2018/02/01
1.6K0
RestTemplate调用https接口跳过证书验证
import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.nio.charset.StandardCharsets; import java.security.cert.Certific
JQ实验室
2022/02/10
2.5K0
如何在Tomcat中做TLS客户端认证
常见的https网站做的是服务端认证(server authentication),浏览器通过证书判断你所访问的https://baidu.com是否真的是百度,而不是其他人伪造的网站。同时还对流量加密,防止别人窃听你的流量。
颇忒脱
2019/04/19
2.9K0
如何在Tomcat中做TLS客户端认证
Flutter开发-网络请求与JSON转换
如果发送的数据是FormData,则dio会将请求header的contentType设为“multipart/form-data”。
码客说
2020/05/14
3.6K0
java接入微信支付的Native方式
前言: 微信有很多种方式,本文章只是讲解如何对接微信支付的Native方式 官方Native方式文档:https://pay.weixin.qq.com/wiki/doc/api/native.ph
蚊子.
2023/08/10
5760
java接入微信支付的Native方式
请求HTTPS接口提示缺少安全证书:unable to find valid certification path to requested target
Question:unable to find valid certification path to requested target
chenchenchen
2021/09/06
9.3K0
RestTemplate 发送 Https 请求调用
RestTemplate 发送 Https 请求调用 import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.
Jacob丶
2020/08/05
3.3K0
golang源码分析:http代理和https代理
首先还是上代码:https://github.com/xiazemin/dns_proxy,然后我们思考几个问题:我们使用charles抓包的时候使用的是https代理还是http代理?使用charles代理的时候为什么要装charles的证书,有什么作用?http代理能代理https的请求么?
golangLeetcode
2022/12/17
5210
如何让Apache HttpClient 支持SSL配置?
按照Httpclient的设计要求编写一个响应信息处理类,也可以使用匿名内部类或者Lambda表达式。
阿东
2024/05/08
8130
如何让Apache HttpClient 支持SSL配置?
相关推荐
记一次因证书问题导致请求失败问题SSLHandshakeException
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档