yon*_*tan 5 client-certificates dart dart-http flutter
我正在尝试将客户端证书从http.dart包加载到 http.client 。
我看到了有关如何使用HttpClient类执行此操作的多个答案,例如这个答案:Flutter add selfsignedcertificatefromassetfolder,这基本上建议执行以下代码
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);
Run Code Online (Sandbox Code Playgroud)
但我必须使用http.darthttp.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 --
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以配置http.client使用客户端证书吗?
谢谢。
不要使用http.Client()构造函数。相反,构造 an (可以使用 asIOClient的子类来代替)。Client传入你的HttpClient.
import 'dart:io';
import 'package:http/io_client.dart';
void main() async {
final context = SecurityContext.defaultContext;
// modify context as needed
final httpClient = HttpClient(context: context);
final client = IOClient(httpClient);
await client.get(Uri.parse('https://somewhere.io'));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5711 次 |
| 最近记录: |