public void ConnectAsync(MqttConnectMessageBuilder bldr, string ipOrHost, int port, SocketEncryption encryption, object eventData) { var args = new SocketEventArgs { EncryptionLevel = encryption, ClientUid = GenerateClientUid(bldr) }; args.OnOperationComplete((eventArgs) => { OnTcpConnectAsyncCompleted(eventArgs, eventData); if (eventArgs.SocketException == null) { SendMessageAsync(bldr, eventData, eventArgs.ClientUid); } else { FireConnectComplete(new MqttNetEventArgs { Message = bldr.GetMessage(), Exception = eventArgs.SocketException, AdditionalErrorInfo = eventArgs.AdditionalErrorInfo, EventData = eventData, ClientUid = args.ClientUid }); } }); Socket.ConnectAsync(ipOrHost, port, args); }
private SocketProtectionLevel GetSocketProtectionLevel(SocketEncryption encryption) { _encryptionLevel = SocketProtectionLevel.PlainSocket; switch (encryption) { case SocketEncryption.None: _encryptionLevel = SocketProtectionLevel.PlainSocket; break; case SocketEncryption.Tls10: _encryptionLevel = SocketProtectionLevel.Tls10; break; case SocketEncryption.Tls11: _encryptionLevel = SocketProtectionLevel.Tls11; break; case SocketEncryption.Tls12: _encryptionLevel = SocketProtectionLevel.Tls12; break; } return(_encryptionLevel); }
private SocketProtectionLevel GetSocketProtectionLevel(SocketEncryption encryption) { _encryptionLevel = SocketProtectionLevel.PlainSocket; switch (encryption) { case SocketEncryption.None: _encryptionLevel = SocketProtectionLevel.PlainSocket; break; case SocketEncryption.Ssl: _encryptionLevel = SocketProtectionLevel.Ssl; break; //case SocketEncryption.Tls10: // IsEncrypted = true; // _encryptionLevel = SocketProtectionLevel.Tls10; // break; //case SocketEncryption.Tls11: // IsEncrypted = true; // _encryptionLevel = SocketProtectionLevel.Tls11; // break; //case SocketEncryption.Tls12: // IsEncrypted = true; // _encryptionLevel = SocketProtectionLevel.Tls12; // break; } return(_encryptionLevel); }
private void SetEncryptionOnStreams(SocketEncryption encryption, NSInputStream inStream, NSOutputStream outStream) { if (encryption == SocketEncryption.Ssl) { inStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.SslV3; outStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.SslV3; } else if (encryption == SocketEncryption.Tls10) { inStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.TlsV1; outStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.TlsV1; } else if (encryption == SocketEncryption.Tls11) { inStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.TlsV1; outStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.TlsV1; } else if (encryption == SocketEncryption.Tls12) { inStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.TlsV1; outStream.SocketSecurityLevel = NSStreamSocketSecurityLevel.TlsV1; //var key = ObjCRuntime.Dlfcn.GetStringConstant("kCFStreamPropertySSLSettings", Libraries.CoreFoundation.Handle); } }
/// <summary> /// Create an MQTT client the uses SSL encryption for communications. /// </summary> /// <param name="encryptionLevel">The encryption level to use.</param> /// <param name="caCertificate">The certificate for client authorities to use for authentication.</param> /// <returns></returns> public static MqttClient CreateSecureClient(SocketEncryption encryptionLevel, X509Certificate caCertificate) { var logManager = new LogCompositor(); ActiveClientCollection.Instance.TestCanAddNewClient(); // Each platform has its own implementation of Sockets and reader threads. var client = new MqttClient(new NetMfSocketAdapter(logManager, caCertificate), logManager, encryptionLevel); ActiveClientCollection.Instance.AddClient(client); return client; }
/// <summary> /// Create an MQTT client the uses SSL encryption for communications. If the certificate is private and not /// signed ay a trusted Certificate Authority, the certificate must be installed in the application's /// certificate store ahead of making a connection. /// </summary> /// <param name="encryption">The encryption level to use.</param> /// <returns>An MQTT client ready to make secure connections to a broker.</returns> public static MqttClient CreateSecureClient(SocketEncryption encryption) { var logManager = new LogCompositor(); logManager.AddLoggingProvider(typeof(DebugLogger)); ActiveClientCollection.Instance.TestCanAddNewClient(); // Each platform has its own implementation of Sockets and reader threads. var client = new MqttClient(new WinRTSocketAdapter(logManager), logManager, encryption); ActiveClientCollection.Instance.AddClient(client); return client; }
/// <summary> /// Create an MQTT client the uses SSL encryption for communications. /// </summary> /// <param name="encryptionLevel">The encryption level to use.</param> /// <param name="caCertificate">The certificate for client authorities to use for authentication.</param> /// <returns></returns> public static MqttClient CreateSecureClient(SocketEncryption encryptionLevel, X509Certificate caCertificate) { var logManager = new LogCompositor(); ActiveClientCollection.Instance.TestCanAddNewClient(); // Each platform has its own implementation of Sockets and reader threads. var client = new MqttClient(new NetMfSocketAdapter(logManager, caCertificate), logManager, encryptionLevel); ActiveClientCollection.Instance.AddClient(client); return(client); }
internal MqttClient(ISocketAdapter socket, ILogger logger, SocketEncryption encryptionLevel) { _logger = logger; _encryptionLevel = encryptionLevel; _mqtt = new MqttClientProtocol(_logger, socket); _mqtt.ConnectComplete += MqttOnConnectComplete; _mqtt.SubscribeComplete += MqttOnSubscribeComplete; _mqtt.SendMessageComplete += MqttOnSendMessageComplete; _mqtt.PublishReceived += MqttOnPublishReceived; _mqtt.NetworkError += MqttOnNetworkError; }
internal MqttClient(ISocketAdapter socket, ILogger logger, SocketEncryption encryptionLevel) { _logger = logger; _encryptionLevel = encryptionLevel; _mqtt = new MqttClientProtocol(_logger, socket); _mqtt.ConnectComplete += MqttOnConnectComplete; _mqtt.SubscribeComplete += MqttOnSubscribeComplete; _mqtt.SendMessageComplete += MqttOnOperationComplete; _mqtt.NetworkError += MqttOnNetworkError; _mqtt.PublishReceived += MqttOnPublishReceived; }
/// <summary> /// Create an MQTT client the uses SSL encryption for communications. If the certificate is private and not /// signed ay a trusted Certificate Authority, the certificate must be installed in the application's /// certificate store ahead of making a connection. /// </summary> /// <param name="encryption">The encryption level to use.</param> /// <returns>An MQTT client ready to make secure connections to a broker.</returns> public static MqttClient CreateSecureClient(SocketEncryption encryption) { var logManager = new LogCompositor(); logManager.AddLoggingProvider(typeof(DebugLogger)); ActiveClientCollection.Instance.TestCanAddNewClient(); // Each platform has its own implementation of Sockets and reader threads. var client = new MqttClient(new Phone8SocketAdapter(logManager), logManager, encryption); ActiveClientCollection.Instance.AddClient(client); return(client); }
private SslProtocols GetSslProtocol(SocketEncryption encryption) { _encryptionLevel = SslProtocols.None; switch (encryption) { case SocketEncryption.None: _encryptionLevel = SslProtocols.None; break; case SocketEncryption.Tls10: _encryptionLevel = SslProtocols.TLSv1; break; } return(_encryptionLevel); }
public void ConnectTcpClient(NSStreamPair streams, int port, SocketEncryption encryption, string connectionKey) { var encryptionLevel = SslProtocols.None; switch (encryption) { case SocketEncryption.None: encryptionLevel = SslProtocols.None; break; case SocketEncryption.Ssl: encryptionLevel = SslProtocols.Ssl3; break; case SocketEncryption.Tls10: encryptionLevel = SslProtocols.Tls; break; case SocketEncryption.Tls11: encryptionLevel = SslProtocols.Tls11; break; case SocketEncryption.Tls12: encryptionLevel = SslProtocols.Tls12; break; } lock (_connectedClients) { _logger.LogMessage("Socket", LogLevel.Verbose, string.Format("Adding new TCP client: key={0}", connectionKey)); var clientInfo = new ConnectedClientInfo { //Socket = socket, Stream = streams, Port = port, Encryption = encryptionLevel, ClientUid = connectionKey }; _connectedClients.Add(connectionKey, clientInfo); ListeningInputStream(clientInfo); } }
public void ConnectTcpClient(TcpClient tcpClient, int port, SocketEncryption encryption, string connectionKey) { var encryptionLevel = SslProtocols.None; switch (encryption) { case SocketEncryption.None: encryptionLevel = SslProtocols.None; break; case SocketEncryption.Ssl: encryptionLevel = SslProtocols.Ssl3; break; case SocketEncryption.Tls10: encryptionLevel = SslProtocols.Tls; break; case SocketEncryption.Tls11: encryptionLevel = SslProtocols.Tls11; break; case SocketEncryption.Tls12: encryptionLevel = SslProtocols.Tls12; break; } lock (_connectedClients) { _logger.LogMessage("Socket", LogLevel.Verbose, string.Format("Adding new TCP client: key={0}", connectionKey)); _connectedClients.Add(connectionKey, new ConnectedClientInfo { TcpClient = tcpClient, Port = port, Encryption = encryptionLevel, ClientUid = connectionKey }); } }
private SocketProtectionLevel GetSocketProtectionLevel(SocketEncryption encryption) { _encryptionLevel = SocketProtectionLevel.PlainSocket; switch (encryption) { case SocketEncryption.None: _encryptionLevel = SocketProtectionLevel.PlainSocket; break; case SocketEncryption.Ssl: _encryptionLevel = SocketProtectionLevel.Ssl; break; //case SocketEncryption.Tls10: // IsEncrypted = true; // _encryptionLevel = SocketProtectionLevel.Tls10; // break; //case SocketEncryption.Tls11: // IsEncrypted = true; // _encryptionLevel = SocketProtectionLevel.Tls11; // break; //case SocketEncryption.Tls12: // IsEncrypted = true; // _encryptionLevel = SocketProtectionLevel.Tls12; // break; } return _encryptionLevel; }
private SslProtocols GetSslProtocol(SocketEncryption encryption) { _encryptionLevel = SslProtocols.None; switch (encryption) { case SocketEncryption.None: _encryptionLevel = SslProtocols.None; break; case SocketEncryption.Tls10: _encryptionLevel = SslProtocols.TLSv1; break; } return _encryptionLevel; }
private SocketProtectionLevel GetSocketProtectionLevel(SocketEncryption encryption) { _encryptionLevel = SocketProtectionLevel.PlainSocket; switch (encryption) { case SocketEncryption.None: _encryptionLevel = SocketProtectionLevel.PlainSocket; break; case SocketEncryption.Tls10: _encryptionLevel = SocketProtectionLevel.Tls10; break; case SocketEncryption.Tls11: _encryptionLevel = SocketProtectionLevel.Tls11; break; case SocketEncryption.Tls12: _encryptionLevel = SocketProtectionLevel.Tls12; break; } return _encryptionLevel; }