握手异常:CERTIFICATE_VERIFY_FAILED:自签名证书错误

问题描述 投票:0回答:1

我试图在我的移动应用程序中获取用户的当前位置。因此,我正在调用 getcitydetail api 调用......并且收到此错误“HandshakeException:CERTIFICATE_VERIFY_FAILED:自签名证书错误”

我尝试通过修改 HTTP 客户端以接受自签名证书来暂时绕过 SSL 验证来绕过此错误,但收到此错误。

flutter dart
1个回答
0
投票
class AppHttpOverrides extends HttpOverrides {
  @override
  HttpClient createHttpClient(SecurityContext? context) {
    return super.createHttpClient(context)
      ..badCertificateCallback = ((cert, host, port) => true);
  }
}


在调用 API 之前执行此操作:

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
// for os 7 override http badCertificateCallback
if((androidInfo.version.sdkInt ?? 30) < 26) {
  HttpOverrides.global = new AppHttpOverrides();
}

使用“device_info_plus”包获取操作系统 API 级别

© www.soinside.com 2019 - 2024. All rights reserved.