This commit is contained in:
Martin Baulig 2015-02-08 07:14:53 +01:00
Родитель a27bdbc6f0
Коммит 74dab7e2c5
21 изменённых файлов: 19 добавлений и 889 удалений

1
.gitignore поставляемый
Просмотреть файл

@ -2,3 +2,4 @@ packages
bin
obj
.DS_Store
*.userprefs

Просмотреть файл

@ -94,18 +94,18 @@
<Reference Include="Mono.Security.Providers.NewMonoSource">
<Aliases>NewMonoSource</Aliases>
</Reference>
<ProjectReference Include="..\..\..\..\Mono.Security.Providers\NewTls\Mono.Security.Providers.NewTls.csproj">
<Project>{4B5EDBC8-F8EA-48E4-AA87-A3FC52202F01}</Project>
<Name>Mono.Security.Providers.NewTls</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Mono.Security.NewTls\Mono.Security.NewTls.csproj">
<Project>{C577448D-707B-4DDD-83DC-9CB758FC6DE5}</Project>
<Name>Mono.Security.NewTls</Name>
</ProjectReference>
<ProjectReference Include="..\nunit-console\nunit-console.csproj">
<Project>{9367EC89-6A38-42BA-9607-0DC288E4BC3A}</Project>
<Name>nunit-console</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Mono.Security.Providers\NewTls\Mono.Security.Providers.NewTls.csproj">
<Project>{4B5EDBC8-F8EA-48E4-AA87-A3FC52202F01}</Project>
<Name>Mono.Security.Providers.NewTls</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Mono.Security.NewTls\Mono.Security.NewTls.csproj">
<Project>{C577448D-707B-4DDD-83DC-9CB758FC6DE5}</Project>
<Name>Mono.Security.NewTls</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="..\Framework\CA\" />

Просмотреть файл

@ -90,7 +90,7 @@
</MonoDevelop>
</ProjectExtensions>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Mono.Security.NewTls\Mono.Security.NewTls.csproj">
<ProjectReference Include="..\..\..\Mono.Security.NewTls\Mono.Security.NewTls.csproj">
<Project>{C577448D-707B-4DDD-83DC-9CB758FC6DE5}</Project>
<Name>Mono.Security.NewTls</Name>
</ProjectReference>

Просмотреть файл

@ -33,19 +33,19 @@
<Reference Include="System" />
<Reference Include="Mono.Security" />
<Reference Include="nunit.core">
<HintPath>..\..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\nunit.core.dll</HintPath>
<HintPath>..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\nunit.core.dll</HintPath>
</Reference>
<Reference Include="nunit.core.interfaces">
<HintPath>..\..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\nunit.core.interfaces.dll</HintPath>
<HintPath>..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\nunit.core.interfaces.dll</HintPath>
</Reference>
<Reference Include="nunit.util">
<HintPath>..\..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\nunit.util.dll</HintPath>
<HintPath>..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\nunit.util.dll</HintPath>
</Reference>
<Reference Include="NUnit.VisualStudio.TestAdapter">
<HintPath>..\..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
<HintPath>..\..\..\Mono.Security.NewTls\packages\NUnitTestAdapter.1.2\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
</Reference>
<Reference Include="nunit.framework">
<HintPath>..\..\..\..\Mono.Security.NewTls\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<HintPath>..\..\..\Mono.Security.NewTls\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@ -86,7 +86,7 @@
<Project>{43272ABC-8798-4B6F-A8CA-D7F082DBB440}</Project>
<Name>Mono.Security.Instrumentation.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Mono.Security.NewTls\Mono.Security.NewTls.csproj">
<ProjectReference Include="..\..\..\Mono.Security.NewTls\Mono.Security.NewTls.csproj">
<Project>{C577448D-707B-4DDD-83DC-9CB758FC6DE5}</Project>
<Name>Mono.Security.NewTls</Name>
</ProjectReference>

Просмотреть файл

