Я пытаюсь использовать библиотеку M2MQtt для подключения к брокеру AWS MQTT с использованием корневого ЦС, клиентский сертификат и ключ. Я использую следующий код подключения клиента С#
MqttClient client = new MqttClient(
endPoint,
MqttSettings.MQTT_BROKER_DEFAULT_SSL_PORT,
true,
new X509Certificate2(@"ca.pem"),
new X509Certificate2(@"certificate.pem"),
MqttSslProtocols.TLSv1_2
);
client.Connect(Guid.NewGuid().ToString());
однако это не удается с ошибкой FormatException. Вероятно, это связано с тем, что я не знаю, куда передать закрытый ключ для этого соединения. Это то, что у меня уже есть, прототипировано на Python с использованием AWSIoTPythonSDK (см. ниже).
from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient
f = open('mqttEndpoint.txt', 'r')
awsHost = f.read()
f.close()
myAWSIoTMQTTClient = AWSIoTMQTTClient('foo')
myAWSIoTMQTTClient.configureEndpoint(awsHost, 8883)
myAWSIoTMQTTClient.configureCredentials('ca.pem', 'id_rsa', 'certificate.pem')
Кто-нибудь знает, как это должно работать?