diff --git a/Tests/Cosmos.Compiler.Tests.Encryption/AssemblyInfo.cs b/Tests/Cosmos.Compiler.Tests.Encryption/AssemblyInfo.cs
new file mode 100644
index 000000000..6848b03ad
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.Encryption/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Package Name")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Company")]
+[assembly: AssemblyProduct("Package Name")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+[assembly: CLSCompliant(false)]
+[assembly: NeutralResourcesLanguage("en-US")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+
+
+
diff --git a/Tests/Cosmos.Compiler.Tests.Encryption/Cosmos.Compiler.Tests.Encryption.csproj b/Tests/Cosmos.Compiler.Tests.Encryption/Cosmos.Compiler.Tests.Encryption.csproj
new file mode 100644
index 000000000..e5ccbd90c
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.Encryption/Cosmos.Compiler.Tests.Encryption.csproj
@@ -0,0 +1,60 @@
+
+
+
+ Debug
+ x86
+ 9.0.30729
+ 2.0
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}
+ Library
+ Properties
+ Cosmos.Compiler.Tests.Encryption
+ Cosmos.Compiler.Tests.Encryption
+ 512
+ v4.5.2
+
+
+
+ true
+ bin\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\Release\
+ TRACE
+ true
+ pdbonly
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {E6D3B644-C487-472D-A978-C1A82D0C099B}
+ Cosmos.TestRunner.TestController
+
+
+
+
+
\ No newline at end of file
diff --git a/Tests/Cosmos.Compiler.Tests.Encryption/Cosmos.Compiler.Tests.EncryptionBoot.Cosmos b/Tests/Cosmos.Compiler.Tests.Encryption/Cosmos.Compiler.Tests.EncryptionBoot.Cosmos
new file mode 100644
index 000000000..3ea7d809f
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.Encryption/Cosmos.Compiler.Tests.EncryptionBoot.Cosmos
@@ -0,0 +1,45 @@
+
+
+
+ Debug
+ 2.0
+ {ccf11819-c8f9-4a74-acae-1421b06720b6}
+ false
+ Cosmos.Compiler.Tests.EncryptionBoot
+ elf
+ v4.5.2
+
+
+
+ VMware
+ true
+ Source
+ User
+ False
+ false
+ Player
+ bin\Debug\
+ Cosmos.Compiler.Tests.EncryptionBoot
+ Use VMware Player or Workstation to deploy and debug.
+ ISO
+ VMware
+ Pipe: Cosmos\Serial
+
+
+
+ Cosmos.Compiler.Tests.Encryption
+ {48ebdeb2-6a6a-4df2-b5f1-db6d299401f2}
+
+
+
+
+
+
+
+
+
+
diff --git a/Tests/Cosmos.Compiler.Tests.Encryption/Kernel.cs b/Tests/Cosmos.Compiler.Tests.Encryption/Kernel.cs
new file mode 100644
index 000000000..ff8b8b0eb
--- /dev/null
+++ b/Tests/Cosmos.Compiler.Tests.Encryption/Kernel.cs
@@ -0,0 +1,31 @@
+using Cosmos.TestRunner;
+using System;
+using System.Collections.Generic;
+using System.Security.Cryptography;
+using System.Text;
+using Sys = Cosmos.System;
+
+namespace Cosmos.Compiler.Tests.Encryption
+{
+ public class Kernel : Sys.Kernel
+ {
+ protected override void BeforeRun()
+ {
+ Console.WriteLine("Cosmos booted successfully. Starting tests.");
+ }
+
+ protected override void Run()
+ {
+ TestSHA1();
+ TestController.Completed();
+ }
+
+ public void TestSHA1()
+ {
+ byte[] data = new byte[256];
+ byte[] result;
+ var shaM = new SHA1Managed();
+ result = shaM.ComputeHash(data);
+ }
+ }
+}
diff --git a/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj b/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
index f1896104b..7fe2c1cb5 100644
--- a/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
+++ b/Tests/Cosmos.TestRunner.Core/Cosmos.TestRunner.Core.csproj
@@ -113,6 +113,10 @@
+
+ {c18a7cf8-3205-48a8-95c9-08c780a0d51d}
+ FrotzKernel
+
{1116130E-28E0-428A-A597-F4B3B676C0CA}
Cosmos.Assembler
@@ -173,6 +177,10 @@
{31e3f8e2-7cc0-426c-accb-77b3319af5d3}
Cosmos.Compiler.Tests.Bcl
+
+ {48ebdeb2-6a6a-4df2-b5f1-db6d299401f2}
+ Cosmos.Compiler.Tests.Encryption
+
{9df5c0a9-b91c-4647-b939-e47513743a0c}
Cosmos.Compiler.Tests.Exceptions
diff --git a/Tests/Cosmos.TestRunner.Core/TestKernelSets.cs b/Tests/Cosmos.TestRunner.Core/TestKernelSets.cs
index 3f7fe8957..6f3bdc44c 100644
--- a/Tests/Cosmos.TestRunner.Core/TestKernelSets.cs
+++ b/Tests/Cosmos.TestRunner.Core/TestKernelSets.cs
@@ -8,6 +8,7 @@ namespace Cosmos.TestRunner.Core
public static IEnumerable GetStableKernelTypes()
{
yield return typeof(VGACompilerCrash.Kernel);
+ //yield return typeof(Cosmos.Compiler.Tests.Encryption.Kernel);
yield return typeof(Cosmos.Compiler.Tests.Bcl.Kernel);
yield return typeof(Cosmos.Compiler.Tests.SingleEchoTest.Kernel);
yield return typeof(Cosmos.Compiler.Tests.SimpleWriteLine.Kernel.Kernel);
diff --git a/source/Cosmos.System.Plugs/System/Security/Cryptography/CryptoConfigImpl.cs b/source/Cosmos.System.Plugs/System/Security/Cryptography/CryptoConfigImpl.cs
index f74b46470..36219243a 100644
--- a/source/Cosmos.System.Plugs/System/Security/Cryptography/CryptoConfigImpl.cs
+++ b/source/Cosmos.System.Plugs/System/Security/Cryptography/CryptoConfigImpl.cs
@@ -10,6 +10,14 @@ namespace Cosmos.System.Plugs.System.Security.Cryptography
[Plug(Target = typeof(global::System.Security.Cryptography.CryptoConfig))]
class CryptoConfigImpl
{
+
+ ///
+ ///The stock .NET constructor for CryptoConfig deals with dictionaries we don't need.
+ ///
+ public static void CCtor() {
+
+ }
+
/// Indicates whether the runtime should enforce the policy to create only Federal Information Processing Standard (FIPS) certified algorithms.
/// true to enforce the policy; otherwise, false.
public static bool AllowOnlyFipsAlgorithms
diff --git a/source/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj b/source/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj
index 955990720..83aaa6e41 100644
--- a/source/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj
+++ b/source/Cosmos.VS.Windows/Cosmos.VS.Windows.csproj
@@ -136,15 +136,6 @@
False
False
-
- {00020430-0000-0000-C000-000000000046}
- 2
- 0
- 0
- primary
- False
- False
-
diff --git a/source/Cosmos.sln b/source/Cosmos.sln
index c5e8d7e54..393cc1912 100644
--- a/source/Cosmos.sln
+++ b/source/Cosmos.sln
@@ -270,6 +270,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "zConsole", "..\Demos\zMachine\Frotz.Net\source\zConsole\zConsole.csproj", "{3E4A8079-AAC0-429D-B042-0B5151E0E5BE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cosmos.Compiler.Tests.Encryption", "..\Tests\Cosmos.Compiler.Tests.Encryption\Cosmos.Compiler.Tests.Encryption.csproj", "{48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}"
+EndProject
+Project("{471EC4BB-E47E-4229-A789-D1F5F83B52D4}") = "Cosmos.Compiler.Tests.EncryptionBoot", "..\Tests\Cosmos.Compiler.Tests.Encryption\Cosmos.Compiler.Tests.EncryptionBoot.Cosmos", "{CCF11819-C8F9-4A74-ACAE-1421B06720B6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -827,6 +831,7 @@ Global
{E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Debug|Mixed Platforms.Build.0 = Debug|x86
{E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Debug|x64.ActiveCfg = Debug|x86
{E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Debug|x86.ActiveCfg = Debug|x86
+ {E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Debug|x86.Build.0 = Debug|x86
{E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Release|Any CPU.ActiveCfg = Debug|x86
{E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Release|Mixed Platforms.ActiveCfg = Release|x86
{E5647BFD-1507-4F02-A7D5-E0F9D6AECE3A}.Release|Mixed Platforms.Build.0 = Release|x86
@@ -876,6 +881,7 @@ Global
{8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Debug|Mixed Platforms.Build.0 = Debug|x86
{8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Debug|x64.ActiveCfg = Debug|x86
{8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Debug|x86.ActiveCfg = Debug|x86
+ {8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Debug|x86.Build.0 = Debug|x86
{8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Release|Any CPU.ActiveCfg = Debug|x86
{8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Release|Mixed Platforms.ActiveCfg = Debug|x86
{8E3537CB-D0F9-4CFB-AE6F-72B465CA03F6}.Release|Mixed Platforms.Build.0 = Debug|x86
@@ -887,6 +893,7 @@ Global
{82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Debug|Mixed Platforms.Build.0 = Debug|x86
{82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Debug|x64.ActiveCfg = Debug|x86
{82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Debug|x86.ActiveCfg = Debug|x86
+ {82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Debug|x86.Build.0 = Debug|x86
{82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Release|Any CPU.ActiveCfg = Debug|x86
{82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Release|Mixed Platforms.ActiveCfg = Release|x86
{82F6DDA3-E45D-4E7A-AA09-85FC2EDE2F76}.Release|Mixed Platforms.Build.0 = Release|x86
@@ -898,6 +905,7 @@ Global
{E978986A-8160-4979-919E-F099A43EF146}.Debug|Mixed Platforms.Build.0 = Debug|x86
{E978986A-8160-4979-919E-F099A43EF146}.Debug|x64.ActiveCfg = Debug|x86
{E978986A-8160-4979-919E-F099A43EF146}.Debug|x86.ActiveCfg = Debug|x86
+ {E978986A-8160-4979-919E-F099A43EF146}.Debug|x86.Build.0 = Debug|x86
{E978986A-8160-4979-919E-F099A43EF146}.Release|Any CPU.ActiveCfg = Debug|x86
{E978986A-8160-4979-919E-F099A43EF146}.Release|Mixed Platforms.ActiveCfg = Release|x86
{E978986A-8160-4979-919E-F099A43EF146}.Release|Mixed Platforms.Build.0 = Release|x86
@@ -1035,6 +1043,7 @@ Global
{AB869246-4887-4117-851D-766EB9FF1E29}.Debug|Mixed Platforms.Build.0 = Debug|x86
{AB869246-4887-4117-851D-766EB9FF1E29}.Debug|x64.ActiveCfg = Debug|x86
{AB869246-4887-4117-851D-766EB9FF1E29}.Debug|x86.ActiveCfg = Debug|x86
+ {AB869246-4887-4117-851D-766EB9FF1E29}.Debug|x86.Build.0 = Debug|x86
{AB869246-4887-4117-851D-766EB9FF1E29}.Release|Any CPU.ActiveCfg = Debug|x86
{AB869246-4887-4117-851D-766EB9FF1E29}.Release|Mixed Platforms.ActiveCfg = Release|x86
{AB869246-4887-4117-851D-766EB9FF1E29}.Release|Mixed Platforms.Build.0 = Release|x86
@@ -1501,6 +1510,7 @@ Global
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Debug|Mixed Platforms.Build.0 = Debug|x86
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Debug|x64.ActiveCfg = Debug|x86
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Debug|x86.ActiveCfg = Debug|x86
+ {511C4498-E62A-4FF2-94BA-472CF448B39B}.Debug|x86.Build.0 = Debug|x86
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Release|Any CPU.ActiveCfg = Debug|x86
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Release|Any CPU.Build.0 = Debug|x86
{511C4498-E62A-4FF2-94BA-472CF448B39B}.Release|Mixed Platforms.ActiveCfg = Debug|x86
@@ -1540,6 +1550,38 @@ Global
{3E4A8079-AAC0-429D-B042-0B5151E0E5BE}.Release|x64.Build.0 = Release|Any CPU
{3E4A8079-AAC0-429D-B042-0B5151E0E5BE}.Release|x86.ActiveCfg = Release|Any CPU
{3E4A8079-AAC0-429D-B042-0B5151E0E5BE}.Release|x86.Build.0 = Release|Any CPU
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|Any CPU.Build.0 = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|x64.ActiveCfg = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|x64.Build.0 = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|x86.ActiveCfg = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Debug|x86.Build.0 = Debug|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|Any CPU.ActiveCfg = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|Any CPU.Build.0 = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|Mixed Platforms.Build.0 = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|x64.ActiveCfg = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|x64.Build.0 = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|x86.ActiveCfg = Release|x86
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2}.Release|x86.Build.0 = Release|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|Any CPU.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|x64.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|x64.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|x86.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Debug|x86.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|Any CPU.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|Any CPU.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|Mixed Platforms.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|Mixed Platforms.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|x64.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|x64.Build.0 = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|x86.ActiveCfg = Debug|x86
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6}.Release|x86.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1647,5 +1689,7 @@ Global
{A843C6B0-CFF3-4A69-87BC-C93608235E47} = {0CB537D9-19BB-4185-9E9A-E1305F100B54}
{57B83EE4-164F-4BB2-8AFA-76445333A0E4} = {0CB537D9-19BB-4185-9E9A-E1305F100B54}
{3E4A8079-AAC0-429D-B042-0B5151E0E5BE} = {0CB537D9-19BB-4185-9E9A-E1305F100B54}
+ {48EBDEB2-6A6A-4DF2-B5F1-DB6D299401F2} = {F104F6BC-EF8E-4408-A786-D570D7565231}
+ {CCF11819-C8F9-4A74-ACAE-1421B06720B6} = {F104F6BC-EF8E-4408-A786-D570D7565231}
EndGlobalSection
EndGlobal