连接到Greengrass核心IP时出错

时间:2019-12-11 07:22:17

标签: flutter ip mqtt mismatch greengrass

正确连接到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

0 个答案:

没有答案