Flutter客户端证书身份验证服务器关闭连接

时间:2020-04-27 18:30:31

标签: flutter ssl dart certificate client

我一直在努力增加客户端证书以请求第三方服务器。 当我使用curl执行以下请求时(并为私钥输入正确的密码):

curl -v --cert client.crt --key client.key  <url>

我得到一个有效的答复。 但是,当我尝试在颤抖中执行此操作时:

  final certificate = await rootBundle.load('assets/client.crt');
  final key = await rootBundle.load('assets/client.key');

  final context = SecurityContext.defaultContext;
  context.useCertificateChainBytes(certificate.buffer.asUint8List());
  context.usePrivateKeyBytes(key.buffer.asUint8List(), password: '<password>');
  final client = HttpClient(context: context);
  final httpClient = IOClient(client);

  final response = await httpClient.get('<url>');

服务器立即关闭连接,但以下情况除外:

[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: Connection closed before full header was received
#0      IOClient.send (package:http/src/io_client.dart:65:7)
<asynchronous suspension>
#1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:176:38)
#2      BaseClient.get (package:http/src/base_client.dart:35:7)
#3      main (package:page_route/main.dart:25:37)
<asynchronous suspension>
#4      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:257:25)
#5      _rootRun (dart:async/zone.dart:1184:13)
#6      _CustomZone.run (dart:async/zone.dart:1077:19)
#7      _runZoned (dart:async/zone.dart:1619:10)
#8      runZonedGuarded (dart:async/zone.dart:1608:12)
#9      _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:249:5)
#10     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:301:19)
#11     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

有人知道我在做什么错吗?

0 个答案:

没有答案