В вопросе недостаточно подробностей, поэтому этот ответ основан на некоторых предположениях:
package:http
в качестве http-клиента package:http
использует dart:io HttpClient
под капотом, а HttpClient
имеет несколько функций, позволяющих проверять сертификат. Поскольку сертификат самозаверяющего сервера будет не доверен клиенту, клиент будет вызывать badCertificateCallback
, позволяя вам самостоятельно проверить сертификат сервера, например:
HttpClient httpClient = new HttpClient()
..badCertificateCallback =
((X509Certificate cert, String host, int port) {
// tests that cert is self signed, correct subject and correct date(s)
return (cert.issuer == cert.subject &&
cert.subject == 'MySelfSignedCertCN' &&
cert.endValidity.millisecondsSinceEpoch == 1234567890);
});
IOClient ioClient = new IOClient(httpClient);
// use ioClient to perform get/post operations from package:http
// don't forget to call ioClient.close() when done
// note, this also closes the underlying HttpClient