@ -13,8 +13,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Instrumentati
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Providers.NewTls", "..\Mono.Security.Providers\NewTls\Mono.Security.Providers.NewTls.csproj", "{4B5EDBC8-F8EA-48E4-AA87-A3FC52202F01}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Providers.DotNet", "..\Mono.Security.Providers\DotNet\Mono.Security.Providers.DotNet.csproj", "{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-console", "..\MartinsPlayground\Instrumentation\nunit-console\nunit-console.csproj", "{9367EC89-6A38-42BA-9607-0DC288E4BC3A}"
EndProject
Global
@ -25,14 +23,6 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|x86.ActiveCfg = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|x86.Build.0 = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|Any CPU.Build.0 = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|x86.ActiveCfg = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|x86.Build.0 = Release|Any CPU
{43272ABC-8798-4B6F-A8CA-D7F082DBB440}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43272ABC-8798-4B6F-A8CA-D7F082DBB440}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43272ABC-8798-4B6F-A8CA-D7F082DBB440}.Debug|x86.ActiveCfg = Debug|Any CPU

Просмотреть файл

@ -1,4 +1,4 @@
<Properties StartupItem="../Mono.Security/MartinsPlayground/Instrumentation/Console/Mono.Security.Instrumentation.Console.csproj">
<Properties StartupItem="../MartinsPlayground/Instrumentation/Console/Mono.Security.Instrumentation.Console.csproj">
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" ActiveRuntime="Mono 3.99.0 (3390afa)" />
<MonoDevelop.Ide.Workbench ActiveDocument="../../../../mono-master/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptionDispatchInfo.cs">
<Files>

Просмотреть файл

@ -8,7 +8,7 @@
<RootNamespace>Mono.Security.NewTls</RootNamespace>
<AssemblyName>Mono.Security.NewTls</AssemblyName>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\mono.snk</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyFile>..\new-tls.snk</AssemblyOriginatorKeyFile>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@ -166,15 +166,6 @@
<Compile Include="..\Mono.Security.Providers\common\Consts.cs">
<Link>common\Consts.cs</Link>
</Compile>
<Compile Include="..\..\build\common\Locale.cs">
<Link>common\Locale.cs</Link>
</Compile>
<Compile Include="..\..\build\common\MonoTODOAttribute.cs">
<Link>common\MonoTODOAttribute.cs</Link>
</Compile>
<Compile Include="..\..\build\common\SR.cs">
<Link>common\SR.cs</Link>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>

Просмотреть файл

@ -1,10 +0,0 @@
thisdir = class/Mono.Security.Providers/DotNet
SUBDIRS =
include ../../../build/rules.make
LIBRARY = Mono.Security.Providers.DotNet.dll
LIB_MCS_FLAGS = -r:System.dll -r:Mono.Security -unsafe -nowarn:1030 -keyfile:../../mono.pub -delaysign
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:169,219,618,672
include ../../../build/library.make

Просмотреть файл

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>Mono.Security.Providers.DotNet</RootNamespace>
<AssemblyName>Mono.Security.Providers.DotNet</AssemblyName>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\mono.snk</AssemblyOriginatorKeyFile>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\Debug</OutputPath>
<DefineConstants>DEBUG;NET_4_5</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>..\bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<DefineConstants>NET_4_5</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Mono.Security" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\common\Consts.cs">
<Link>common\Consts.cs</Link>
</Compile>
<Compile Include="..\..\..\build\common\Locale.cs">
<Link>common\Locale.cs</Link>
</Compile>
<Compile Include="..\..\..\build\common\MonoTODOAttribute.cs">
<Link>common\MonoTODOAttribute.cs</Link>
</Compile>
<Compile Include="..\..\..\build\common\SR.cs">
<Link>common\SR.cs</Link>
</Compile>
<Compile Include="Mono.Security.Providers.DotNet\DotNetSslStreamImpl.cs" />
<Compile Include="Mono.Security.Providers.DotNet\DotNetTlsProvider.cs" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +0,0 @@
./Properties/AssemblyInfo.cs
../common/Consts.cs
../../../build/common/Locale.cs
./Mono.Security.Providers.DotNet/DotNetTlsProvider.cs
./Mono.Security.Providers.DotNet/DotNetSslStreamImpl.cs

Просмотреть файл

