New TLS implementation for Mono.
Перейти к файлу
Martin Baulig 36a32f5f7b Cleanup the certificate code. 2015-03-07 00:10:51 +01:00
Android Add the OpenSsl connection provider. 2015-03-06 22:57:59 +01:00
CA Move the CA folder to the top-level. 2015-03-06 23:28:46 +01:00
Console/Mono.Security.NewTls.Console ConnectionProviderType.DotNet is not supported. 2015-03-06 23:15:17 +01:00
MartinsPlayground Move the CA folder to the top-level. 2015-03-06 23:28:46 +01:00
Mono.Security.Interface Add Mono.Security.NewTls.Interface PCL. 2015-03-03 00:20:25 +01:00
Mono.Security.NewTls Moved solution to top-level. 2015-03-05 23:45:50 +01:00
Mono.Security.NewTls.Interface Crypto tests are now complete. 2015-03-04 20:57:30 +01:00
Mono.Security.NewTls.TestFramework Port more of the tests. 2015-03-06 23:22:45 +01:00
Mono.Security.NewTls.TestProvider Cleanup the certificate code. 2015-03-07 00:10:51 +01:00
Mono.Security.NewTls.TestProvider.OpenSsl Cleanup the certificate code. 2015-03-07 00:10:51 +01:00
Mono.Security.NewTls.Tests Move the CA folder to the top-level. 2015-03-06 23:28:46 +01:00
Mono.Security.Providers More Android work. 2015-03-05 10:03:04 +01:00
NativeOpenSsl Update native project and add README.md. 2015-03-05 23:33:02 +01:00
external FIXME; can we somehow build? 2015-03-05 06:12:17 +01:00
.gitignore Update native project and add README.md. 2015-03-05 23:33:02 +01:00
.gitmodules Add xamarin/web-tests as submodule, using the martin-newtls branch. 2015-03-03 02:45:27 +01:00
Makefile.native Moved NativeOpenSsl to the top-level. 2015-03-05 23:21:52 +01:00
MartinsPlayground.Android.sln Android stuff ... 2015-03-05 08:06:56 +01:00
MartinsPlayground.mdw Moved solution to top-level. 2015-03-05 23:45:50 +01:00
MartinsPlayground.sln Moved solution to top-level. 2015-03-05 23:45:50 +01:00
README.md Link to the slightly outdated README.me in mono/work-newtls. 2015-03-06 22:09:14 +01:00
new-tls.snk More build stuff. 2015-02-08 07:18:39 +01:00

README.md

Mono's New TLS Implementation

Dependencies:

  • xamarin/web-tests from the 'martin-newtls' branch (https://github.com/xamarin/web-tests/tree/martin-newtls) included as submodule.

  • Mono 4.0 must be installed in the system and set as the default Mono (/Library/Frameworks/Mono.framework/Versions/4.0.0).

    This is required because some internals in the binary serialization format have changed, which Xamarin Studio uses to communicate to the external 'mdtool' build process when building against a custom runtime.

  • mono/mono from the 'work-newtls' branch (https://github.com/mono/mono/tree/work-newtls)

    This must be installed in /Workspace/INSTALL at the moment.

    FIXME: To use a different prefix, need to make sure we find the openssl shared libraries at runtime.

    This version of Mono must be selected as current runtime in Xamarin Studio (go to Preferences / .NET Runtime to install it, then select via Project / Active Runtime ...).

  • For Android and iOS:

    Custom built of Xamarin.Android / Xamarin.iOS with Mono from the the 'work-newtls' branch.

    You also need to build mcs/class/Mono.Security.Providers and install the binaries.

  • Download the openssl 1.0.1 sources, configure with

    $ ./config -t $ ./Configure darwin-i386-cc --prefix=/Workspace/INSTALL -shared $ make $ make install

    This install a shared-library build of openssl in /Workspace/INSTALL.

  • Make sure you have Xcode installed.

  • Build the native library with

    $ make -f Makefile.native

  • Build MartinPlayground.mdw.

Reference Source and how the pieces fit together

A slightly outdated documentation is here: https://github.com/mono/mono/blob/work-newtls/mcs/class/Mono.Security.Providers/README.md

This still needs to be cleaned up.