|
@@ -254,7 +254,7 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="brokerIpAddress">Broker IP address</param>
|
|
|
[Obsolete("Use this ctor MqttClient(string brokerHostName) insted")]
|
|
|
public MqttClient(IPAddress brokerIpAddress) :
|
|
|
- this(brokerIpAddress, MqttSettings.MQTT_BROKER_DEFAULT_PORT, false, null, MqttSslProtocols.None)
|
|
|
+ this(brokerIpAddress, MqttSettings.MQTT_BROKER_DEFAULT_PORT, false, null, null, MqttSslProtocols.None)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -265,14 +265,15 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="brokerPort">Broker port</param>
|
|
|
/// <param name="secure">Using secure connection</param>
|
|
|
/// <param name="caCert">CA certificate for secure connection</param>
|
|
|
+ /// <param name="clientCert">Client certificate</param>
|
|
|
/// <param name="sslProtocol">SSL/TLS protocol version</param>
|
|
|
[Obsolete("Use this ctor MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert) insted")]
|
|
|
- public MqttClient(IPAddress brokerIpAddress, int brokerPort, bool secure, X509Certificate caCert, MqttSslProtocols sslProtocol)
|
|
|
+ public MqttClient(IPAddress brokerIpAddress, int brokerPort, bool secure, X509Certificate caCert, X509Certificate clientCert, MqttSslProtocols sslProtocol)
|
|
|
{
|
|
|
#if !(MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || COMPACT_FRAMEWORK)
|
|
|
- this.Init(brokerIpAddress.ToString(), brokerPort, secure, caCert, sslProtocol, null, null);
|
|
|
+ this.Init(brokerIpAddress.ToString(), brokerPort, secure, caCert, clientCert, sslProtocol, null, null);
|
|
|
#else
|
|
|
- this.Init(brokerIpAddress.ToString(), brokerPort, secure, caCert, sslProtocol);
|
|
|
+ this.Init(brokerIpAddress.ToString(), brokerPort, secure, caCert, clientCert, sslProtocol);
|
|
|
#endif
|
|
|
}
|
|
|
#endif
|
|
@@ -283,7 +284,7 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="brokerHostName">Broker Host Name or IP Address</param>
|
|
|
public MqttClient(string brokerHostName) :
|
|
|
#if !(WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
- this(brokerHostName, MqttSettings.MQTT_BROKER_DEFAULT_PORT, false, null, MqttSslProtocols.None)
|
|
|
+ this(brokerHostName, MqttSettings.MQTT_BROKER_DEFAULT_PORT, false, null, null, MqttSslProtocols.None)
|
|
|
#else
|
|
|
this(brokerHostName, MqttSettings.MQTT_BROKER_DEFAULT_PORT, false, MqttSslProtocols.None)
|
|
|
#endif
|
|
@@ -299,17 +300,18 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="sslProtocol">SSL/TLS protocol version</param>
|
|
|
#if !(WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
/// <param name="caCert">CA certificate for secure connection</param>
|
|
|
- public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, MqttSslProtocols sslProtocol)
|
|
|
+ /// <param name="clientCert">Client certificate</param>
|
|
|
+ public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, X509Certificate clientCert, MqttSslProtocols sslProtocol)
|
|
|
#else
|
|
|
public MqttClient(string brokerHostName, int brokerPort, bool secure, MqttSslProtocols sslProtocol)
|
|
|
#endif
|
|
|
{
|
|
|
#if !(MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || COMPACT_FRAMEWORK || WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
- this.Init(brokerHostName, brokerPort, secure, caCert, sslProtocol, null, null);
|
|
|
+ this.Init(brokerHostName, brokerPort, secure, caCert, clientCert, sslProtocol, null, null);
|
|
|
#elif (WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
this.Init(brokerHostName, brokerPort, secure, sslProtocol);
|
|
|
#else
|
|
|
- this.Init(brokerHostName, brokerPort, secure, caCert, sslProtocol);
|
|
|
+ this.Init(brokerHostName, brokerPort, secure, caCert, clientCert, sslProtocol);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
@@ -323,11 +325,12 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="brokerPort">Broker port</param>
|
|
|
/// <param name="secure">Using secure connection</param>
|
|
|
/// <param name="caCert">CA certificate for secure connection</param>
|
|
|
+ /// <param name="clientCert">Client certificate</param>
|
|
|
/// <param name="sslProtocol">SSL/TLS protocol version</param>
|
|
|
/// <param name="userCertificateValidationCallback">A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party</param>
|
|
|
- public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, MqttSslProtocols sslProtocol,
|
|
|
+ public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, X509Certificate clientCert, MqttSslProtocols sslProtocol,
|
|
|
RemoteCertificateValidationCallback userCertificateValidationCallback)
|
|
|
- : this(brokerHostName, brokerPort, secure, caCert, sslProtocol, userCertificateValidationCallback, null)
|
|
|
+ : this(brokerHostName, brokerPort, secure, caCert, clientCert, sslProtocol, userCertificateValidationCallback, null)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -343,7 +346,7 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
public MqttClient(string brokerHostName, int brokerPort, bool secure, MqttSslProtocols sslProtocol,
|
|
|
RemoteCertificateValidationCallback userCertificateValidationCallback,
|
|
|
LocalCertificateSelectionCallback userCertificateSelectionCallback)
|
|
|
- : this(brokerHostName, brokerPort, secure, null, sslProtocol, userCertificateValidationCallback, userCertificateSelectionCallback)
|
|
|
+ : this(brokerHostName, brokerPort, secure, null, null, sslProtocol, userCertificateValidationCallback, userCertificateSelectionCallback)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -354,14 +357,15 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="brokerPort">Broker port</param>
|
|
|
/// <param name="secure">Using secure connection</param>
|
|
|
/// <param name="caCert">CA certificate for secure connection</param>
|
|
|
+ /// <param name="clientCert">Client certificate</param>
|
|
|
/// <param name="sslProtocol">SSL/TLS protocol version</param>
|
|
|
/// <param name="userCertificateValidationCallback">A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party</param>
|
|
|
/// <param name="userCertificateSelectionCallback">A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication</param>
|
|
|
- public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, MqttSslProtocols sslProtocol,
|
|
|
+ public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, X509Certificate clientCert, MqttSslProtocols sslProtocol,
|
|
|
RemoteCertificateValidationCallback userCertificateValidationCallback,
|
|
|
LocalCertificateSelectionCallback userCertificateSelectionCallback)
|
|
|
{
|
|
|
- this.Init(brokerHostName, brokerPort, secure, caCert, sslProtocol, userCertificateValidationCallback, userCertificateSelectionCallback);
|
|
|
+ this.Init(brokerHostName, brokerPort, secure, caCert, clientCert, sslProtocol, userCertificateValidationCallback, userCertificateSelectionCallback);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
@@ -408,17 +412,18 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
/// <param name="brokerPort">Broker port</param>
|
|
|
/// <param name="secure">>Using secure connection</param>
|
|
|
/// <param name="caCert">CA certificate for secure connection</param>
|
|
|
+ /// <param name="clientCert">Client certificate</param>
|
|
|
/// <param name="sslProtocol">SSL/TLS protocol version</param>
|
|
|
#if !(MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || COMPACT_FRAMEWORK || WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
/// <param name="userCertificateSelectionCallback">A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party</param>
|
|
|
/// <param name="userCertificateValidationCallback">A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication</param>
|
|
|
- private void Init(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, MqttSslProtocols sslProtocol,
|
|
|
+ private void Init(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, X509Certificate clientCert, MqttSslProtocols sslProtocol,
|
|
|
RemoteCertificateValidationCallback userCertificateValidationCallback,
|
|
|
LocalCertificateSelectionCallback userCertificateSelectionCallback)
|
|
|
#elif (WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
private void Init(string brokerHostName, int brokerPort, bool secure, MqttSslProtocols sslProtocol)
|
|
|
#else
|
|
|
- private void Init(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, MqttSslProtocols sslProtocol)
|
|
|
+ private void Init(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert, X509Certificate clientCert, MqttSslProtocols sslProtocol)
|
|
|
#endif
|
|
|
{
|
|
|
// set default MQTT protocol version (default is 3.1.1)
|
|
@@ -457,11 +462,11 @@ namespace uPLibrary.Networking.M2Mqtt
|
|
|
|
|
|
// create network channel
|
|
|
#if !(MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || COMPACT_FRAMEWORK || WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
- this.channel = new MqttNetworkChannel(this.brokerHostName, this.brokerPort, secure, caCert, sslProtocol, userCertificateValidationCallback, userCertificateSelectionCallback);
|
|
|
+ this.channel = new MqttNetworkChannel(this.brokerHostName, this.brokerPort, secure, caCert, clientCert, sslProtocol, userCertificateValidationCallback, userCertificateSelectionCallback);
|
|
|
#elif (WINDOWS_APP || WINDOWS_PHONE_APP)
|
|
|
this.channel = new MqttNetworkChannel(this.brokerHostName, this.brokerPort, secure, sslProtocol);
|
|
|
#else
|
|
|
- this.channel = new MqttNetworkChannel(this.brokerHostName, this.brokerPort, secure, caCert, sslProtocol);
|
|
|
+ this.channel = new MqttNetworkChannel(this.brokerHostName, this.brokerPort, secure, caCert, clientCert, sslProtocol);
|
|
|
#endif
|
|
|
}
|
|
|
|