mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-27 08:42:37 +08:00
Refactor AWS integration.
This commit is contained in:
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFramework)' != 'netcoreapp3.1'">
|
<ItemGroup Condition="'$(TargetFramework)' != 'netcoreapp3.1'">
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Http.Connections" Version="1.1.0" />
|
<PackageReference Include="Microsoft.AspNetCore.Http.Connections" Version="1.1.0" />
|
||||||
<PackageReference Include="System.IO.Pipelines" Version="4.7.2" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ namespace MQTTnet.Client.Options
|
|||||||
CertificateValidationCallback = _tlsParameters.CertificateValidationCallback,
|
CertificateValidationCallback = _tlsParameters.CertificateValidationCallback,
|
||||||
#pragma warning restore CS0618 // Type or member is obsolete
|
#pragma warning restore CS0618 // Type or member is obsolete
|
||||||
#if NETCOREAPP3_1
|
#if NETCOREAPP3_1
|
||||||
ApplicationProtocols = _tlsParameters.ApplicationProtocols,
|
ApplicationProtocols = _tlsParameters.ApplicationProtocols,
|
||||||
#endif
|
#endif
|
||||||
CertificateValidationHandler = _tlsParameters.CertificateValidationHandler,
|
CertificateValidationHandler = _tlsParameters.CertificateValidationHandler,
|
||||||
IgnoreCertificateChainErrors = _tlsParameters.IgnoreCertificateChainErrors,
|
IgnoreCertificateChainErrors = _tlsParameters.IgnoreCertificateChainErrors,
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace MQTTnet.Client.Options
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NETCOREAPP3_1
|
#if NETCOREAPP3_1
|
||||||
public List<SslApplicationProtocol> ApplicationProtocols {get;set;}
|
public List<SslApplicationProtocol> ApplicationProtocols { get; set; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public SslProtocols SslProtocol { get; set; } = SslProtocols.Tls12;
|
public SslProtocols SslProtocol { get; set; } = SslProtocols.Tls12;
|
||||||
|
|||||||
@@ -81,26 +81,24 @@ namespace MQTTnet.Implementations
|
|||||||
var sslStream = new SslStream(networkStream, false, InternalUserCertificateValidationCallback);
|
var sslStream = new SslStream(networkStream, false, InternalUserCertificateValidationCallback);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
#if NETCOREAPP3_1
|
#if NETCOREAPP3_1
|
||||||
var sslOptions = new SslClientAuthenticationOptions
|
var sslOptions = new SslClientAuthenticationOptions
|
||||||
{
|
{
|
||||||
ApplicationProtocols = _options.TlsOptions.ApplicationProtocols,
|
ApplicationProtocols = _options.TlsOptions.ApplicationProtocols,
|
||||||
ClientCertificates = LoadCertificates(),
|
ClientCertificates = LoadCertificates(),
|
||||||
EnabledSslProtocols = _options.TlsOptions.SslProtocol,
|
EnabledSslProtocols = _options.TlsOptions.SslProtocol,
|
||||||
CertificateRevocationCheckMode = _options.TlsOptions.IgnoreCertificateRevocationErrors ? X509RevocationMode.Online : X509RevocationMode.NoCheck,
|
CertificateRevocationCheckMode = _options.TlsOptions.IgnoreCertificateRevocationErrors ? X509RevocationMode.Online : X509RevocationMode.NoCheck,
|
||||||
TargetHost = _options.Server
|
TargetHost = _options.Server
|
||||||
};
|
};
|
||||||
await sslStream.AuthenticateAsClientAsync(sslOptions, cancellationToken).ConfigureAwait(false);
|
|
||||||
|
await sslStream.AuthenticateAsClientAsync(sslOptions, cancellationToken).ConfigureAwait(false);
|
||||||
#else
|
#else
|
||||||
|
await sslStream.AuthenticateAsClientAsync(_options.Server, LoadCertificates(), _options.TlsOptions.SslProtocol, !_options.TlsOptions.IgnoreCertificateRevocationErrors).ConfigureAwait(false);
|
||||||
|
|
||||||
await sslStream.AuthenticateAsClientAsync(_options.Server, LoadCertificates(), _options.TlsOptions.SslProtocol, !_options.TlsOptions.IgnoreCertificateRevocationErrors).ConfigureAwait(false);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
#if NETSTANDARD2_1
|
#if NETSTANDARD2_1 || NETCOREAPP3_1
|
||||||
await sslStream.DisposeAsync().ConfigureAwait(false);
|
await sslStream.DisposeAsync().ConfigureAwait(false);
|
||||||
#else
|
#else
|
||||||
sslStream.Dispose();
|
sslStream.Dispose();
|
||||||
@@ -224,7 +222,7 @@ namespace MQTTnet.Implementations
|
|||||||
|
|
||||||
bool InternalUserCertificateValidationCallback(object sender, X509Certificate x509Certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
|
bool InternalUserCertificateValidationCallback(object sender, X509Certificate x509Certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
|
||||||
{
|
{
|
||||||
#region OBSOLETE
|
#region OBSOLETE
|
||||||
|
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete
|
#pragma warning disable CS0618 // Type or member is obsolete
|
||||||
var certificateValidationCallback = _options?.TlsOptions?.CertificateValidationCallback;
|
var certificateValidationCallback = _options?.TlsOptions?.CertificateValidationCallback;
|
||||||
@@ -233,7 +231,7 @@ namespace MQTTnet.Implementations
|
|||||||
{
|
{
|
||||||
return certificateValidationCallback(x509Certificate, chain, sslPolicyErrors, _clientOptions);
|
return certificateValidationCallback(x509Certificate, chain, sslPolicyErrors, _clientOptions);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var certificateValidationHandler = _options?.TlsOptions?.CertificateValidationHandler;
|
var certificateValidationHandler = _options?.TlsOptions?.CertificateValidationHandler;
|
||||||
if (certificateValidationHandler != null)
|
if (certificateValidationHandler != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user