Flutter/Dart:读取 TLS 证书文件

问题描述 投票:0回答:0

我正在尝试从我的 flutter 客户端代码中读取文件

tls/cert.pem
,如下所示:

final channel = ClientChannel('10.0.2.2',
    port: 9000,
    options: ChannelOptions(
      credentials: ChannelCredentials.secure(
        certificates: new File('tls/cert.pem').readAsBytesSync(),
        authority: 'localhost',
      ),
      codecRegistry:
      CodecRegistry(codecs: const [GzipCodec(), IdentityCodec()]),
    ),
  );

请注意

tls/cert.pem
文件已经添加到
pubspec.yaml
资产列表:

assets:
    - tls/cert.pem  
    ...

我的错误信息:

E/flutter (24635): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PathNotFoundException: Cannot open file, path = 'tls/cert.pem' (OS Error: No such file or directory, errno = 2)
E/flutter (24635): #0      _File.throwIfError (dart:io/file_impl.dart:629:7)
E/flutter (24635): #1      _File.openSync (dart:io/file_impl.dart:473:5)
E/flutter (24635): #2      _File.readAsBytesSync (dart:io/file_impl.dart:533:18)
...

当我收到上面的错误消息时,任何人都可以回答我的代码和设置有什么问题吗?

双重检查相对路径、文件存在、从资产列表中删除

flutter dart ssl grpc tls1.2
© www.soinside.com 2019 - 2024. All rights reserved.