CronetClient 和 CupertinoClient 的“badCertificateCallback”

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

之前我使用的是 dart

http.Client
包中的常规
http
。我已经实现了以下内容以允许任何证书处于调试模式:

class BadCertificateHttpOverrides extends io.HttpOverrides {
  @override
  io.HttpClient createHttpClient(io.SecurityContext? context) {
    bool callback(io.X509Certificate cert, String host, int port) => true;

    return super.createHttpClient(context)..badCertificateCallback = callback;
  }
}
if (kDebugMode) {
  // Override to allow arbitrary certificates in debug mode
  io.HttpOverrides.global = BadCertificateHttpOverrides();
}

但是,按照 CronetClient

 包文档的建议,我现在开始分别在 Android 和 iOS 上使用 
CupertinoClient
http
,但这不再有效。

这两种实现是否有类似的方法来允许调试模式下的任意证书?

flutter dart dart-http
1个回答
0
投票

目前:不,

CupertinoClient
CronetClient
都不支持自签名证书。

对于

CupertinoClient
,这似乎不会很快改变(参见https://github.com/dart-lang/http/issues/1178

对于

CronetClient
,它至少已被请求但尚未评论(请参阅https://github.com/dart-lang/http/issues/1314

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