首页 > 解决方案 > 如何绕过 SSL 证书验证?

问题描述

如何绕过 SSL 证书验证?错误:握手异常:客户端中的握手错误(操作系统错误:CERTIFICATE_VERIFY_FAILED:自签名证书(handshake.cc:345)

标签: apifluttersslssl-certificateflutter-dependencies

解决方案


您需要配置 HttpService 以使用自签名 SSL 本地服务器。像这样:


import 'dart:io';
import 'dart:convert';
class HttpService {
  Future<dynamic> sendRequestToServer(dynamic model, String                         reqType, bool isTokenHeader, String token) async {
      HttpClient client = new HttpClient();
      client.badCertificateCallback =((X509Certificate cert, String  host, int port) => true);
      HttpClientRequest request = await         client.postUrl(Uri.parse("https://${serverConstants.serverUrl}$reqType"));
      request.headers.set('Content-Type', 'application/json');
      if(isTokenHeader){
         request.headers.set('Authorization', 'Bearer $token');
      }
     request.add(utf8.encode(jsonEncode(model)));
     HttpClientResponse result = await request.close();
     if(result.statusCode == 200) {
        return jsonDecode(await result.transform(utf8.decoder)
        .join());
     } else {
        return null;
     }
   }
}

从这里阅读更多信息。


推荐阅读