我正在尝试使用自签名证书连接服务器,但我收到错误:
E / flutter(3781):HandshakeException:客户端中的握手错误(操作系统错误:
E / flutter(3781):CERTIFICATE_VERIFY_Failed:主机名不匹配(ssl_cert.c:345))
代码,我设置证书:
E / flutter(3781):HandshakeException:客户端中的握手错误(操作系统错误:
E / flutter(3781):CERTIFICATE_VERIFY_Failed:主机名不匹配(ssl_cert.c:345))
代码,我设置证书:
String path = '/storage/sdcard0/server.crt'; SecurityContext context = new SecurityContext(); context.setTrustedCertificates(path,password: 'hello'); _client = new HttpClient(context: context);
我做错了什么?
如果我没有设置SecurityContext,我会收到SSL握手错误.
解决方法
我用了
HttpClient.badCertificateCallback
这是接受任何证书的代码:
这是接受任何证书的代码:
_client = new HttpClient(); _client.badCertificateCallback = (X509Certificate cert,String host,int port) => true;