正确连接到 AWS-END-POINT 但是当我尝试使用本地网络 IP 连接到 Greengrass 核心时。我收到以下错误:
E/flutter (12349): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled
Exception: HandshakeException: Handshake error in client (OS Error:
E/flutter (12349): CERTIFICATE_VERIFY_FAILED: Hostname
mismatch(handshake.cc:352))
我已经检查了绿草核心。它工作正常。我认为使用 ip 地址而不是 URL 地址可能存在一些问题。但我不确定。有人可以帮忙吗?
我正在运行的代码是
import 'dart:async';
import 'dart:io';
import 'package:mqtt_client/mqtt_client.dart';
import 'dart:convert' show utf8;
import 'dart:convert';
Future main() async {
const String url =
'192.168.8.102';
const int port = 8883;
const String clientId =
'Flutter_tmfacility_0_1';
MqttClient client = MqttClient.withPort(url,clientId,port);
client.secure = true;
// Set the security context as you need, note this is the standard Dart SecurityContext class.
final SecurityContext context = new SecurityContext(withTrustedRoots: true); context.setTrustedCertificatesBytes(utf8.encode('GREEN GRASS CORE CERT HERE'));
context.useCertificateChainBytes(utf8.encode(' CLIENT CERT HERE'));
context.usePrivateKeyBytes(utf8.encode(' MY PRIVATE KEY HERE '));
client.securityContext = context;
client.setProtocolV311();
// logging if you wish
client.logging(on: false);
print('Before Connecting');
await client.connect(url);
print('After Connecting');
if (client.connectionStatus.state == MqttConnectionState.connected) {
print('iotcore client connected');
} else {
print(
'ERROR iotcore client connection failed - disconnecting, state is ${client.connectionStatus.state}');
client.disconnect();
}
const String topic = '$aws/things/Pi_tmfacility_0_1/shadow/update';
String payload = '{'state':{'desired': {'name' : 'usama'}} }';
final MqttClientPayloadBuilder builder = MqttClientPayloadBuilder();
builder.addString(json.encode(payload));
print('into the publish to get single device shadow ');
client.publishMessage(topic, MqttQos.atMostOnce, builder.payload);
print('Sleeping....');
await MqttUtilities.asyncSleep(10);
print('Disconnecting');
client.disconnect();
return 0;
}
[enter image description here][1]
[1]: https://i.stack.imgur.com/hihvh.png