客户端中的Flutter HTTPS握手错误(操作系统错误:CERTIFICATE_VERIFY_FAILED:ok(handshake.cc:363))

问题描述 投票:1回答:2

一位同事给了我一个Flutter项目试图在iOS中构建应用程序(我使用Mac,我们都使用Android Studio)。除了这个错误,一切都很好:

Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED: ok(handshake.cc:363))

如果我使用HTTP而不是HTTPS,它显然是有效的。我的同事说他通过添加以下代码解决了这个问题:

client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;

这行代码也在我的项目中,因为源代码是相同的。那为什么它适用于Android,但不适用于iOS?

ios android-studio https flutter
2个回答
0
投票

检查您正在使用的https证书,我认为iOS在https连接方面比android有更严格的措施。为安全起见,请尝试更新服务器证书。


0
投票

如果你添加了这一行,这应该适用于ios

client.badCertificateCallback = (X509Certificate cert, String host, int port) 
=> true;

所以请仔细检查您是否为请求使用了相同的客户端实例,并在设置badCertificateCallback参数后发出请求

© www.soinside.com 2019 - 2024. All rights reserved.