From 6e995230a78d1e8efe1432dc1373fc816e149317 Mon Sep 17 00:00:00 2001 From: Marius Ruginosu Date: Wed, 18 Jul 2018 16:50:29 +0300 Subject: [PATCH] Created overload methods for WithTls default values --- .../Client/MqttClientOptionsBuilder.cs | 52 +++++++++++++++---- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs b/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs index 77c61bd3..ed8ae03d 100644 --- a/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs +++ b/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs @@ -112,8 +112,49 @@ namespace MQTTnet.Client return this; } + + public MqttClientOptionsBuilder WithTls() + { + return WithTls(null); + } + + public MqttClientOptionsBuilder WithTls(Func certificateValidationCallback) + { + return WithTls(SslProtocols.None, certificateValidationCallback); + } + + public MqttClientOptionsBuilder WithTls(SslProtocols sslProtocol, + Func certificateValidationCallback = null) + { + return WithTls(new byte[][] { }, sslProtocol, certificateValidationCallback); + } + + public MqttClientOptionsBuilder WithTls(byte[][] certificates, + SslProtocols sslProtocol = SslProtocols.Tls12, + Func certificateValidationCallback = null) + { + return WithTls(false, certificates, sslProtocol, certificateValidationCallback); + } + + public MqttClientOptionsBuilder WithTls(bool ignoreCertificateRevocationErrors, + byte[][] certificates = null, + SslProtocols sslProtocol = SslProtocols.Tls12, + Func certificateValidationCallback = null) + { + return WithTls(false, ignoreCertificateRevocationErrors, certificates, sslProtocol, certificateValidationCallback); + } + + public MqttClientOptionsBuilder WithTls(bool ignoreCertificateChainErrors, + bool ignoreCertificateRevocationErrors = false, + byte[][] certificates = null, + SslProtocols sslProtocol = SslProtocols.Tls12, + Func certificateValidationCallback = null) + { + return WithTls(false, ignoreCertificateChainErrors, ignoreCertificateRevocationErrors, certificates, sslProtocol, certificateValidationCallback); + } + public MqttClientOptionsBuilder WithTls( - bool allowUntrustedCertificates = false, + bool allowUntrustedCertificates, bool ignoreCertificateChainErrors = false, bool ignoreCertificateRevocationErrors = false, byte[][] certificates = null, @@ -134,15 +175,6 @@ namespace MQTTnet.Client return this; } - public MqttClientOptionsBuilder WithTls() - { - _tlsOptions = new MqttClientTlsOptions - { - UseTls = true - }; - - return this; - } public IMqttClientOptions Build() {