Add support for ignored certificate chain errors (Self signed)

This commit is contained in:
Christian Kratky
2017-10-07 19:22:26 +02:00
parent af3cebb266
commit 4c4539509c
5 changed files with 32 additions and 4 deletions
@@ -24,6 +24,7 @@ namespace MQTTnet.Implementations
public MqttTcpChannel(StreamSocket socket)
{
_socket = socket ?? throw new ArgumentNullException(nameof(socket));
CreateStreams();
}
@@ -48,8 +49,13 @@ namespace MQTTnet.Implementations
if (!_options.TlsOptions.CheckCertificateRevocation)
{
_socket.Control.IgnorableServerCertificateErrors.Add(ChainValidationResult.IncompleteChain);
_socket.Control.IgnorableServerCertificateErrors.Add(ChainValidationResult.RevocationInformationMissing);
_socket.Control.IgnorableServerCertificateErrors.Add(ChainValidationResult.Revoked);
}
if (_options.TlsOptions.IgnoreCertificateChainErrors)
{
_socket.Control.IgnorableServerCertificateErrors.Add(ChainValidationResult.IncompleteChain);
}
await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString(), SocketProtectionLevel.Tls12);