mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-20 03:24:33 +08:00
Update readme (#1870)
* Update ReleaseNotes.md * Apply project code style
This commit is contained in:
@@ -1 +1,2 @@
|
|||||||
* [Server] Fixed not working _UpdateRetainedMessageAsync_ public api (#1858, thanks to @kimdiego2098)
|
* [Server] Fixed not working _UpdateRetainedMessageAsync_ public api (#1858, thanks to @kimdiego2098).
|
||||||
|
* [Client] Added support for custom CA chain validation (#1851, thanks to @rido-min).
|
||||||
@@ -115,24 +115,32 @@ namespace MQTTnet.Implementations
|
|||||||
ApplicationProtocols = _tcpOptions.TlsOptions.ApplicationProtocols,
|
ApplicationProtocols = _tcpOptions.TlsOptions.ApplicationProtocols,
|
||||||
ClientCertificates = LoadCertificates(),
|
ClientCertificates = LoadCertificates(),
|
||||||
EnabledSslProtocols = _tcpOptions.TlsOptions.SslProtocol,
|
EnabledSslProtocols = _tcpOptions.TlsOptions.SslProtocol,
|
||||||
CertificateRevocationCheckMode = _tcpOptions.TlsOptions.IgnoreCertificateRevocationErrors ? X509RevocationMode.NoCheck : _tcpOptions.TlsOptions.RevocationMode,
|
CertificateRevocationCheckMode = _tcpOptions.TlsOptions.IgnoreCertificateRevocationErrors
|
||||||
|
? X509RevocationMode.NoCheck
|
||||||
|
: _tcpOptions.TlsOptions.RevocationMode,
|
||||||
TargetHost = targetHost,
|
TargetHost = targetHost,
|
||||||
CipherSuitesPolicy = _tcpOptions.TlsOptions.CipherSuitesPolicy,
|
CipherSuitesPolicy = _tcpOptions.TlsOptions.CipherSuitesPolicy,
|
||||||
EncryptionPolicy = _tcpOptions.TlsOptions.EncryptionPolicy,
|
EncryptionPolicy = _tcpOptions.TlsOptions.EncryptionPolicy,
|
||||||
AllowRenegotiation = _tcpOptions.TlsOptions.AllowRenegotiation
|
AllowRenegotiation = _tcpOptions.TlsOptions.AllowRenegotiation
|
||||||
};
|
};
|
||||||
|
|
||||||
#if NET7_0_OR_GREATER
|
#if NET7_0_OR_GREATER
|
||||||
if (_tcpOptions.TlsOptions.TrustChain?.Count > 0)
|
if (_tcpOptions.TlsOptions.TrustChain?.Count > 0)
|
||||||
{
|
{
|
||||||
sslOptions.CertificateChainPolicy = new X509ChainPolicy();
|
sslOptions.CertificateChainPolicy = new X509ChainPolicy
|
||||||
sslOptions.CertificateChainPolicy.TrustMode = X509ChainTrustMode.CustomRootTrust;
|
{
|
||||||
sslOptions.CertificateChainPolicy.VerificationFlags = X509VerificationFlags.IgnoreEndRevocationUnknown;
|
TrustMode = X509ChainTrustMode.CustomRootTrust,
|
||||||
sslOptions.CertificateChainPolicy.RevocationMode = _tcpOptions.TlsOptions.IgnoreCertificateRevocationErrors ? X509RevocationMode.NoCheck : _tcpOptions.TlsOptions.RevocationMode;
|
VerificationFlags = X509VerificationFlags.IgnoreEndRevocationUnknown,
|
||||||
|
RevocationMode = _tcpOptions.TlsOptions.IgnoreCertificateRevocationErrors
|
||||||
|
? X509RevocationMode.NoCheck
|
||||||
|
: _tcpOptions.TlsOptions.RevocationMode
|
||||||
|
};
|
||||||
|
|
||||||
sslOptions.CertificateChainPolicy.CustomTrustStore.AddRange(_tcpOptions.TlsOptions.TrustChain);
|
sslOptions.CertificateChainPolicy.CustomTrustStore.AddRange(_tcpOptions.TlsOptions.TrustChain);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
await sslStream.AuthenticateAsClientAsync(sslOptions, cancellationToken).ConfigureAwait(false);
|
await sslStream.AuthenticateAsClientAsync(sslOptions, cancellationToken).ConfigureAwait(false);
|
||||||
#else
|
#else
|
||||||
await sslStream.AuthenticateAsClientAsync(
|
await sslStream.AuthenticateAsClientAsync(
|
||||||
targetHost,
|
targetHost,
|
||||||
|
|||||||
Reference in New Issue
Block a user