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);
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)