[Mono.Security]: Cleanup the MonoTlsProvider's certificate validation code. (#3674)
commit63c0803b2b60ccf50cc16ae93cc70443ccf364f2
authorMartin Baulig <martin.baulig@xamarin.com>
Thu, 29 Sep 2016 20:47:28 +0000 (29 22:47 +0200)
committerGitHub <noreply@github.com>
Thu, 29 Sep 2016 20:47:28 +0000 (29 22:47 +0200)
tree88238f2fc52b8e6e8c2f66fae7f1c3e71ed497c1
parentfc6b2d359d9c53660a38d5e6c9ca14ba668b6613
[Mono.Security]: Cleanup the MonoTlsProvider's certificate validation code. (#3674)

* [Mono.Security]: Remove Mono.Security.Interface.IMonoTlsContext.

This interface is not actually used anywhere anymore, so we can also
just get rid of it.

* [System]: Removed unused private TLS classes.

* [Mono.Security]: Cleanup the MonoTlsProvider's certificate validation code.

Each TLS Provider now has its own certificate validator and there is no
automatic fallback anymore.  We only have three different TLS Providers,
"legacy", "appletls" and "btls" - and legacy is the only one which used
the managed validator.  Both AppleTls and BTLS provider their own validator,
which invokes some native API.

All of the following were internal APIs.

* MonoTlsProvider.HasCustomSystemCertificateValidator has been removed.

* MonoTlsProvider.InvokeSystemCertificateValidator() has been renamed
  into ValidateCertificate() and is now abstract.
14 files changed:
mcs/class/Mono.Security/Mono.Security-net_4_x.csproj
mcs/class/Mono.Security/Mono.Security.Interface/IMonoTlsContext.cs [deleted file]
mcs/class/Mono.Security/Mono.Security.Interface/MonoTlsProvider.cs
mcs/class/Mono.Security/Mono.Security.dll.sources
mcs/class/System/Mono.Net.Security/ChainValidationHelper.cs
mcs/class/System/Mono.Net.Security/IMonoTlsProvider.cs
mcs/class/System/Mono.Net.Security/LegacyTlsProvider.cs
mcs/class/System/Mono.Net.Security/MonoTlsProviderImpl.cs [deleted file]
mcs/class/System/Mono.Net.Security/MonoTlsProviderWrapper.cs
mcs/class/System/System-bare-net_4_x.csproj
mcs/class/System/System-net_4_x.csproj
mcs/class/System/System-secxml-net_4_x.csproj
mcs/class/System/System.dll.sources
mcs/class/System/mobile_System.dll.sources