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;
};
}
网友评论