Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Lipnin <mlipnin@gmail.com>2018-07-09 16:29:07 +0300
committerMarek Safar <marek.safar@gmail.com>2018-07-09 16:29:07 +0300
commitf602125d107b0966f8045670326124ad988291cc (patch)
tree0be7d0c976f5ff8f608dd454cf6a662aedf601a5 /mcs/class/System.Security
parent998365ab3c0dcf7668d610d01aacfcd414c87c48 (diff)
CoreFX import for ProtectedData type (Windows part) (#9375)
As part of #7589 - CoreFX import only for Windows platform (no support for non-Windows platforms, see https://github.com/dotnet/corefx/issues/22510) - left Mono managed implementation for non-Windows platforms - removed DataProtectionScope parameter value check (no such a check in CoreFX and NET Framework, see https://github.com/dotnet/corefx/pull/30726) and couple of related unit tests - added CoreFX xunit tests
Diffstat (limited to 'mcs/class/System.Security')
-rw-r--r--mcs/class/System.Security/Makefile3
-rw-r--r--mcs/class/System.Security/Mono.Security.Cryptography/NativeDapiProtection.cs225
-rw-r--r--mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs36
-rw-r--r--mcs/class/System.Security/System.Security.csproj407
-rw-r--r--mcs/class/System.Security/System.Security.dll.sources1
-rw-r--r--mcs/class/System.Security/System.Security_xtest.dll.sources1
-rw-r--r--mcs/class/System.Security/Test/System.Security.Cryptography/ProtectedDataTest.cs40
-rw-r--r--mcs/class/System.Security/corefx/SR.cs2
-rw-r--r--mcs/class/System.Security/win32_System.Security.dll.exclude.sources2
-rw-r--r--mcs/class/System.Security/win32_System.Security.dll.sources11
-rw-r--r--mcs/class/System.Security/winaot_System.Security.dll.exclude.sources1
-rw-r--r--mcs/class/System.Security/winaot_System.Security.dll.sources1
12 files changed, 422 insertions, 308 deletions
diff --git a/mcs/class/System.Security/Makefile b/mcs/class/System.Security/Makefile
index 416aac7a943..80434540f3b 100644
--- a/mcs/class/System.Security/Makefile
+++ b/mcs/class/System.Security/Makefile
@@ -28,6 +28,7 @@ EXTRA_DISTFILES = \
RESX_RESOURCE_STRING = \
../../../external/corefx/src/System.Security.Cryptography.Xml/src/Resources/Strings.resx \
- ../../../external/corefx/src/System.Security.Cryptography.Pkcs/src/Resources/Strings.resx
+ ../../../external/corefx/src/System.Security.Cryptography.Pkcs/src/Resources/Strings.resx \
+ ../../../external/corefx/src/System.Security.Cryptography.ProtectedData/src/Resources/Strings.resx
include ../../build/library.make
diff --git a/mcs/class/System.Security/Mono.Security.Cryptography/NativeDapiProtection.cs b/mcs/class/System.Security/Mono.Security.Cryptography/NativeDapiProtection.cs
deleted file mode 100644
index f16f75a466b..00000000000
--- a/mcs/class/System.Security/Mono.Security.Cryptography/NativeDapiProtection.cs
+++ /dev/null
@@ -1,225 +0,0 @@
-//
-// NativeDapiProtection.cs -
-// Protect (encrypt) data without (user involved) key management
-//
-// Author:
-// Sebastien Pouliot <sebastien@ximian.com>
-//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// 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.Runtime.InteropServices;
-using System.Security;
-using System.Security.Cryptography;
-using System.Security.Permissions;
-
-namespace Mono.Security.Cryptography {
-
- // DAPI is only available in Windows 2000 and later operating systems
- // see ManagedProtection for other platforms
-
- // notes:
- // * no need to assert KeyContainerPermission here as unmanaged code can
- // do what it wants;
- // * which is why we also need the [SuppressUnmanagedCodeSecurity]
- // attribute on each native function (so we don't require UnmanagedCode)
-
- internal class NativeDapiProtection {
-
- private const uint CRYPTPROTECT_UI_FORBIDDEN = 0x1;
- private const uint CRYPTPROTECT_LOCAL_MACHINE = 0x4;
-
- [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Auto)]
- private struct DATA_BLOB {
-
- private int cbData;
- private IntPtr pbData;
-
- public void Alloc (int size)
- {
- if (size > 0) {
- pbData = Marshal.AllocHGlobal (size);
- cbData = size;
- }
- }
-
- public void Alloc (byte[] managedMemory)
- {
- if (managedMemory != null) {
- int size = managedMemory.Length;
- pbData = Marshal.AllocHGlobal (size);
- cbData = size;
- Marshal.Copy (managedMemory, 0, pbData, cbData);
- }
- }
-
- public void Free ()
- {
- if (pbData != IntPtr.Zero) {
- // clear copied memory!
- ZeroMemory (pbData, cbData);
- Marshal.FreeHGlobal (pbData);
- pbData = IntPtr.Zero;
- cbData = 0;
- }
- }
-
- public byte[] ToBytes ()
- {
- if (cbData <= 0)
- return new byte [0];
-
- byte[] managedMemory = new byte[cbData];
- Marshal.Copy (pbData, managedMemory, 0, cbData);
- return managedMemory;
- }
- }
-
- [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Auto)]
- private struct CRYPTPROTECT_PROMPTSTRUCT {
-
- private int cbSize;
- private uint dwPromptFlags;
- private IntPtr hwndApp;
- private string szPrompt;
-
- public CRYPTPROTECT_PROMPTSTRUCT (uint flags)
- {
- cbSize = Marshal.SizeOf (typeof (CRYPTPROTECT_PROMPTSTRUCT));
- dwPromptFlags = flags;
- hwndApp = IntPtr.Zero;
- szPrompt = null;
- }
- }
-
- // http://msdn.microsoft.com/library/en-us/seccrypto/security/cryptprotectdata.asp
- [SuppressUnmanagedCodeSecurity]
- [DllImport ("crypt32.dll", SetLastError = true, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
- private static extern bool CryptProtectData (ref DATA_BLOB pDataIn, string szDataDescr, ref DATA_BLOB pOptionalEntropy,
- IntPtr pvReserved, ref CRYPTPROTECT_PROMPTSTRUCT pPromptStruct, uint dwFlags, ref DATA_BLOB pDataOut);
-
- // http://msdn.microsoft.com/library/en-us/seccrypto/security/cryptunprotectdata.asp
- [SuppressUnmanagedCodeSecurity]
- [DllImport ("crypt32.dll", SetLastError = true, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
- private static extern bool CryptUnprotectData (ref DATA_BLOB pDataIn, string szDataDescr, ref DATA_BLOB pOptionalEntropy,
- IntPtr pvReserved, ref CRYPTPROTECT_PROMPTSTRUCT pPromptStruct, uint dwFlags, ref DATA_BLOB pDataOut);
-
- // http://msdn.microsoft.com/library/en-us/memory/base/zeromemory.asp
- // note: SecureZeroMemory is an inline function (and can't be used here)
- // anyway I don't think the CLR will optimize this call away (like a C/C++ compiler could do)
- [SuppressUnmanagedCodeSecurity]
- [DllImport ("kernel32.dll", EntryPoint = "RtlZeroMemory", SetLastError = false, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
- private static extern void ZeroMemory (IntPtr dest, int size);
-
-
- // managed helpers
-
- public static byte[] Protect (byte[] userData, byte[] optionalEntropy, DataProtectionScope scope)
- {
- byte[] encdata = null;
- int hr = 0;
-
- DATA_BLOB data = new DATA_BLOB ();
- DATA_BLOB entropy = new DATA_BLOB ();
- DATA_BLOB cipher = new DATA_BLOB ();
- try {
- CRYPTPROTECT_PROMPTSTRUCT prompt = new CRYPTPROTECT_PROMPTSTRUCT (0);
- data.Alloc (userData);
- entropy.Alloc (optionalEntropy);
-
- // note: the scope/flags has already been check by the public caller
- uint flags = CRYPTPROTECT_UI_FORBIDDEN;
- if (scope == DataProtectionScope.LocalMachine)
- flags |= CRYPTPROTECT_LOCAL_MACHINE;
-
- // note: on Windows 2000 the string parameter *cannot* be null
- if (CryptProtectData (ref data, String.Empty, ref entropy, IntPtr.Zero,
- ref prompt, flags, ref cipher)) {
- // copy encrypted data back to managed codde
- encdata = cipher.ToBytes ();
- } else {
- hr = Marshal.GetLastWin32Error ();
- }
- }
- catch (Exception ex) {
- string msg = Locale.GetText ("Error protecting data.");
- throw new CryptographicException (msg, ex);
- }
- finally {
- cipher.Free ();
- data.Free ();
- entropy.Free ();
- }
-
- if ((encdata == null) || (hr != 0)) {
- throw new CryptographicException (hr);
- }
- return encdata;
- }
-
- public static byte[] Unprotect (byte[] encryptedData, byte[] optionalEntropy, DataProtectionScope scope)
- {
- byte[] decdata = null;
- int hr = 0;
-
- DATA_BLOB cipher = new DATA_BLOB ();
- DATA_BLOB entropy = new DATA_BLOB ();
- DATA_BLOB data = new DATA_BLOB ();
- try {
- CRYPTPROTECT_PROMPTSTRUCT prompt = new CRYPTPROTECT_PROMPTSTRUCT (0);
- cipher.Alloc (encryptedData);
- entropy.Alloc (optionalEntropy);
-
- // note: the scope/flags has already been check by the public caller
- uint flags = CRYPTPROTECT_UI_FORBIDDEN;
- if (scope == DataProtectionScope.LocalMachine)
- flags |= CRYPTPROTECT_LOCAL_MACHINE;
-
- if (CryptUnprotectData (ref cipher, null, ref entropy, IntPtr.Zero,
- ref prompt, flags, ref data)) {
- // copy decrypted data back to managed codde
- decdata = data.ToBytes ();
- } else {
- hr = Marshal.GetLastWin32Error ();
- }
- }
- catch (Exception ex) {
- string msg = Locale.GetText ("Error protecting data.");
- throw new CryptographicException (msg, ex);
- }
- finally {
- cipher.Free ();
- data.Free ();
- entropy.Free ();
- }
-
- if ((decdata == null) || (hr != 0)) {
- throw new CryptographicException (hr);
- }
- return decdata;
- }
- }
-}
-
diff --git a/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs b/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs
index d2cd4b21f49..f237e56558a 100644
--- a/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs
+++ b/mcs/class/System.Security/System.Security.Cryptography/ProtectedData.cs
@@ -51,7 +51,7 @@ namespace System.Security.Cryptography {
if (userData == null)
throw new ArgumentNullException ("userData");
- // on Windows this is supported only under 2000 and later OS
+ // on Windows this is supported by CoreFX implementation
Check (scope);
switch (impl) {
@@ -64,14 +64,6 @@ namespace System.Security.Cryptography {
string msg = Locale.GetText ("Data protection failed.");
throw new CryptographicException (msg, e);
}
- case DataProtectionImplementation.Win32CryptoProtect:
- try {
- return NativeDapiProtection.Protect (userData, optionalEntropy, scope);
- }
- catch (Exception e) {
- string msg = Locale.GetText ("Data protection failed.");
- throw new CryptographicException (msg, e);
- }
#endif
default:
throw new PlatformNotSupportedException ();
@@ -84,7 +76,7 @@ namespace System.Security.Cryptography {
if (encryptedData == null)
throw new ArgumentNullException ("encryptedData");
- // on Windows this is supported only under 2000 and later OS
+ // on Windows this is supported by CoreFX implementation
Check (scope);
switch (impl) {
@@ -97,14 +89,6 @@ namespace System.Security.Cryptography {
string msg = Locale.GetText ("Data unprotection failed.");
throw new CryptographicException (msg, e);
}
- case DataProtectionImplementation.Win32CryptoProtect:
- try {
- return NativeDapiProtection.Unprotect (encryptedData, optionalEntropy, scope);
- }
- catch (Exception e) {
- string msg = Locale.GetText ("Data unprotection failed.");
- throw new CryptographicException (msg, e);
- }
#endif
default:
throw new PlatformNotSupportedException ();
@@ -126,18 +110,10 @@ namespace System.Security.Cryptography {
{
OperatingSystem os = Environment.OSVersion;
switch (os.Platform) {
- case PlatformID.Win32NT:
- Version v = os.Version;
- if (v.Major < 5) {
- impl = DataProtectionImplementation.Unsupported;
- } else {
- // Windows 2000 (5.0) and later
- impl = DataProtectionImplementation.Win32CryptoProtect;
- }
- break;
case PlatformID.Unix:
impl = DataProtectionImplementation.ManagedProtection;
break;
+ case PlatformID.Win32NT:
default:
impl = DataProtectionImplementation.Unsupported;
break;
@@ -146,12 +122,6 @@ namespace System.Security.Cryptography {
private static void Check (DataProtectionScope scope)
{
- if ((scope < DataProtectionScope.CurrentUser) || (scope > DataProtectionScope.LocalMachine)) {
- string msg = Locale.GetText ("Invalid enum value '{0}' for '{1}'.",
- scope, "DataProtectionScope");
- throw new ArgumentException (msg, "scope");
- }
-
switch (impl) {
case DataProtectionImplementation.Unknown:
Detect ();
diff --git a/mcs/class/System.Security/System.Security.csproj b/mcs/class/System.Security/System.Security.csproj
index 1321d6a7f80..98af5e0db0d 100644
--- a/mcs/class/System.Security/System.Security.csproj
+++ b/mcs/class/System.Security/System.Security.csproj
@@ -204,13 +204,383 @@
<Compile Include="System.Security.Cryptography.Pkcs\AlgorithmIdentifier.cs" />
<Compile Include="System.Security.Cryptography.Pkcs\EnvelopedCms.cs" />
<Compile Include="System.Security.Cryptography.Pkcs\Pkcs9SigningTime.cs" />
- <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
<Compile Include="corefx\SR.cs" />
</ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'monodroid' "></ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'monotouch' "></ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'monotouch_tv' "></ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'monotouch_watch' "></ItemGroup>
+ <ItemGroup Condition=" '$(HostPlatform)' == 'linux' ">
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\C14NAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlAttribute.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlCDataSection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlComment.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlElement.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlEntityReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlNodeList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlProcessingInstruction.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlSignificantWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlText.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalizationDispatcher.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CertUsageType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoHelpers.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoSignedXmlRecursionException.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSASignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataObject.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DocPosition.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionProperty.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionPropertyCollection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcCanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ICanonicalizableNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\IRelDecryptor.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoClause.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoEncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoName.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoRetrievalMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoX509Data.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\MyXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceFrame.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA256SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA384SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA512SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Reference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceTargetType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Signature.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedXmlDebugLog.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SymmetricKeyWrap.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\TransformChain.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Utils.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDecryptionTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigBase64Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigEnvelopedSignatureTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXPathTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
+ <Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />
+ <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
+ <Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />
+ <Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
+ <Compile Include="System.Security.Permissions\PermissionHelper.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(HostPlatform)' == 'macos' ">
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\C14NAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlAttribute.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlCDataSection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlComment.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlElement.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlEntityReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlNodeList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlProcessingInstruction.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlSignificantWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlText.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalizationDispatcher.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CertUsageType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoHelpers.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoSignedXmlRecursionException.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSASignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataObject.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DocPosition.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionProperty.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionPropertyCollection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcCanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ICanonicalizableNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\IRelDecryptor.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoClause.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoEncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoName.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoRetrievalMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoX509Data.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\MyXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceFrame.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA256SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA384SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA512SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Reference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceTargetType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Signature.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedXmlDebugLog.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SymmetricKeyWrap.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\TransformChain.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Utils.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDecryptionTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigBase64Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigEnvelopedSignatureTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXPathTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
+ <Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />
+ <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
+ <Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />
+ <Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
+ <Compile Include="System.Security.Permissions\PermissionHelper.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(HostPlatform)' == 'unix' ">
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\C14NAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlAttribute.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlCDataSection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlComment.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlElement.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlEntityReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlNodeList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlProcessingInstruction.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlSignificantWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlText.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalizationDispatcher.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CertUsageType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoHelpers.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoSignedXmlRecursionException.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSASignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataObject.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DocPosition.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionProperty.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionPropertyCollection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcCanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ICanonicalizableNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\IRelDecryptor.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoClause.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoEncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoName.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoRetrievalMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoX509Data.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\MyXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceFrame.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA256SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA384SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA512SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Reference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceTargetType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Signature.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedXmlDebugLog.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SymmetricKeyWrap.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\TransformChain.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Utils.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDecryptionTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigBase64Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigEnvelopedSignatureTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXPathTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
+ <Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />
+ <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
+ <Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />
+ <Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
+ <Compile Include="System.Security.Permissions\PermissionHelper.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(HostPlatform)' == 'win32' ">
+ <Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\Interop\Windows\Kernel32\Interop.FormatMessage.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Internal\Cryptography\Windows\CryptoThrowHelper.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.CryptProtectData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.CryptProtectDataFlags.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.CryptUnprotectData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.DATA_BLOB.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Interop.Errors.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Interop.Libraries.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.ProtectedData\src\System\Security\Cryptography\ProtectedData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\C14NAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlAttribute.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlCDataSection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlComment.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlElement.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlEntityReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlNodeList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlProcessingInstruction.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlSignificantWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlText.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalXmlWhitespace.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CanonicalizationDispatcher.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CertUsageType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CipherReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoHelpers.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\CryptoSignedXmlRecursionException.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DSASignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataObject.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DataReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\DocPosition.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptedXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionProperty.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\EncryptionPropertyCollection.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcAncestralNamespaceContextManager.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ExcCanonicalXml.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ICanonicalizableNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\IRelDecryptor.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoClause.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoEncryptedKey.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoName.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoNode.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoRetrievalMethod.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyInfoX509Data.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\KeyReference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\MyXmlDocument.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceFrame.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\NamespaceSortOrder.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAKeyValue.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA256SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA384SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SHA512SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\RSAPKCS1SignatureDescription.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Reference.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceList.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\ReferenceTargetType.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Signature.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedInfo.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SignedXmlDebugLog.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\SymmetricKeyWrap.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\TransformChain.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\Utils.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDecryptionTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigBase64Transform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigEnvelopedSignatureTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigExcC14NWithCommentsTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXPathTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
+ <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
+ <Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
+ <Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />
+ <Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />
+ <Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
+ <Compile Include="System.Security.Permissions\PermissionHelper.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'monodroid' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'monotouch' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'monotouch_tv' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'monotouch_watch' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'net_4_x' ">
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
@@ -288,19 +658,21 @@
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
<Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />
- <Compile Include="Mono.Security.Cryptography\NativeDapiProtection.cs" />
<Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
<Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
<Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
<Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />
<Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
<Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />
<Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />
<Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />
<Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
<Compile Include="System.Security.Permissions\PermissionHelper.cs" />
</ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'orbis' "></ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'orbis' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'unreal' ">
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
@@ -378,20 +750,31 @@
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
<Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />
- <Compile Include="Mono.Security.Cryptography\NativeDapiProtection.cs" />
<Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
<Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
<Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
<Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />
<Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
<Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />
<Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />
<Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />
<Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
<Compile Include="System.Security.Permissions\PermissionHelper.cs" />
</ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'wasm' "></ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'wasm' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'winaot' ">
+ <Compile Include="..\..\..\external\corefx\src\Common\src\CoreLib\Interop\Windows\Kernel32\Interop.FormatMessage.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Internal\Cryptography\Windows\CryptoThrowHelper.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.CryptProtectData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.CryptProtectDataFlags.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.CryptUnprotectData.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Crypt32\Interop.DATA_BLOB.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Interop.Errors.cs" />
+ <Compile Include="..\..\..\external\corefx\src\Common\src\Interop\Windows\Interop.Libraries.cs" />
+ <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.ProtectedData\src\System\Security\Cryptography\ProtectedData.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AncestralNamespaceContextManager.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\AttributeSortOrder.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\C14NAncestralNamespaceContextManager.cs" />
@@ -467,8 +850,6 @@
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXPathTransform.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlDsigXsltTransform.cs" />
<Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.Xml\src\System\Security\Cryptography\Xml\XmlLicenseTransform.cs" />
- <Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />
- <Compile Include="Mono.Security.Cryptography\NativeDapiProtection.cs" />
<Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />
<Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />
<Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />
@@ -480,7 +861,9 @@
<Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />
<Compile Include="System.Security.Permissions\PermissionHelper.cs" />
</ItemGroup>
- <ItemGroup Condition=" '$(Platform)' == 'xammac' "></ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'xammac' ">
+ <Compile Include="System.Security.Cryptography\ProtectedData.cs" />
+ </ItemGroup>
<!-- @ALL_SOURCES@ -->
<ItemGroup>
<ProjectReference Include="../System/System.csproj" />
diff --git a/mcs/class/System.Security/System.Security.dll.sources b/mcs/class/System.Security/System.Security.dll.sources
index 782ac109511..101ccbdbd4f 100644
--- a/mcs/class/System.Security/System.Security.dll.sources
+++ b/mcs/class/System.Security/System.Security.dll.sources
@@ -1,7 +1,6 @@
#include common_System.Security.dll.sources
Mono.Security.Cryptography/ManagedProtection.cs
-Mono.Security.Cryptography/NativeDapiProtection.cs
System.Security.Cryptography/MemoryProtectionScope.cs
System.Security.Cryptography/ProtectedMemory.cs
System.Security.Cryptography.Pkcs/KeyAgreeKeyChoice.cs
diff --git a/mcs/class/System.Security/System.Security_xtest.dll.sources b/mcs/class/System.Security/System.Security_xtest.dll.sources
index efded416920..7b9c6c63306 100644
--- a/mcs/class/System.Security/System.Security_xtest.dll.sources
+++ b/mcs/class/System.Security/System.Security_xtest.dll.sources
@@ -15,6 +15,7 @@
# ../../../external/corefx/src/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsTests.cs
# ../../../external/corefx/src/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsWholeDocumentTests.cs
# ../../../external/corefx/src/System.Security.Cryptography.Pkcs/tests/SignedCms/SignerInfoTests.cs
+#../../../external/corefx/src/System.Security.Cryptography.ProtectedData/tests/ProtectedDataTests.cs
# Dependencies
../../../external/corefx/src/CoreFx.Private.TestUtilities/src/System/AssertExtensions.cs
diff --git a/mcs/class/System.Security/Test/System.Security.Cryptography/ProtectedDataTest.cs b/mcs/class/System.Security/Test/System.Security.Cryptography/ProtectedDataTest.cs
index b97c23ef69c..61f57bdd886 100644
--- a/mcs/class/System.Security/Test/System.Security.Cryptography/ProtectedDataTest.cs
+++ b/mcs/class/System.Security/Test/System.Security.Cryptography/ProtectedDataTest.cs
@@ -117,22 +117,6 @@ namespace MonoTests.System.Security.Cryptography {
}
[Test]
- [ExpectedException (typeof (ArgumentException))]
- [Category ("NotDotNet")]
- public void Protect_InvalidDataProtectionScope ()
- {
- try {
- byte[] data = new byte[16];
- ProtectedData.Protect (data, notMuchEntropy, (DataProtectionScope) Int32.MinValue);
- // MS doesn't throw an ArgumentException but returning from
- // this method will throw an UnhandledException in NUnit
- }
- catch (PlatformNotSupportedException) {
- Assert.Ignore ("Only supported under Windows 2000 and later");
- }
- }
-
- [Test]
[ExpectedException (typeof (ArgumentNullException))]
public void ProtectNull ()
{
@@ -148,7 +132,6 @@ namespace MonoTests.System.Security.Cryptography {
}
[Test]
- [ExpectedException (typeof (CryptographicException))]
public void UnprotectNotProtectedData ()
{
try {
@@ -158,23 +141,9 @@ namespace MonoTests.System.Security.Cryptography {
catch (PlatformNotSupportedException) {
Assert.Ignore ("Only supported under Windows 2000 and later");
}
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- [Category ("NotDotNet")]
- public void Unprotect_InvalidDataProtectionScope ()
- {
- try {
- byte[] data = new byte[16];
- byte[] encdata = ProtectedData.Protect (data, notMuchEntropy, DataProtectionScope.CurrentUser);
- ProtectedData.Unprotect (encdata, notMuchEntropy, (DataProtectionScope) Int32.MinValue);
- // MS doesn't throw an ArgumentException but returning from
- // this method will throw an UnhandledException in NUnit
- }
- catch (PlatformNotSupportedException) {
- Assert.Ignore ("Only supported under Windows 2000 and later");
- }
+ catch (CryptographicException) {
+ Assert.Pass ();
+ }
}
[Test]
@@ -184,5 +153,4 @@ namespace MonoTests.System.Security.Cryptography {
ProtectedData.Unprotect (null, notMuchEntropy, DataProtectionScope.CurrentUser);
}
}
-}
-
+} \ No newline at end of file
diff --git a/mcs/class/System.Security/corefx/SR.cs b/mcs/class/System.Security/corefx/SR.cs
index 40bfbf58281..c004dcbb3cc 100644
--- a/mcs/class/System.Security/corefx/SR.cs
+++ b/mcs/class/System.Security/corefx/SR.cs
@@ -165,4 +165,6 @@ partial class SR
public const string Cryptography_Invalid_IA5String = "The string contains a character not in the 7 bit ASCII character set.";
public const string Cryptography_UnknownHashAlgorithm = "'{0}' is not a known hash algorithm.";
public const string Cryptography_WriteEncodedValue_OneValueAtATime = "The input to WriteEncodedValue must represent a single encoded value with no trailing data.";
+ public const string Cryptography_DpApi_ProfileMayNotBeLoaded = "The data protection operation was unsuccessful. This may have been caused by not having the user profile loaded for the current thread's user context, which may be the case when the thread is impersonating.";
+ public const string PlatformNotSupported_CryptographyProtectedData = "Windows Data Protection API (DPAPI) is not supported on this platform.";
}
diff --git a/mcs/class/System.Security/win32_System.Security.dll.exclude.sources b/mcs/class/System.Security/win32_System.Security.dll.exclude.sources
new file mode 100644
index 00000000000..60679f51608
--- /dev/null
+++ b/mcs/class/System.Security/win32_System.Security.dll.exclude.sources
@@ -0,0 +1,2 @@
+System.Security.Cryptography/ProtectedData.cs
+Mono.Security.Cryptography/ManagedProtection.cs
diff --git a/mcs/class/System.Security/win32_System.Security.dll.sources b/mcs/class/System.Security/win32_System.Security.dll.sources
new file mode 100644
index 00000000000..f47ef6de71b
--- /dev/null
+++ b/mcs/class/System.Security/win32_System.Security.dll.sources
@@ -0,0 +1,11 @@
+#include System.Security.dll.sources
+
+../../../external/corefx/src/System.Security.Cryptography.ProtectedData/src/System/Security/Cryptography/ProtectedData.cs
+../../../external/corefx/src/Common/src/Interop/Windows/Crypt32/Interop.DATA_BLOB.cs
+../../../external/corefx/src/Common/src/Interop/Windows/Crypt32/Interop.CryptProtectDataFlags.cs
+../../../external/corefx/src/Common/src/Interop/Windows/Crypt32/Interop.CryptProtectData.cs
+../../../external/corefx/src/Common/src/Interop/Windows/Crypt32/Interop.CryptUnprotectData.cs
+../../../external/corefx/src/Common/src/Interop/Windows/Interop.Libraries.cs
+../../../external/corefx/src/Common/src/Internal/Cryptography/Windows/CryptoThrowHelper.cs
+../../../external/corefx/src/Common/src/Interop/Windows/Interop.Errors.cs
+../../../external/corefx/src/Common/src/CoreLib/Interop/Windows/Kernel32/Interop.FormatMessage.cs \ No newline at end of file
diff --git a/mcs/class/System.Security/winaot_System.Security.dll.exclude.sources b/mcs/class/System.Security/winaot_System.Security.dll.exclude.sources
new file mode 100644
index 00000000000..750d4469a25
--- /dev/null
+++ b/mcs/class/System.Security/winaot_System.Security.dll.exclude.sources
@@ -0,0 +1 @@
+#include win32_System.Security.dll.exclude.sources \ No newline at end of file
diff --git a/mcs/class/System.Security/winaot_System.Security.dll.sources b/mcs/class/System.Security/winaot_System.Security.dll.sources
new file mode 100644
index 00000000000..dd7ad283a8e
--- /dev/null
+++ b/mcs/class/System.Security/winaot_System.Security.dll.sources
@@ -0,0 +1 @@
+#include win32_System.Security.dll.sources