Кажется, на iOS нет очевидного решения для добавления доверенного, самоподписанного root CA. Поскольку в рабочей области, скорее всего, будет общедоступный доверенный центр сертификации, вы можете обойти эту проблему, отключив проверку TLS для разработки only .
Вот соответствующий фрагмент моего полного примера репо :
Future<ClientChannel> makeChannel() async {
final caCert = await rootBundle.loadString('assets/pki/ca/ca.crt');
return ClientChannel(
'localhost',
port: 13100,
options: ChannelOptions(
credentials: ChannelCredentials.secure(
certificates: utf8.encode(caCert),
// --- WORKAROUND FOR SELF-SIGNED DEVELOPMENT CA ---
onBadCertificate: (certificate, host) => host == 'localhost:13100',
),
),
);
}
В этом случае мой сервер прослушивает localhost:13100
.