Fix TLS certificate loading.

This commit is contained in:
Christian Kratky
2018-06-09 21:57:04 +02:00
parent e62316105f
commit 6bcfa436ea
2 changed files with 6 additions and 19 deletions
@@ -65,11 +65,6 @@ namespace MQTTnet.Adapter
foreach (var packet in packets) foreach (var packet in packets)
{ {
if (packet == null)
{
continue;
}
await SendPacketAsync(timeout, cancellationToken, packet).ConfigureAwait(false); await SendPacketAsync(timeout, cancellationToken, packet).ConfigureAwait(false);
} }
} }
@@ -35,7 +35,7 @@ namespace MQTTnet.Implementations
if (options.DefaultEndpointOptions.IsEnabled) if (options.DefaultEndpointOptions.IsEnabled)
{ {
RegisterListeners(options.DefaultEndpointOptions); RegisterListeners(options.DefaultEndpointOptions, null);
} }
if (options.TlsEndpointOptions.IsEnabled) if (options.TlsEndpointOptions.IsEnabled)
@@ -51,7 +51,7 @@ namespace MQTTnet.Implementations
throw new InvalidOperationException("The certificate for TLS encryption must contain the private key."); throw new InvalidOperationException("The certificate for TLS encryption must contain the private key.");
} }
RegisterListeners(options.TlsEndpointOptions); RegisterListeners(options.TlsEndpointOptions, tlsCertificate);
} }
return Task.FromResult(0); return Task.FromResult(0);
@@ -77,16 +77,8 @@ namespace MQTTnet.Implementations
_listeners.Clear(); _listeners.Clear();
} }
private void RegisterListeners(MqttServerTcpEndpointBaseOptions options) private void RegisterListeners(MqttServerTcpEndpointBaseOptions options, X509Certificate2 tlsCertificate)
{ {
var tlsOptions = options as MqttServerTlsTcpEndpointOptions;
X509Certificate2 tlsCertificate = null;
if (tlsOptions != null)
{
tlsCertificate = new X509Certificate2(tlsOptions.Certificate);
}
var listenerV4 = new MqttTcpServerListener( var listenerV4 = new MqttTcpServerListener(
AddressFamily.InterNetwork, AddressFamily.InterNetwork,
options, options,