我正在尝试从**http.dart包将客户端证书加载到http.client。
关于如何使用HttpClient**类完成此任务,我看到了多个答案,例如以下答案:Flutter add self signed certificate from asset folder,基本上建议执行以下代码
ByteData data = await rootBundle.load('assets/raw/certificate.pfx');
SecurityContext context = SecurityContext.defaultContext;
context.useCertificateChainBytes(data.buffer.asUint8List());
context.usePrivateKeyBytes(data.buffer.asUint8List());
client = HttpClient(context: context);
但是我必须使用http.dart包,因为我有一个接受http.client
的函数,如下所示
import 'package:http/http.dart' as http;
var httpClient = http.Client();
// i'd like to configure this httpClient to use a specific client certificate
var client = MyClient(httpClient);
....
MyClient (http.Client? httpClient) {
-- some constructor logic --
}
有没有办法配置http.client
以使用客户端证书?
- 谢谢-谢谢
1条答案
按热度按时间bwntbbo31#
不要使用
http.Client()
构造函数,而是构造一个IOClient
(它是Client
的一个子类,也可以用它来代替),传入你的HttpClient
。