简体   繁体   English

Flutter - CERTIFICATE_VERIFY_FAILED

[英]Flutter - CERTIFICATE_VERIFY_FAILED

After change minSdkVersion from 16 to 19 on old android devices eg.在旧的 android 设备上将 minSdkVersion 从16更改为19后,例如。 Android 5.1.1, Android 6 I install app but can't load data from web rest api. Android 5.1.1, Android 6 I install app but can't load data from web rest api. On Android 11 all work fine.在 Android 11 上一切正常。

I'm change version because some plugin need min sdk 19.我正在更改版本,因为某些插件需要最低 sdk 19。

Which android version my app now supports?我的应用现在支持哪个 android 版本?

android {
        compileSdkVersion 30
        defaultConfig {
            applicationId "com.example.test"
            minSdkVersion 19
            targetSdkVersion 30
        }

My sdk manager:我的 sdk 经理: 在此处输入图像描述

Console log when run app on Android 6 emulator.在 Android 6 模拟器上运行应用程序时的控制台日志。

D/PathProviderPlugin( 4466): Don't use TaskQueues.
I/FLTFireMsgService( 4466): FlutterFirebaseMessagingBackgroundService started!
E/flutter ( 4466): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error: 
E/flutter ( 4466):  CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:359))
E/flutter ( 4466): #0      _SecureFilterImpl._handshake (dart:io-patch/secure_socket_patch.dart:104:46)
E/flutter ( 4466): #1      _SecureFilterImpl.handshake (dart:io-patch/secure_socket_patch.dart:147:25)
E/flutter ( 4466): #2      _RawSecureSocket._secureHandshake (dart:io/secure_socket.dart:794:54)
E/flutter ( 4466): #3      _RawSecureSocket._tryFilter (dart:io/secure_socket.dart:924:19)
E/flutter ( 4466): <asynchronous suspension>
E/flutter ( 4466): 

In main.dart file I'm add:在 main.dart 文件中,我添加:

import 'dart:io';导入“飞镖:io”;

class MyHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient(SecurityContext? context){
    return super.createHttpClient(context)
      ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true;
  }
}


--Add before runApp(MyApp());
HttpOverrides.global = MyHttpOverrides();
runApp(MyApp());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 CERTIFICATE_VERIFY_FAILED:所有 flutter 应用程序的证书已过期 - CERTIFICATE_VERIFY_FAILED: certificate has expired on all flutter apps Flutter on android CERTIFICATE_VERIFY_FAILED:证书已过期 - Flutter on android CERTIFICATE_VERIFY_FAILED: certificate has expired Android 存储库 SSL CERTIFICATE_VERIFY_FAILED - Android repo SSL CERTIFICATE_VERIFY_FAILED 在 2021 年 9 月 30 日之后使用 LetsEncrypt SSL 证书在 Android 7 CERTIFICATE_VERIFY_FAILED 上颤动 - Flutter on Android 7 CERTIFICATE_VERIFY_FAILED with LetsEncrypt SSL cert after Sept 30, 2021 CERTIFICATE_VERIFY_FAILED:无效或不一致的证书扩展名(handshake.cc.359) - CERTIFICATE_VERIFY_FAILED: invalid or inconsistent certificate extension(handshake.cc.359) DioError HandshakeException:客户端握手错误(操作系统错误:CERTIFICATE_VERIFY_FAILED:证书已过期(handshake.cc:393)) - DioError HandshakeException: Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED: certificate has expired(handshake.cc:393)) 通过 boost 验证 android 中的证书失败 - Verify certificate in android by boost failed Android repo init:SSL_CERTIFICATE_VERIFY_FAILED 错误 - Android repo init : SSL_CERTIFICATE_VERIFY_FAILED error android volley 验证 ssl 证书 - android volley verify ssl certificate 验证 Flutter 上的列表是否为空 - Verify if list is empty on Flutter
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM