import 'dart:core';
import 'dart:io';
import 'package:dio/adapter.dart';
import 'package:dio/dio.dart';
import 'package:flutter/services.dart';
import 'package:imes_base_plugins/common/logs.dart';
///https验证
addHttps1(Dio dio) async {
ByteData data = await rootBundle.load('assets/certificate/DigiCertCA.crt');
logs("data1: $data");
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
SecurityContext securityContext = SecurityContext();
securityContext.setTrustedCertificatesBytes(data.buffer.asUint8List());
client = HttpClient(context: securityContext);
return client;
};
}
///https验证
addHttps2(Dio dio) async {
final file = "assets/certificate/star_idpbg_efoxconn_com.crt";
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
SecurityContext securityContext = SecurityContext();
//file is the path of certificate
securityContext.setTrustedCertificates(file);
client = HttpClient(context: securityContext);
return client;
};
}
///https验证
addHttps3(Dio dio) async {
final pem = await rootBundle.loadString('assets/certificate/star_idpbg_efoxconn_com-nginx.pem');
logs("pem1: $pem");
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
client.badCertificateCallback = (X509Certificate cert, String host, int port) {
// Verify the certificate
logs("pem2: ${cert.pem}");
if (cert.pem == pem) {
logs("pem3 true");
return true;
} else {
logs("pem4 false");
return false;
}
};
return client;
};
}
///https验证-默认通过
addHttps4(Dio dio) async {
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
client.badCertificateCallback = (X509Certificate cert, String host, int port) {
return true;
};
return client;
};
}
3.2.flutter-https验证
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在Xcode7.0之后,苹果废弃了NSURLConnection方法,数据请求使用NSURLSession,作为网...
- public function check_login($code='',$password='',$accoun...
- 1、修改AFNetworking中修改源码,在AFSecurityPolicy.m注释掉这几句 或者可以添加一个宏...
- 在Xcode7.0之后,苹果废弃了NSURLConnection方法,数据请求使用NSURLSession,作为网...