Salve
Ho un problema di connessione con il mio client M2Mqtt. Ho provato a connettermi alla mia iot things in questo modo:
var caCert = X509Certificate.CreateFromCertFile(@"C:\DiscoD\MqttRuleDefault\root.crt");
var clientCert = new X509Certificate2(@"C:\DiscoD\MqttRuleDefault\xxxx-certificate.crt");
string path = @"C:\DiscoD\MqttRuleDefault\xxxxx-private.pem.key";
string privateKey = this.GetStringFromFile(path);
byte[] keyBuffer = Helpers.GetBytesFromPEM(privateKey, PemStringType.RsaPrivateKey);
RSACryptoServiceProvider prov = Crypto.DecodeRsaPrivateKey(keyBuffer);
clientCert.PrivateKey = prov;
Console.WriteLine(clientCert.HasPrivateKey);
Console.WriteLine(clientCert.Issuer);
Console.WriteLine(clientCert.Verify());
RemoteCertificateValidationCallback cb = new RemoteCertificateValidationCallback(Pippo);
LocalCertificateSelectionCallback lcb = new LocalCertificateSelectionCallback(Pippo1);
var client = new MqttClient("yyyyy-ats.iot.us-west-2.amazonaws.com", 443, true, caCert, clientCert, MqttSslProtocols.TLSv1_2, cb, lcb, new List<string>() { "x-amzn-mqtt-ca" });
string clientId = Guid.NewGuid().ToString();
client.ConnectionClosed += Client_ConnectionClosed;
client.MqttMsgPublished += Client_MqttMsgPublished;
client.MqttMsgPublishReceived += Client_MqttMsgPublishReceived;
client.MqttMsgSubscribed += Client_MqttMsgSubscribed;
client.MqttMsgUnsubscribed += Client_MqttMsgUnsubscribed;
client.Connect(clientId);
Ma il messaggio di Connax non arriva. la cosa strana è che con uno script pyton popolato con gli stessi campi mi connetto, e lo stesso con l'sdk di awsIotClient
Potreste aiutarmi.
Grazie mille