@ -1,290 +0,0 @@
//
// DotNetSslStreamImpl.cs
//
// Author:
// Martin Baulig <martin.baulig@xamarin.com>
//
// Copyright (c) 2015 Xamarin, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Threading.Tasks;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
using System.Security.Principal;
using System.Security.Cryptography;
using Mono.Security.Interface;
namespace Mono.Security.Providers.DotNet
{
class DotNetSslStreamImpl : MonoSslStream
{
SslStream impl;
internal SslStream Impl {
get {
CheckDisposed ();
return impl;
}
}
public DotNetSslStreamImpl (
Stream innerStream, bool leaveInnerStreamOpen,
RemoteCertificateValidationCallback userCertificateValidationCallback,
LocalCertificateSelectionCallback userCertificateSelectionCallback)
{
impl = new SslStream (
innerStream, leaveInnerStreamOpen,
userCertificateValidationCallback,
userCertificateSelectionCallback);
}
public override void AuthenticateAsClient (string targetHost)
{
Impl.AuthenticateAsClient (targetHost);
}
public override void AuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
{
Impl.AuthenticateAsClient (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation);
}
public override IAsyncResult BeginAuthenticateAsClient (string targetHost, AsyncCallback asyncCallback, object asyncState)
{
return Impl.BeginAuthenticateAsClient (targetHost, asyncCallback, asyncState);
}
public override IAsyncResult BeginAuthenticateAsClient (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
{
return Impl.BeginAuthenticateAsClient (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation, asyncCallback, asyncState);
}
public override void EndAuthenticateAsClient (IAsyncResult asyncResult)
{
Impl.EndAuthenticateAsClient (asyncResult);
}
public override void AuthenticateAsServer (X509Certificate serverCertificate)
{
Impl.AuthenticateAsServer (serverCertificate);
}
public override void AuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
{
Impl.AuthenticateAsServer (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation);
}
public override IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, AsyncCallback asyncCallback, object asyncState)
{
return Impl.BeginAuthenticateAsServer (serverCertificate, asyncCallback, asyncState);
}
public override IAsyncResult BeginAuthenticateAsServer (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation, AsyncCallback asyncCallback, object asyncState)
{
return Impl.BeginAuthenticateAsServer (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation, asyncCallback, asyncState);
}
public override void EndAuthenticateAsServer (IAsyncResult asyncResult)
{
Impl.EndAuthenticateAsServer (asyncResult);
}
public override Task AuthenticateAsClientAsync (string targetHost)
{
return Impl.AuthenticateAsClientAsync (targetHost);
}
public override Task AuthenticateAsClientAsync (string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
{
return Impl.AuthenticateAsClientAsync (targetHost, clientCertificates, enabledSslProtocols, checkCertificateRevocation);
}
public override Task AuthenticateAsServerAsync (X509Certificate serverCertificate)
{
return Impl.AuthenticateAsServerAsync (serverCertificate);
}
public override Task AuthenticateAsServerAsync (X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
{
return Impl.AuthenticateAsServerAsync (serverCertificate, clientCertificateRequired, enabledSslProtocols, checkCertificateRevocation);
}
public override void Flush ()
{
Impl.Flush ();
}
public override int Read (byte[] buffer, int offset, int count)
{
return Impl.Read (buffer, offset, count);
}
public override void Write (byte[] buffer)
{
Impl.Write (buffer);
}
public override void Write (byte[] buffer, int offset, int count)
{
Impl.Write (buffer, offset, count);
}
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
{
return Impl.BeginRead (buffer, offset, count, asyncCallback, asyncState);
}
public override int EndRead (IAsyncResult asyncResult)
{
return Impl.EndRead (asyncResult);
}
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState)
{
return Impl.BeginWrite (buffer, offset, count, asyncCallback, asyncState);
}
public override void EndWrite (IAsyncResult asyncResult)
{
Impl.EndWrite (asyncResult);
}
public override TransportContext TransportContext {
get { throw new NotSupportedException (); }
}
public override bool IsAuthenticated {
get { return Impl.IsAuthenticated; }
}
public override bool IsMutuallyAuthenticated {
get { return Impl.IsMutuallyAuthenticated; }
}
public override bool IsEncrypted {
get { return Impl.IsEncrypted; }
}
public override bool IsSigned {
get { return Impl.IsSigned; }
}
public override bool IsServer {
get { return Impl.IsServer; }
}
public override CipherAlgorithmType CipherAlgorithm {
get { return Impl.CipherAlgorithm; }
}
public override int CipherStrength {
get { return Impl.CipherStrength; }
}
public override HashAlgorithmType HashAlgorithm {
get { return Impl.HashAlgorithm; }
}
public override int HashStrength {
get { return Impl.HashStrength; }
}
public override ExchangeAlgorithmType KeyExchangeAlgorithm {
get { return Impl.KeyExchangeAlgorithm; }
}
public override int KeyExchangeStrength {
get { return KeyExchangeStrength; }
}
public override bool CanRead {
get { return Impl.CanRead; }
}
public override bool CanTimeout {
get { return Impl.CanTimeout; }
}
public override bool CanWrite {
get { return Impl.CanWrite; }
}
public override long Length {
get { return Impl.Length; }
}
public override long Position {
get { return Impl.Position; }
}
public override void SetLength (long value)
{
Impl.SetLength (value);
}
public override AuthenticatedStream AuthenticatedStream {
get { return Impl; }
}
public override int ReadTimeout {
get { return Impl.ReadTimeout; }
set { Impl.ReadTimeout = value; }
}
public override int WriteTimeout {
get { return Impl.WriteTimeout; }
set { Impl.WriteTimeout = value; }
}
public override bool CheckCertRevocationStatus {
get { return Impl.CheckCertRevocationStatus; }
}
public override X509Certificate LocalCertificate {
get { return Impl.LocalCertificate; }
}
public override X509Certificate RemoteCertificate {
get { return Impl.RemoteCertificate; }
}
public override SslProtocols SslProtocol {
get { return Impl.SslProtocol; }
}
void CheckDisposed ()
{
if (impl == null)
throw new ObjectDisposedException ("MonoSslStream");
}
protected override void Dispose (bool disposing)
{
if (impl != null && disposing) {
impl.Dispose ();
impl = null;
}
}
}
}

Просмотреть файл

@ -1,124 +0,0 @@
//
// MonoDefaultTlsProvider.cs
//
// Author:
// Martin Baulig <martin.baulig@xamarin.com>
//
// Copyright (c) 2015 Xamarin, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using Mono.Security.Interface;
namespace Mono.Security.Providers.DotNet
{
/*
* This provider only uses the public .NET APIs from System.dll.
*
* It is primarily intended for testing.
*/
public class DotNetTlsProvider : MonoTlsProvider
{
public override bool SupportsHttps {
get { return false; }
}
public override bool SupportsSslStream {
get { return true; }
}
public override bool SupportsMonoExtensions {
get { return false; }
}
public override bool SupportsTlsContext {
get { return false; }
}
public override bool IsHttpsStream (Stream stream)
{
return false;
}
#pragma warning disable 618
public override IMonoHttpsStream GetHttpsStream (Stream stream)
{
throw new InvalidOperationException ();
}
public override IMonoHttpsStream CreateHttpsClientStream (
Stream innerStream, HttpWebRequest request, byte[] buffer)
{
throw new NotSupportedException ("Web API is not supported.");
}
#pragma warning restore 618
public override MonoSslStream CreateSslStream (
Stream innerStream, bool leaveInnerStreamOpen,
MonoRemoteCertificateValidationCallback userCertificateValidationCallback,
MonoLocalCertificateSelectionCallback userCertificateSelectionCallback,
MonoTlsSettings settings = null)
{
if (settings != null)
throw new NotSupportedException ("Mono-specific API Extensions not available.");
var sslStream = new DotNetSslStreamImpl (
innerStream, leaveInnerStreamOpen,
ConvertCallback (userCertificateValidationCallback),
ConvertCallback (userCertificateSelectionCallback));
return sslStream;
}
public override IMonoTlsContext CreateTlsContext (
string hostname, bool serverMode, TlsProtocols protocolFlags,
X509Certificate serverCertificate, X509CertificateCollection clientCertificates,
bool remoteCertRequired, bool checkCertName, bool checkCertRevocationStatus,
MonoEncryptionPolicy encryptionPolicy,
MonoRemoteCertificateValidationCallback userCertificateValidationCallback,
MonoLocalCertificateSelectionCallback userCertificateSelectionCallback,
MonoTlsSettings settings)
{
throw new NotSupportedException ();
}
internal static RemoteCertificateValidationCallback ConvertCallback (MonoRemoteCertificateValidationCallback callback)
{
if (callback == null)
return null;
return (s, c, ch, e) => callback (null, c, ch, e);
}
internal static LocalCertificateSelectionCallback ConvertCallback (MonoLocalCertificateSelectionCallback callback)
{
if (callback == null)
return null;
return (s, t, lc, rc, ai) => callback (t, lc, rc, ai);
}
}
}

Просмотреть файл

@ -1,46 +0,0 @@
//
// AssemblyInfo.cs
//
// Author:
// Martin Baulig <martin.baulig@xamarin.com>
//
// Copyright (c) 2015 Xamarin, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using System.Reflection;
using System.Resources;
using System.Security;
using System.Security.Permissions;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about the system assembly
[assembly: AssemblyVersion (Consts.FxVersion)]
[assembly: AssemblyCompany ("MONO development team")]
[assembly: AssemblyCopyright ("(c) 2015 Xamarin")]
[assembly: AssemblyDescription ("Mono.Security.Providers.dll")]
[assembly: AssemblyProduct ("MONO CLI")]
[assembly: AssemblyTitle ("Mono.Security.Providers.dll")]
[assembly: CLSCompliant (true)]
[assembly: ComVisible (false)]
[assembly: NeutralResourcesLanguage ("en-US")]

Просмотреть файл

@ -1,48 +0,0 @@
MCS_BUILD_DIR = ../../build
thisdir = class/Mono.Security.Providers
PROVIDERS = DotNet NewMonoSource
mobile_static_SUBDIRS = $(PROVIDERS)
net_4_5_SUBDIRS = $(PROVIDERS)
monodroid_SUBDIRS = $(net_4_5_SUBDIRS)
xammac_SUBDIRS = $(net_4_5_SUBDIRS)
PROFILE_SUBDIRS = $(PROVIDERS)
#OVERRIDE_TARGET_ALL = yes
#
# The output directory for the facade assemblies
#
target_dir = $(topdir)/class/lib/$(PROFILE)/Mono.Security.Providers
#
# Contains the expanded version of the target dll for each profile
#
target_libraries = $(patsubst %,$(target_dir)/%.dll,$(SUBDIRS))
#
# To build each target, go into the subdirectory
#
$(target_dir)/%.dll:
(cd `basename $@ .dll`; $(MAKE))
#all.override: $(target_libraries)
include $(MCS_BUILD_DIR)/rules.make
dist-local: dist-default
SUBDIRS = $(PROFILE)
doc-update-local:
@echo "not doing docs"
doc-update-recursive:
@echo "not doing docs"

Просмотреть файл

@ -1,38 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Providers.DotNet", "DotNet\Mono.Security.Providers.DotNet.csproj", "{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Providers.NewMonoSource", "NewMonoSource\Mono.Security.Providers.NewMonoSource.csproj", "{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Debug|x86 = Debug|x86
Release|x86 = Release|x86
Test|Any CPU = Test|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|x86.ActiveCfg = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Debug|x86.Build.0 = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|Any CPU.Build.0 = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|x86.ActiveCfg = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Release|x86.Build.0 = Release|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Test|Any CPU.ActiveCfg = Debug|Any CPU
{3C7B65E9-AB8D-4BB4-A22E-8BCF086AD6F9}.Test|Any CPU.Build.0 = Debug|Any CPU
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Debug|x86.ActiveCfg = Debug|x86
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Debug|x86.Build.0 = Debug|x86
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Release|Any CPU.Build.0 = Release|Any CPU
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Release|x86.ActiveCfg = Release|x86
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Release|x86.Build.0 = Release|x86
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Test|Any CPU.ActiveCfg = Test|Any CPU
{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}.Test|Any CPU.Build.0 = Test|Any CPU
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,12 +0,0 @@
thisdir = class/Mono.Security.Providers/NewMonoSource
SUBDIRS =
include ../../../build/rules.make
LIBRARY = Mono.Security.Providers.NewMonoSource.dll
LIB_MCS_FLAGS = -r:System.dll -d:SECURITY_DEP -d:MONO_SECURITY_ALIAS -r:MonoSecurity=Mono.Security \
-unsafe -nowarn:1030 -keyfile:../../mono.pub -delaysign \
-d:MONO -d:FEATURE_PAL -d:MONO_FEATURE_NEW_TLS -d:NEW_MONO_SOURCE -d:DISABLE_CAS_USE
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:169,219,618,672
include ../../../build/library.make

Просмотреть файл

@ -1,137 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4A392AE3-7D5C-463E-AECF-AEEC3AD439CB}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>Mono.Security.Providers.NewMonoSource</RootNamespace>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AssemblyName>Mono.Security.Providers.NewMonoSource</AssemblyName>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\mono.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<NoWarn>436,649,169</NoWarn>
<OutputPath>bin\Debug</OutputPath>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;MONO;FEATURE_PAL;MONO_SECURITY_ALIAS;MONO_FEATURE_NEW_TLS;NEW_MONO_SOURCE;SECURITY_DEP;DISABLE_CAS_USE;NET_4_5</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<NoWarn>436,649,169</NoWarn>
<OutputPath>bin\Release</OutputPath>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
<DefineConstants>MONO;FEATURE_PAL;MONO_SECURITY_ALIAS;MONO_FEATURE_NEW_TLS;NEW_MONO_SOURCE;SECURITY_DEP;DISABLE_CAS_USE;NET_4_5</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Mono.Security">
<Aliases>MonoSecurity</Aliases>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\Logging.cs">
<Link>referencesource\Net\Logging.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\_SslSessionsCache.cs">
<Link>referencesource\Net\_SslSessionsCache.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\_LazyAsyncResult.cs">
<Link>referencesource\Net\_LazyAsyncResult.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\_LoggingObject.cs">
<Link>referencesource\Net\_LoggingObject.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\_NTAuthentication.cs">
<Link>referencesource\Net\_NTAuthentication.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\_SecureChannel.cs">
<Link>referencesource\Net\_SecureChannel.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\SecureProtocols\SslStream.cs">
<Link>referencesource\Net\SecureProtocols\SslStream.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\SecureProtocols\_SslState.cs">
<Link>referencesource\Net\SecureProtocols\_SslState.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\SecureProtocols\_SslStream.cs">
<Link>referencesource\Net\SecureProtocols\_SslStream.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\SecureProtocols\_FixedSizeReader.cs">
<Link>referencesource\Net\SecureProtocols\_FixedSizeReader.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\System\net\System\Net\SecureProtocols\_HelperAsyncResults.cs">
<Link>referencesource\Net\SecureProtocols\_HelperAsyncResults.cs</Link>
</Compile>
<Compile Include="..\..\..\..\external\referencesource\mscorlib\InternalApis\NDP_Common\inc\PinnableBufferCache.cs">
<Link>referencesource\corlib\NDP_Common\PinnableBufferCache.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\SR.cs">
<Link>System\SR.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\SR2.cs">
<Link>System\SR2.cs</Link>
</Compile>
<Compile Include="..\..\..\build\common\SR.cs">
<Link>common\SR.cs</Link>
</Compile>
<Compile Include="..\common\Consts.cs">
<Link>common\Consts.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\Internal.cs">
<Link>ReferenceSources\Internal.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\SSPIWrapper.cs">
<Link>ReferenceSources\SSPIWrapper.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\SSPISafeHandles.cs">
<Link>ReferenceSources\SSPISafeHandles.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\SslStream.cs">
<Link>ReferenceSources\SslStream.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\_SslState.cs">
<Link>ReferenceSources\_SslState.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\_SecureChannel.cs">
<Link>ReferenceSources\_SecureChannel.cs</Link>
</Compile>
<Compile Include="..\..\System\ReferenceSources\SSPIConfiguration.cs">
<Link>ReferenceSources\SSPIConfiguration.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\..\System\Mono.Net.Security\IMonoSslStream.cs">
<Link>Mono.Net.Security\IMonoSslStream.cs</Link>
</Compile>
<Compile Include="..\..\System\Mono.Net.Security\IMonoTlsProvider.cs">
<Link>Mono.Net.Security\IMonoTlsProvider.cs</Link>
</Compile>
<Compile Include="..\..\System\Mono.Net.Security\MonoTlsProviderWrapper.cs">
<Link>Mono.Net.Security\MonoTlsProviderWrapper.cs</Link>
</Compile>
<Compile Include="..\..\System\Mono.Net.Security\CallbackHelpers.cs">
<Link>Mono.Net.Security\CallbackHelpers.cs</Link>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup />
<ProjectExtensions>
<MonoDevelop>
<Properties>
<Policies>
<TextStylePolicy inheritsSet="Mono" inheritsScope="text/plain" scope="text/x-csharp" />
<CSharpFormattingPolicy inheritsSet="Mono" inheritsScope="text/x-csharp" scope="text/x-csharp" />
</Policies>
</Properties>
</MonoDevelop>
</ProjectExtensions>
<ItemGroup>
<Folder Include="Properties\" />
<Folder Include="Mono.Net.Security\" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,31 +0,0 @@
./Properties/AssemblyInfo.cs
../common/Consts.cs
../../../build/common/SR.cs
../../../build/common/Locale.cs
../../../../external/referencesource/System/net/System/Net/Logging.cs
../../../../external/referencesource/System/net/System/Net/_SslSessionsCache.cs
../../../../external/referencesource/System/net/System/Net/_LazyAsyncResult.cs
../../../../external/referencesource/System/net/System/Net/_LoggingObject.cs
../../../../external/referencesource/System/net/System/Net/_NTAuthentication.cs
../../../../external/referencesource/System/net/System/Net/_SecureChannel.cs
../../../../external/referencesource/System/net/System/Net/SecureProtocols/SslStream.cs
../../../../external/referencesource/System/net/System/Net/SecureProtocols/_SslState.cs
../../../../external/referencesource/System/net/System/Net/SecureProtocols/_SslStream.cs
../../../../external/referencesource/System/net/System/Net/SecureProtocols/_FixedSizeReader.cs
../../../../external/referencesource/System/net/System/Net/SecureProtocols/_HelperAsyncResults.cs
../../../../external/referencesource/mscorlib/InternalApis/NDP_Common/inc/PinnableBufferCache.cs
../../System/ReferenceSources/SR.cs
../../System/ReferenceSources/SR2.cs
../../System/ReferenceSources/Internal.cs
../../System/ReferenceSources/SSPIWrapper.cs
../../System/ReferenceSources/SSPISafeHandles.cs
../../System/ReferenceSources/SslStream.cs
../../System/ReferenceSources/_SslState.cs
../../System/ReferenceSources/_SecureChannel.cs
../../System/ReferenceSources/SSPIConfiguration.cs
../../System/Mono.Net.Security/CallbackHelpers.cs
../../System/Mono.Net.Security/IMonoSslStream.cs
../../System/Mono.Net.Security/IMonoTlsProvider.cs
../../System/Mono.Net.Security/MonoTlsProviderWrapper.cs

Просмотреть файл

@ -1,47 +0,0 @@
//
// AssemblyInfo.cs
//
// Author:
// Martin Baulig <martin.baulig@xamarin.com>
//
// Copyright (c) 2015 Xamarin, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using System.Reflection;
using System.Resources;
using System.Security;
using System.Security.Permissions;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about the system assembly
[assembly: AssemblyVersion (Consts.FxVersion)]
[assembly: AssemblyCompany ("MONO development team")]
[assembly: AssemblyCopyright ("(c) 2015 Xamarin")]
[assembly: AssemblyDescription ("Mono.Security.Providers.NewMonoSource.dll")]
[assembly: AssemblyProduct ("MONO CLI")]
[assembly: AssemblyTitle ("Mono.Security.Providers.NewMonoSource.dll")]
[assembly: CLSCompliant (true)]
[assembly: ComVisible (false)]
[assembly: NeutralResourcesLanguage ("en-US")]
[assembly: InternalsVisibleTo ("Mono.Security.Providers.NewTls, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]

Просмотреть файл

@ -8,7 +8,7 @@
<RootNamespace>Mono.Security.Providers.NewTls</RootNamespace>
<AssemblyName>Mono.Security.Providers.NewTls</AssemblyName>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\mono.snk</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyFile>..\..\new-tls.snk</AssemblyOriginatorKeyFile>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@ -32,15 +32,6 @@
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\..\build\common\Locale.cs">
<Link>common\Locale.cs</Link>
</Compile>
<Compile Include="..\..\..\build\common\MonoTODOAttribute.cs">
<Link>common\MonoTODOAttribute.cs</Link>
</Compile>
<Compile Include="..\..\..\build\common\SR.cs">
<Link>common\SR.cs</Link>
</Compile>
<Compile Include="Mono.Security.Providers.NewTls\NewTlsProvider.cs" />
<Compile Include="..\..\Mono.Security.NewTls\Mono.Security.Protocol.NewTls\MonoNewTlsStream.cs">
<Link>Mono.Security.Providers.NewTls\MonoNewTlsStream.cs</Link>

Двоичные данные
new-tls.snk Normal file

Двоичный файл не отображается.