diff --git a/ModernKeePass.sln b/ModernKeePass.sln
index 02ffe1d..4c7e596 100644
--- a/ModernKeePass.sln
+++ b/ModernKeePass.sln
@@ -5,7 +5,7 @@ VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePass", "ModernKeePass\ModernKeePass.csproj", "{A0CFC681-769B-405A-8482-0CDEE595A91F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePassLib", "ModernKeePassLib\ModernKeePassLib.csproj", "{A207789D-9020-401B-9D0A-D0D2CFF721BD}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePassLibPCL", "ModernKeePassLib\ModernKeePassLibPCL.csproj", "{2E710089-9559-4967-846C-E763DD1F3ACB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -43,22 +43,22 @@ Global
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|x86.ActiveCfg = Release|x86
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|x86.Build.0 = Release|x86
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|x86.Deploy.0 = Release|x86
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|ARM.ActiveCfg = Debug|ARM
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|ARM.Build.0 = Debug|ARM
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|x64.ActiveCfg = Debug|x64
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|x64.Build.0 = Debug|x64
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|x86.ActiveCfg = Debug|x86
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Debug|x86.Build.0 = Debug|x86
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|Any CPU.Build.0 = Release|Any CPU
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|ARM.ActiveCfg = Release|ARM
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|ARM.Build.0 = Release|ARM
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|x64.ActiveCfg = Release|x64
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|x64.Build.0 = Release|x64
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|x86.ActiveCfg = Release|x86
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}.Release|x86.Build.0 = Release|x86
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|ARM.Build.0 = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|x64.Build.0 = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Debug|x86.Build.0 = Debug|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|ARM.ActiveCfg = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|ARM.Build.0 = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x64.ActiveCfg = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x64.Build.0 = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x86.ActiveCfg = Release|Any CPU
+ {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/ModernKeePass/Common/DatabaseHelper.cs b/ModernKeePass/Common/DatabaseHelper.cs
index 4fc8acb..d0e2ed5 100644
--- a/ModernKeePass/Common/DatabaseHelper.cs
+++ b/ModernKeePass/Common/DatabaseHelper.cs
@@ -2,10 +2,10 @@
using Windows.Storage;
using System.Threading.Tasks;
using ModernKeePass.ViewModels;
-using ModernKeePassLib;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Keys;
-using ModernKeePassLib.Serialization;
+using ModernKeePassLibPCL;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Keys;
+using ModernKeePassLibPCL.Serialization;
namespace ModernKeePass.Common
{
diff --git a/ModernKeePass/ModernKeePass.csproj b/ModernKeePass/ModernKeePass.csproj
index f6bad39..f9d9388 100644
--- a/ModernKeePass/ModernKeePass.csproj
+++ b/ModernKeePass/ModernKeePass.csproj
@@ -159,14 +159,50 @@
-
- ..\packages\ModernKeePassLib.2.36.0.27373\lib\netstandard1.2\ModernKeePassLib.dll
+
+ ..\packages\ModernKeePassLibPCL.2.28.1.32947\lib\portable46-net451+win81+wpa81\ModernKeePassLibPCL.dll
+ True
+
+
+ ..\packages\PCLCrypto.2.0.147\lib\portable-win81+wpa81\PCLCrypto.dll
+ True
+
+
+ ..\packages\PCLStorage.1.0.2\lib\portable-win8+wpa81\PCLStorage.dll
+ True
+
+
+ ..\packages\PCLStorage.1.0.2\lib\portable-win8+wpa81\PCLStorage.Abstractions.dll
+ True
+
+
+ ..\packages\PInvoke.BCrypt.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.BCrypt.dll
+ True
+
+
+ ..\packages\PInvoke.Kernel32.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.Kernel32.dll
+ True
+
+
+ ..\packages\PInvoke.NCrypt.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.NCrypt.dll
+ True
+
+
+ ..\packages\PInvoke.Windows.Core.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.Windows.Core.dll
+ True
+
+
+ ..\packages\Splat.2.0.0\lib\Portable-Win81+Wpa81\Splat.dll
True
..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\win8\System.Runtime.InteropServices.RuntimeInformation.dll
True
+
+ ..\packages\Validation.2.4.15\lib\portable-net45+win8+wp8+wpa81\Validation.dll
+ True
+
diff --git a/ModernKeePass/ViewModels/EntryVm.cs b/ModernKeePass/ViewModels/EntryVm.cs
index e675479..e1ed8d5 100644
--- a/ModernKeePass/ViewModels/EntryVm.cs
+++ b/ModernKeePass/ViewModels/EntryVm.cs
@@ -1,5 +1,5 @@
using System.ComponentModel;
-using ModernKeePassLib;
+using ModernKeePassLibPCL;
namespace ModernKeePass.ViewModels
{
diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs
index a6ff95a..aba6fb3 100644
--- a/ModernKeePass/ViewModels/GroupVm.cs
+++ b/ModernKeePass/ViewModels/GroupVm.cs
@@ -1,7 +1,7 @@
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
-using ModernKeePassLib;
+using ModernKeePassLibPCL;
namespace ModernKeePass.ViewModels
{
diff --git a/ModernKeePass/packages.config b/ModernKeePass/packages.config
index 6f169b6..a7b2a68 100644
--- a/ModernKeePass/packages.config
+++ b/ModernKeePass/packages.config
@@ -4,11 +4,19 @@
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePassLib/.gitignore b/ModernKeePassLib/.gitignore
deleted file mode 100644
index 246f7e8..0000000
--- a/ModernKeePassLib/.gitignore
+++ /dev/null
@@ -1,36 +0,0 @@
-################################################################################
-# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
-################################################################################
-
-#ignore thumbnails created by windows
-Thumbs.db
-#Ignore files build by Visual Studio
-*.obj
-*.exe
-*.pdb
-*.user
-*.aps
-*.pch
-*.vspscc
-*_i.c
-*_p.c
-*.ncb
-*.suo
-*.tlb
-*.tlh
-*.bak
-*.cache
-*.ilk
-*.log
-[Bb]in
-[Dd]ebug*/
-*.lib
-*.sbr
-obj/
-[Rr]elease*/
-_ReSharper*/
-[Tt]est[Rr]esult*
-Translation/TrlUtil.vshost.exe.manifest
-*.nupkg
-.vs/
-/UpgradeLog.htm
diff --git a/ModernKeePassLib/Collections/AutoTypeConfig.cs b/ModernKeePassLib/Collections/AutoTypeConfig.cs
index c6b2396..8670811 100644
--- a/ModernKeePassLib/Collections/AutoTypeConfig.cs
+++ b/ModernKeePassLib/Collections/AutoTypeConfig.cs
@@ -21,9 +21,9 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
+using ModernKeePassLibPCL.Interfaces;
-namespace ModernKeePassLib.Collections
+namespace ModernKeePassLibPCL.Collections
{
[Flags]
public enum AutoTypeObfuscationOptions
diff --git a/ModernKeePassLib/Collections/ProtectedBinaryDictionary.cs b/ModernKeePassLib/Collections/ProtectedBinaryDictionary.cs
index 5dd132c..afd9457 100644
--- a/ModernKeePassLib/Collections/ProtectedBinaryDictionary.cs
+++ b/ModernKeePassLib/Collections/ProtectedBinaryDictionary.cs
@@ -23,15 +23,15 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
#if KeePassLibSD
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Collections
+namespace ModernKeePassLibPCL.Collections
{
///
/// A list of ProtectedBinary objects (dictionary).
diff --git a/ModernKeePassLib/Collections/ProtectedStringDictionary.cs b/ModernKeePassLib/Collections/ProtectedStringDictionary.cs
index 00c418b..2eea87c 100644
--- a/ModernKeePassLib/Collections/ProtectedStringDictionary.cs
+++ b/ModernKeePassLib/Collections/ProtectedStringDictionary.cs
@@ -23,15 +23,15 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
#if KeePassLibSD
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Collections
+namespace ModernKeePassLibPCL.Collections
{
///
/// A list of ProtectedString objects (dictionary).
diff --git a/ModernKeePassLib/Collections/PwObjectList.cs b/ModernKeePassLib/Collections/PwObjectList.cs
index 7820aa3..da3ebfd 100644
--- a/ModernKeePassLib/Collections/PwObjectList.cs
+++ b/ModernKeePassLib/Collections/PwObjectList.cs
@@ -22,9 +22,9 @@ using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
+using ModernKeePassLibPCL.Interfaces;
-namespace ModernKeePassLib.Collections
+namespace ModernKeePassLibPCL.Collections
{
///
/// List of objects that implement IDeepCloneable,
diff --git a/ModernKeePassLib/Collections/PwObjectPool.cs b/ModernKeePassLib/Collections/PwObjectPool.cs
index 5bad39e..89de624 100644
--- a/ModernKeePassLib/Collections/PwObjectPool.cs
+++ b/ModernKeePassLib/Collections/PwObjectPool.cs
@@ -22,14 +22,14 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Delegates;
-using ModernKeePassLib.Interfaces;
+using ModernKeePassLibPCL.Delegates;
+using ModernKeePassLibPCL.Interfaces;
#if KeePassLibSD
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Collections
+namespace ModernKeePassLibPCL.Collections
{
public sealed class PwObjectPool
{
diff --git a/ModernKeePassLib/Collections/StringDictionaryEx.cs b/ModernKeePassLib/Collections/StringDictionaryEx.cs
index b6f8232..585612f 100644
--- a/ModernKeePassLib/Collections/StringDictionaryEx.cs
+++ b/ModernKeePassLib/Collections/StringDictionaryEx.cs
@@ -23,13 +23,13 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
+using ModernKeePassLibPCL.Interfaces;
#if KeePassLibSD
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Collections
+namespace ModernKeePassLibPCL.Collections
{
public sealed class StringDictionaryEx : IDeepCloneable,
IEnumerable>
diff --git a/ModernKeePassLib/Cryptography/Cipher/CipherPool.cs b/ModernKeePassLib/Cryptography/Cipher/CipherPool.cs
index 9b76314..8fcc533 100644
--- a/ModernKeePassLib/Cryptography/Cipher/CipherPool.cs
+++ b/ModernKeePassLib/Cryptography/Cipher/CipherPool.cs
@@ -24,7 +24,7 @@ using System.IO;
using System.Diagnostics;
using System.Security;
-namespace ModernKeePassLib.Cryptography.Cipher
+namespace ModernKeePassLibPCL.Cryptography.Cipher
{
///
/// Pool of encryption/decryption algorithms (ciphers).
diff --git a/ModernKeePassLib/Cryptography/Cipher/ICipherEngine.cs b/ModernKeePassLib/Cryptography/Cipher/ICipherEngine.cs
index d529c0b..a9f5736 100644
--- a/ModernKeePassLib/Cryptography/Cipher/ICipherEngine.cs
+++ b/ModernKeePassLib/Cryptography/Cipher/ICipherEngine.cs
@@ -20,7 +20,7 @@
using System;
using System.IO;
-namespace ModernKeePassLib.Cryptography.Cipher
+namespace ModernKeePassLibPCL.Cryptography.Cipher
{
///
/// Interface of an encryption/decryption class.
diff --git a/ModernKeePassLib/Cryptography/Cipher/Salsa20Cipher.cs b/ModernKeePassLib/Cryptography/Cipher/Salsa20Cipher.cs
index c841189..a738614 100644
--- a/ModernKeePassLib/Cryptography/Cipher/Salsa20Cipher.cs
+++ b/ModernKeePassLib/Cryptography/Cipher/Salsa20Cipher.cs
@@ -22,9 +22,9 @@
using System;
using System.Diagnostics;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Cryptography.Cipher
+namespace ModernKeePassLibPCL.Cryptography.Cipher
{
public sealed class Salsa20Cipher : IDisposable
{
diff --git a/ModernKeePassLib/Cryptography/Cipher/StandardAesEngine.cs b/ModernKeePassLib/Cryptography/Cipher/StandardAesEngine.cs
index 6fe6984..39fac3b 100644
--- a/ModernKeePassLib/Cryptography/Cipher/StandardAesEngine.cs
+++ b/ModernKeePassLib/Cryptography/Cipher/StandardAesEngine.cs
@@ -23,10 +23,9 @@ using System.Text;
using System.IO;
using System.Security;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-#if PCL
-using Windows.Security.Cryptography;
+
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
#if !KeePassRT
@@ -42,16 +41,16 @@ using Org.BouncyCastle.Crypto.Parameters;
#endif
-using ModernKeePassLib.Resources;
+using ModernKeePassLibPCL.Resources;
-namespace ModernKeePassLib.Cryptography.Cipher
+namespace ModernKeePassLibPCL.Cryptography.Cipher
{
///
/// Standard AES cipher implementation.
///
public sealed class StandardAesEngine : ICipherEngine
{
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
private const CipherMode m_rCipherMode = CipherMode.CBC;
private const PaddingMode m_rCipherPadding = PaddingMode.PKCS7;
#endif
@@ -114,28 +113,31 @@ namespace ModernKeePassLib.Cryptography.Cipher
}
}
- private static Stream CreateStream(Stream s, bool bEncrypt, byte[] pbKey, byte[] pbIV)
- {
- ValidateArguments(s, bEncrypt, pbKey, pbIV);
-#if PCL
- var provider = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesCbcPkcs7);
- var key = provider.CreateSymmetricKey(CryptographicBuffer.GenerateRandom(32));
- using (var ms = new MemoryStream())
- {
- s.CopyTo(ms);
- if (bEncrypt)
- {
- return CryptographicEngine.Encrypt(key, ms.GetWindowsRuntimeBuffer(), CryptographicBuffer.GenerateRandom(16)).AsStream();
- }
- /*var encryptor = CryptographicEngine.CreateEncryptor(
+ private static Stream CreateStream(Stream s, bool bEncrypt, byte[] pbKey, byte[] pbIV)
+ {
+ StandardAesEngine.ValidateArguments(s, bEncrypt, pbKey, pbIV);
+
+ byte[] pbLocalIV = new byte[16];
+ Array.Copy(pbIV, pbLocalIV, 16);
+
+ byte[] pbLocalKey = new byte[32];
+ Array.Copy(pbKey, pbLocalKey, 32);
+
+#if ModernKeePassLibPCL
+ var provider = WinRTCrypto.SymmetricKeyAlgorithmProvider.
+ OpenAlgorithm(SymmetricAlgorithm.AesCbcPkcs7);
+ var key = provider.CreateSymmetricKey(pbLocalKey);
+ if (bEncrypt)
+ {
+ var encryptor = WinRTCrypto.CryptographicEngine.CreateEncryptor(
key, pbLocalIV);
- return new CryptoStream(s, encryptor, CryptoStreamMode.Write);*/
-
- return CryptographicEngine.Decrypt(key, ms.GetWindowsRuntimeBuffer(), CryptographicBuffer.GenerateRandom(16)).AsStream();
- /*var decryptor = CryptographicEngine.CreateDecryptor(
- key, pbLocalIV);
- return new CryptoStream(s, decryptor, CryptoStreamMode.Read);*/
- }
+ return new CryptoStream(s, encryptor, CryptoStreamMode.Write);
+ } else
+ {
+ var decryptor = WinRTCrypto.CryptographicEngine.CreateDecryptor(
+ key, pbLocalIV);
+ return new CryptoStream(s, decryptor, CryptoStreamMode.Read);
+ }
#else
#if !KeePassRT
diff --git a/ModernKeePassLib/Cryptography/CryptoRandom.cs b/ModernKeePassLib/Cryptography/CryptoRandom.cs
index 7289280..12365f1 100644
--- a/ModernKeePassLib/Cryptography/CryptoRandom.cs
+++ b/ModernKeePassLib/Cryptography/CryptoRandom.cs
@@ -19,18 +19,18 @@
using System;
using System.Security;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.IO;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-using ModernKeePassLib.Utility;
-namespace ModernKeePassLib.Cryptography
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL.Cryptography
{
///
/// Cryptographically strong random number generator. The returned values
@@ -41,8 +41,8 @@ namespace ModernKeePassLib.Cryptography
{
private byte[] m_pbEntropyPool = new byte[64];
private uint m_uCounter;
-#if PCL
- //private IRandomNumberGenerator m_rng = NetFxCrypto.RandomNumberGenerator;
+#if ModernKeePassLibPCL
+ private IRandomNumberGenerator m_rng = NetFxCrypto.RandomNumberGenerator;
#else
private RNGCryptoServiceProvider m_rng = new RNGCryptoServiceProvider();
#endif
@@ -106,9 +106,9 @@ namespace ModernKeePassLib.Cryptography
byte[] pbNewData = pbEntropy;
if(pbEntropy.Length >= 64)
{
-#if PCL
- var shaNew = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha512);
- pbNewData = shaNew.HashData(pbEntropy.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var shaNew = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha512);
+ pbNewData = shaNew.HashData(pbEntropy);
#else
#if !KeePassLibSD
@@ -128,9 +128,9 @@ namespace ModernKeePassLib.Cryptography
ms.Write(pbNewData, 0, pbNewData.Length);
byte[] pbFinal = ms.ToArray();
-#if PCL
- var shaPool = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha512);
- m_pbEntropyPool = shaPool.HashData(pbFinal.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var shaPool = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha512);
+ m_pbEntropyPool = shaPool.HashData(pbFinal);
#else
#if !KeePassLibSD
@@ -157,7 +157,7 @@ namespace ModernKeePassLib.Cryptography
pb = TimeUtil.PackTime(DateTime.Now);
ms.Write(pb, 0, pb.Length);
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
// In try-catch for systems without GUI;
// https://sourceforge.net/p/keepass/discussion/329221/thread/20335b73/
try
@@ -174,7 +174,7 @@ namespace ModernKeePassLib.Cryptography
pb = MemUtil.UInt32ToBytes((uint)rWeak.Next());
ms.Write(pb, 0, pb.Length);
-#if PCL
+#if ModernKeePassLibPCL
pb = MemUtil.UInt32ToBytes((uint)Environment.ProcessorCount);
ms.Write(pb, 0, pb.Length);
@@ -185,7 +185,7 @@ namespace ModernKeePassLib.Cryptography
ms.Write(pb, 0, pb.Length);
#endif
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
Process p = null;
try
{
@@ -249,10 +249,9 @@ namespace ModernKeePassLib.Cryptography
private byte[] GetCspData()
{
- //byte[] pbCspRandom = new byte[32];
- var pbCspRandom = CryptographicBuffer.GenerateRandom(32);
- //m_rng.GetBytes(pbCspRandom);
- return pbCspRandom.ToArray();
+ byte[] pbCspRandom = new byte[32];
+ m_rng.GetBytes(pbCspRandom);
+ return pbCspRandom;
}
private byte[] GenerateRandom256()
@@ -280,9 +279,9 @@ namespace ModernKeePassLib.Cryptography
m_uGeneratedBytesCount += 32;
}
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- return sha256.HashData(pbFinal.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ return sha256.HashData(pbFinal);
#else
SHA256Managed sha256 = new SHA256Managed();
return sha256.ComputeHash(pbFinal);
@@ -310,7 +309,7 @@ namespace ModernKeePassLib.Cryptography
long lCopy = (long)((uRequestedBytes < 32) ? uRequestedBytes : 32);
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
Array.Copy(pbRandom256, 0, pbRes, lPos, lCopy);
#else
Array.Copy(pbRandom256, 0, pbRes, (int)lPos, (int)lCopy);
diff --git a/ModernKeePassLib/Cryptography/CryptoRandomStream.cs b/ModernKeePassLib/Cryptography/CryptoRandomStream.cs
index fcc7c59..befc790 100644
--- a/ModernKeePassLib/Cryptography/CryptoRandomStream.cs
+++ b/ModernKeePassLib/Cryptography/CryptoRandomStream.cs
@@ -19,17 +19,15 @@
using System;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
-using ModernKeePassLib.Cryptography.Cipher;
+using ModernKeePassLibPCL.Cryptography.Cipher;
-namespace ModernKeePassLib.Cryptography
+namespace ModernKeePassLibPCL.Cryptography
{
///
/// Algorithms supported by CryptoRandomStream.
@@ -117,9 +115,9 @@ namespace ModernKeePassLib.Cryptography
}
else if(genAlgorithm == CrsAlgorithm.Salsa20)
{
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var pbKey32 = sha256.HashData(pbKey.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var pbKey32 = sha256.HashData(pbKey);
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] pbKey32 = sha256.ComputeHash(pbKey);
diff --git a/ModernKeePassLib/Cryptography/HashingStreamEx.cs b/ModernKeePassLib/Cryptography/HashingStreamEx.cs
index 2ea4fb2..2dd1f4f 100644
--- a/ModernKeePassLib/Cryptography/HashingStreamEx.cs
+++ b/ModernKeePassLib/Cryptography/HashingStreamEx.cs
@@ -21,25 +21,23 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-using ModernKeePassLib.Utility;
-using CryptographicHash = Windows.Security.Cryptography.Core.CryptographicHash;
-namespace ModernKeePassLib.Cryptography
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL.Cryptography
{
public sealed class HashingStreamEx : Stream
{
private Stream m_sBaseStream;
private bool m_bWriting;
-#if PCL
- private CryptographicHash m_hash;
+#if ModernKeePassLibPCL
+ private ICryptoTransform m_hash;
#else
private HashAlgorithm m_hash;
#endif
@@ -77,8 +75,8 @@ namespace ModernKeePassLib.Cryptography
set { throw new NotSupportedException(); }
}
-#if PCL
- public HashingStreamEx(Stream sBaseStream, bool bWriting, string hashAlgorithm)
+#if ModernKeePassLibPCL
+ public HashingStreamEx(Stream sBaseStream, bool bWriting, HashAlgorithm? hashAlgorithm)
#else
public HashingStreamEx(Stream sBaseStream, bool bWriting, HashAlgorithm hashAlgorithm)
#endif
@@ -88,8 +86,8 @@ namespace ModernKeePassLib.Cryptography
m_sBaseStream = sBaseStream;
m_bWriting = bWriting;
-#if PCL
- m_hash = HashAlgorithmProvider.OpenAlgorithm(hashAlgorithm ?? HashAlgorithmNames.Sha256).CreateHash();
+#if ModernKeePassLibPCL
+ m_hash = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(hashAlgorithm ?? HashAlgorithm.Sha256).CreateHash();
#elif !KeePassLibSD
m_hash = (hashAlgorithm ?? new SHA256Managed());
#else // KeePassLibSD
@@ -103,14 +101,14 @@ namespace ModernKeePassLib.Cryptography
if(m_hash == null) { Debug.Assert(false); return; }
// Validate hash algorithm
- /*if((!m_hash.CanReuseTransform) || (!m_hash.CanTransformMultipleBlocks) ||
+ if((!m_hash.CanReuseTransform) || (!m_hash.CanTransformMultipleBlocks) ||
(m_hash.InputBlockSize != 1) || (m_hash.OutputBlockSize != 1))
{
#if false && DEBUG
MessageService.ShowWarning("Broken HashAlgorithm object in HashingStreamEx.");
#endif
m_hash = null;
- }*/
+ }
}
public override void Flush()
@@ -118,7 +116,7 @@ namespace ModernKeePassLib.Cryptography
m_sBaseStream.Flush();
}
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
protected override void Dispose(bool disposing)
{
if(!disposing) return;
@@ -130,9 +128,9 @@ namespace ModernKeePassLib.Cryptography
{
try
{
- //m_hash.TransformFinalBlock(new byte[0], 0, 0);
-#if PCL
- m_pbFinalHash = m_hash.GetValueAndReset().ToArray();
+ m_hash.TransformFinalBlock(new byte[0], 0, 0);
+#if ModernKeePassLibPCL
+ m_pbFinalHash = (m_hash as CryptographicHash).GetValueAndReset ();
#else
m_pbFinalHash = m_hash.Hash;
#endif
@@ -173,8 +171,8 @@ namespace ModernKeePassLib.Cryptography
Array.Copy(pbBuffer, pbOrg, pbBuffer.Length);
#endif
- /*if((m_hash != null) && (nRead > 0))
- m_hash.TransformBlock(pbBuffer, nOffset, nRead, pbBuffer, nOffset);*/
+ if((m_hash != null) && (nRead > 0))
+ m_hash.TransformBlock(pbBuffer, nOffset, nRead, pbBuffer, nOffset);
#if DEBUG
Debug.Assert(MemUtil.ArraysEqual(pbBuffer, pbOrg));
@@ -192,8 +190,8 @@ namespace ModernKeePassLib.Cryptography
Array.Copy(pbBuffer, pbOrg, pbBuffer.Length);
#endif
- /*if((m_hash != null) && (nCount > 0))
- m_hash.TransformBlock(pbBuffer, nOffset, nCount, pbBuffer, nOffset);*/
+ if((m_hash != null) && (nCount > 0))
+ m_hash.TransformBlock(pbBuffer, nOffset, nCount, pbBuffer, nOffset);
#if DEBUG
Debug.Assert(MemUtil.ArraysEqual(pbBuffer, pbOrg));
diff --git a/ModernKeePassLib/Cryptography/HmacOtp.cs b/ModernKeePassLib/Cryptography/HmacOtp.cs
index 9b1d593..43e4b76 100644
--- a/ModernKeePassLib/Cryptography/HmacOtp.cs
+++ b/ModernKeePassLib/Cryptography/HmacOtp.cs
@@ -18,17 +18,19 @@
*/
using System;
-#if PCL
-using Windows.Security.Cryptography.Core;
+using System.Collections.Generic;
+using System.Text;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.Globalization;
-using System.Runtime.InteropServices.WindowsRuntime;
-using ModernKeePassLib.Utility;
+
+using ModernKeePassLibPCL.Utility;
#if (!KeePassLibSD && !KeePassRT)
-namespace ModernKeePassLib.Cryptography
+namespace ModernKeePassLibPCL.Cryptography
{
///
/// Generate HMAC-based one-time passwords as specified in RFC 4226.
@@ -44,10 +46,10 @@ namespace ModernKeePassLib.Cryptography
byte[] pbText = MemUtil.UInt64ToBytes(uFactor);
Array.Reverse(pbText); // Big-Endian
-#if PCL
- var hsha1 = MacAlgorithmProvider.OpenAlgorithm(MacAlgorithmNames.HmacSha1).CreateHash(pbSecret.AsBuffer());
- hsha1.Append(pbText.AsBuffer());
- var pbHash = hsha1.GetValueAndReset().ToArray();
+#if ModernKeePassLibPCL
+ var hsha1 = WinRTCrypto.MacAlgorithmProvider.OpenAlgorithm(MacAlgorithm.HmacSha1).CreateHash(pbSecret);
+ hsha1.Append(pbText);
+ var pbHash = hsha1.GetValueAndReset();
#else
HMACSHA1 hsha1 = new HMACSHA1(pbSecret);
byte[] pbHash = hsha1.ComputeHash(pbText);
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/CharSetBasedGenerator.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/CharSetBasedGenerator.cs
index 228d513..10772d7 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/CharSetBasedGenerator.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/CharSetBasedGenerator.cs
@@ -22,10 +22,10 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
internal static class CharSetBasedGenerator
{
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGenerator.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGenerator.cs
index c1df173..fdd058f 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGenerator.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGenerator.cs
@@ -21,10 +21,10 @@ using System;
using System.Collections.Generic;
using System.Text;
-using ModernKeePassLib;
-using ModernKeePassLib.Security;
+using ModernKeePassLibPCL;
+using ModernKeePassLibPCL.Security;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
public abstract class CustomPwGenerator
{
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGeneratorPool.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGeneratorPool.cs
index d3a55f7..a377533 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGeneratorPool.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/CustomPwGeneratorPool.cs
@@ -22,7 +22,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Text;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
public sealed class CustomPwGeneratorPool : IEnumerable
{
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/PatternBasedGenerator.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/PatternBasedGenerator.cs
index 4ade1e8..324642d 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/PatternBasedGenerator.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/PatternBasedGenerator.cs
@@ -22,10 +22,10 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
internal static class PatternBasedGenerator
{
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/PwCharSet.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/PwCharSet.cs
index b51e752..3545136 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/PwCharSet.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/PwCharSet.cs
@@ -22,7 +22,7 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
public sealed class PwCharSet
{
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/PwGenerator.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/PwGenerator.cs
index 01c5ea5..5c19df5 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/PwGenerator.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/PwGenerator.cs
@@ -22,9 +22,9 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Security;
+using ModernKeePassLibPCL.Security;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
public enum PwgError
{
diff --git a/ModernKeePassLib/Cryptography/PasswordGenerator/PwProfile.cs b/ModernKeePassLib/Cryptography/PasswordGenerator/PwProfile.cs
index 3ad5265..826d73b 100644
--- a/ModernKeePassLib/Cryptography/PasswordGenerator/PwProfile.cs
+++ b/ModernKeePassLib/Cryptography/PasswordGenerator/PwProfile.cs
@@ -24,11 +24,11 @@ using System.Xml.Serialization;
using System.ComponentModel;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Cryptography.PasswordGenerator
+namespace ModernKeePassLibPCL.Cryptography.PasswordGenerator
{
///
/// Type of the password generator. Different types like generators
diff --git a/ModernKeePassLib/Cryptography/PopularPasswords.cs b/ModernKeePassLib/Cryptography/PopularPasswords.cs
index e5a4521..29d0526 100644
--- a/ModernKeePassLib/Cryptography/PopularPasswords.cs
+++ b/ModernKeePassLib/Cryptography/PopularPasswords.cs
@@ -22,9 +22,9 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Cryptography
+namespace ModernKeePassLibPCL.Cryptography
{
public static class PopularPasswords
{
diff --git a/ModernKeePassLib/Cryptography/QualityEstimation.cs b/ModernKeePassLib/Cryptography/QualityEstimation.cs
index 1272d7c..a711b99 100644
--- a/ModernKeePassLib/Cryptography/QualityEstimation.cs
+++ b/ModernKeePassLib/Cryptography/QualityEstimation.cs
@@ -22,10 +22,10 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Cryptography.PasswordGenerator;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Cryptography.PasswordGenerator;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Cryptography
+namespace ModernKeePassLibPCL.Cryptography
{
///
/// A class that offers static functions to estimate the quality of
diff --git a/ModernKeePassLib/Cryptography/SelfTest.cs b/ModernKeePassLib/Cryptography/SelfTest.cs
index a251206..16bbeb0 100644
--- a/ModernKeePassLib/Cryptography/SelfTest.cs
+++ b/ModernKeePassLib/Cryptography/SelfTest.cs
@@ -20,8 +20,8 @@
using System;
using System.Collections.Generic;
using System.Security;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
@@ -29,13 +29,14 @@ using System.Text;
using System.Globalization;
using System.Diagnostics;
-using ModernKeePassLib.Cryptography.Cipher;
-using ModernKeePassLib.Keys;
-using ModernKeePassLib.Utility;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
+using ModernKeePassLibPCL.Cryptography.Cipher;
+using ModernKeePassLibPCL.Keys;
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Utility;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
-namespace ModernKeePassLib.Cryptography
+namespace ModernKeePassLibPCL.Cryptography
{
/* ///
/// Return values of the SelfTest.Perform method.
@@ -63,7 +64,7 @@ namespace ModernKeePassLib.Cryptography
TestRijndael();
TestSalsa20();
-#if !PCL
+#if !ModernKeePassLibPCL
TestNativeKeyTransform();
#endif
@@ -81,7 +82,7 @@ namespace ModernKeePassLib.Cryptography
internal static void TestFipsComplianceProblems()
{
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
try { new RijndaelManaged(); }
catch(Exception exAes)
{
@@ -98,7 +99,7 @@ namespace ModernKeePassLib.Cryptography
private static void TestRijndael()
{
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
// Test vector (official ECB test vector #356)
byte[] pbIV = new byte[16];
byte[] pbTestKey = new byte[32];
@@ -210,7 +211,7 @@ namespace ModernKeePassLib.Cryptography
}
#endif
-#if !PCL
+#if !ModernKeePassLibPCL
private static void TestNativeKeyTransform()
{
#if DEBUG
@@ -519,7 +520,7 @@ namespace ModernKeePassLib.Cryptography
if(UrlUtil.GetHost(@"s://u:p@d.tld:p/p?q#f") != "d.tld")
throw new InvalidOperationException("UrlUtil-H7");
- //if(NativeLib.IsUnix()) return;
+ if(NativeLib.IsUnix()) return;
string strBase = "\\\\HOMESERVER\\Apps\\KeePass\\KeePass.exe";
string strDoc = "\\\\HOMESERVER\\Documents\\KeePass\\NewDatabase.kdbx";
diff --git a/ModernKeePassLib/DebugAssert.cs b/ModernKeePassLib/DebugAssert.cs
deleted file mode 100644
index caaf213..0000000
--- a/ModernKeePassLib/DebugAssert.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ModernKeePassLib
-{
- public class Debug
- {
- [Conditional("DEBUG")]
- public static void Assert(bool condition, string why)
- {
- if (!condition)
- System.Diagnostics.Debugger.Break();
-
- }
-
- [Conditional("DEBUG")]
- public static void Assert(bool condition)
- {
- if (!condition)
- System.Diagnostics.Debugger.Break();
-
- }
-
- }
-
-}
diff --git a/ModernKeePassLib/Delegates/Handlers.cs b/ModernKeePassLib/Delegates/Handlers.cs
index 8a8b6f4..48b9360 100644
--- a/ModernKeePassLib/Delegates/Handlers.cs
+++ b/ModernKeePassLib/Delegates/Handlers.cs
@@ -19,7 +19,7 @@
using System;
-namespace ModernKeePassLib.Delegates
+namespace ModernKeePassLibPCL.Delegates
{
///
/// Function definition of a method that performs an action on a group.
diff --git a/ModernKeePassLib/Interfaces/IDeepCloneable.cs b/ModernKeePassLib/Interfaces/IDeepCloneable.cs
index 5a67a9c..7558646 100644
--- a/ModernKeePassLib/Interfaces/IDeepCloneable.cs
+++ b/ModernKeePassLib/Interfaces/IDeepCloneable.cs
@@ -20,7 +20,7 @@
using System;
using System.Collections.Generic;
-namespace ModernKeePassLib.Interfaces
+namespace ModernKeePassLibPCL.Interfaces
{
///
/// Interface for objects that are deeply cloneable.
diff --git a/ModernKeePassLib/Interfaces/IStatusLogger.cs b/ModernKeePassLib/Interfaces/IStatusLogger.cs
index 8fab8ee..0c25fd3 100644
--- a/ModernKeePassLib/Interfaces/IStatusLogger.cs
+++ b/ModernKeePassLib/Interfaces/IStatusLogger.cs
@@ -20,7 +20,7 @@
using System;
using System.Collections.Generic;
-namespace ModernKeePassLib.Interfaces
+namespace ModernKeePassLibPCL.Interfaces
{
///
/// Status message types.
diff --git a/ModernKeePassLib/Interfaces/IStructureItem.cs b/ModernKeePassLib/Interfaces/IStructureItem.cs
index a733064..28f9233 100644
--- a/ModernKeePassLib/Interfaces/IStructureItem.cs
+++ b/ModernKeePassLib/Interfaces/IStructureItem.cs
@@ -19,7 +19,7 @@
using System;
-namespace ModernKeePassLib.Interfaces
+namespace ModernKeePassLibPCL.Interfaces
{
public interface IStructureItem : ITimeLogger // Provides LocationChanged
{
diff --git a/ModernKeePassLib/Interfaces/ITimeLogger.cs b/ModernKeePassLib/Interfaces/ITimeLogger.cs
index 4742699..664ff66 100644
--- a/ModernKeePassLib/Interfaces/ITimeLogger.cs
+++ b/ModernKeePassLib/Interfaces/ITimeLogger.cs
@@ -19,7 +19,7 @@
using System;
-namespace ModernKeePassLib.Interfaces
+namespace ModernKeePassLibPCL.Interfaces
{
///
/// Interface for objects that support various times (creation time, last
diff --git a/ModernKeePassLib/Interfaces/IUIOperations.cs b/ModernKeePassLib/Interfaces/IUIOperations.cs
index 2593676..cce4100 100644
--- a/ModernKeePassLib/Interfaces/IUIOperations.cs
+++ b/ModernKeePassLib/Interfaces/IUIOperations.cs
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using System.Text;
-namespace ModernKeePassLib.Interfaces
+namespace ModernKeePassLibPCL.Interfaces
{
public interface IUIOperations
{
diff --git a/ModernKeePassLib/Interfaces/IXmlSerializerEx.cs b/ModernKeePassLib/Interfaces/IXmlSerializerEx.cs
index 0be854f..18a3015 100644
--- a/ModernKeePassLib/Interfaces/IXmlSerializerEx.cs
+++ b/ModernKeePassLib/Interfaces/IXmlSerializerEx.cs
@@ -23,7 +23,7 @@ using System.Text;
using System.IO;
using System.Xml;
-namespace ModernKeePassLib.Interfaces
+namespace ModernKeePassLibPCL.Interfaces
{
public interface IXmlSerializerEx
{
diff --git a/ModernKeePassLib/KeePassLib.nuget.targets b/ModernKeePassLib/KeePassLib.nuget.targets
deleted file mode 100644
index 8930d73..0000000
--- a/ModernKeePassLib/KeePassLib.nuget.targets
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- $(UserProfile)\.nuget\packages\
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePassLib/ModernKeePassLib.pfx b/ModernKeePassLib/KeePassLib.pfx
similarity index 100%
rename from ModernKeePassLib/ModernKeePassLib.pfx
rename to ModernKeePassLib/KeePassLib.pfx
diff --git a/ModernKeePassLib/Keys/CompositeKey.cs b/ModernKeePassLib/Keys/CompositeKey.cs
index 20b28f0..aea486d 100644
--- a/ModernKeePassLib/Keys/CompositeKey.cs
+++ b/ModernKeePassLib/Keys/CompositeKey.cs
@@ -22,103 +22,105 @@ using System.Text;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-using Windows.Security.ExchangeActiveSyncProvisioning;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+#if KeePassRT
+using Org.BouncyCastle.Crypto.Engines;
+using Org.BouncyCastle.Crypto.Parameters;
+#endif
-namespace ModernKeePassLib.Keys
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL.Keys
{
- ///
- /// Represents a key. A key can be build up using several user key data sources
- /// like a password, a key file, the currently logged on user credentials,
- /// the current computer ID, etc.
- ///
- public sealed class CompositeKey
- {
- private List m_vUserKeys = new List();
+ ///
+ /// Represents a key. A key can be build up using several user key data sources
+ /// like a password, a key file, the currently logged on user credentials,
+ /// the current computer ID, etc.
+ ///
+ public sealed class CompositeKey
+ {
+ private List m_vUserKeys = new List();
- ///
- /// List of all user keys contained in the current composite key.
- ///
- public IEnumerable UserKeys
- {
- get { return m_vUserKeys; }
- }
+ ///
+ /// List of all user keys contained in the current composite key.
+ ///
+ public IEnumerable UserKeys
+ {
+ get { return m_vUserKeys; }
+ }
- public uint UserKeyCount
- {
- get { return (uint) m_vUserKeys.Count; }
- }
+ public uint UserKeyCount
+ {
+ get { return (uint)m_vUserKeys.Count; }
+ }
- ///
- /// Construct a new, empty key object.
- ///
- public CompositeKey()
- {
- }
+ ///
+ /// Construct a new, empty key object.
+ ///
+ public CompositeKey()
+ {
+ }
- // ///
- // /// Deconstructor, clears up the key.
- // ///
- // ~CompositeKey()
- // {
- // Clear();
- // }
+ // ///
+ // /// Deconstructor, clears up the key.
+ // ///
+ // ~CompositeKey()
+ // {
+ // Clear();
+ // }
- // ///
- // /// Clears the key. This function also erases all previously stored
- // /// user key data objects.
- // ///
- // public void Clear()
- // {
- // foreach(IUserKey pKey in m_vUserKeys)
- // pKey.Clear();
- // m_vUserKeys.Clear();
- // }
+ // ///
+ // /// Clears the key. This function also erases all previously stored
+ // /// user key data objects.
+ // ///
+ // public void Clear()
+ // {
+ // foreach(IUserKey pKey in m_vUserKeys)
+ // pKey.Clear();
+ // m_vUserKeys.Clear();
+ // }
- ///
- /// Add a user key.
- ///
- /// User key to add.
- public void AddUserKey(IUserKey pKey)
- {
- Debug.Assert(pKey != null);
- if (pKey == null) throw new ArgumentNullException("pKey");
+ ///
+ /// Add a user key.
+ ///
+ /// User key to add.
+ public void AddUserKey(IUserKey pKey)
+ {
+ Debug.Assert(pKey != null); if(pKey == null) throw new ArgumentNullException("pKey");
- m_vUserKeys.Add(pKey);
- }
+ m_vUserKeys.Add(pKey);
+ }
- ///
- /// Remove a user key.
- ///
- /// User key to remove.
- /// Returns true if the key was removed successfully.
- public bool RemoveUserKey(IUserKey pKey)
- {
- Debug.Assert(pKey != null);
- if (pKey == null) throw new ArgumentNullException("pKey");
+ ///
+ /// Remove a user key.
+ ///
+ /// User key to remove.
+ /// Returns true if the key was removed successfully.
+ public bool RemoveUserKey(IUserKey pKey)
+ {
+ Debug.Assert(pKey != null); if(pKey == null) throw new ArgumentNullException("pKey");
- Debug.Assert(m_vUserKeys.IndexOf(pKey) >= 0);
- return m_vUserKeys.Remove(pKey);
- }
+ Debug.Assert(m_vUserKeys.IndexOf(pKey) >= 0);
+ return m_vUserKeys.Remove(pKey);
+ }
-#if !PCL && !KeePassRT ///
-/// Test whether the composite key contains a specific type of
-/// user keys (password, key file, ...). If at least one user
-/// key of that type is present, the function returns true.
-///
-/// User key type.
-/// Returns true, if the composite key contains
-/// a user key of the specified type.
+#if !ModernKeePassLibPCL && !KeePassRT
+ ///
+ /// Test whether the composite key contains a specific type of
+ /// user keys (password, key file, ...). If at least one user
+ /// key of that type is present, the function returns true.
+ ///
+ /// User key type.
+ /// Returns true, if the composite key contains
+ /// a user key of the specified type.
public bool ContainsType(Type tUserKeyType)
{
Debug.Assert(tUserKeyType != null);
@@ -154,91 +156,85 @@ namespace ModernKeePassLib.Keys
}
#endif
- ///
- /// Creates the composite key from the supplied user key sources (password,
- /// key file, user account, computer ID, etc.).
- ///
- private byte[] CreateRawCompositeKey32()
- {
- ValidateUserKeys();
+ ///
+ /// Creates the composite key from the supplied user key sources (password,
+ /// key file, user account, computer ID, etc.).
+ ///
+ private byte[] CreateRawCompositeKey32()
+ {
+ ValidateUserKeys();
- // Concatenate user key data
- MemoryStream ms = new MemoryStream();
- foreach (IUserKey pKey in m_vUserKeys)
- {
- ProtectedBinary b = pKey.KeyData;
- if (b != null)
- {
- byte[] pbKeyData = b.ReadData();
- ms.Write(pbKeyData, 0, pbKeyData.Length);
- MemUtil.ZeroByteArray(pbKeyData);
- }
- }
+ // Concatenate user key data
+ MemoryStream ms = new MemoryStream();
+ foreach(IUserKey pKey in m_vUserKeys)
+ {
+ ProtectedBinary b = pKey.KeyData;
+ if(b != null)
+ {
+ byte[] pbKeyData = b.ReadData();
+ ms.Write(pbKeyData, 0, pbKeyData.Length);
+ MemUtil.ZeroByteArray(pbKeyData);
+ }
+ }
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var pbHash = sha256.HashData(ms.ToArray().AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var pbHash = sha256.HashData(ms.ToArray());
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] pbHash = sha256.ComputeHash(ms.ToArray());
#endif
- ms.Dispose();
- return pbHash;
- }
+ ms.Dispose();
+ return pbHash;
+ }
- public bool EqualsValue(CompositeKey ckOther)
- {
- if (ckOther == null) throw new ArgumentNullException("ckOther");
+ public bool EqualsValue(CompositeKey ckOther)
+ {
+ if(ckOther == null) throw new ArgumentNullException("ckOther");
- byte[] pbThis = CreateRawCompositeKey32();
- byte[] pbOther = ckOther.CreateRawCompositeKey32();
- bool bResult = MemUtil.ArraysEqual(pbThis, pbOther);
- Array.Clear(pbOther, 0, pbOther.Length);
- Array.Clear(pbThis, 0, pbThis.Length);
+ byte[] pbThis = CreateRawCompositeKey32();
+ byte[] pbOther = ckOther.CreateRawCompositeKey32();
+ bool bResult = MemUtil.ArraysEqual(pbThis, pbOther);
+ Array.Clear(pbOther, 0, pbOther.Length);
+ Array.Clear(pbThis, 0, pbThis.Length);
- return bResult;
- }
+ return bResult;
+ }
- ///
- /// Generate a 32-bit wide key out of the composite key.
- ///
- /// Seed used in the key transformation
- /// rounds. Must be a byte array containing exactly 32 bytes; must
- /// not be null.
- /// Number of key transformation rounds.
- /// Returns a protected binary object that contains the
- /// resulting 32-bit wide key.
- public ProtectedBinary GenerateKey32(byte[] pbKeySeed32, ulong uNumRounds)
- {
- Debug.Assert(pbKeySeed32 != null);
- if (pbKeySeed32 == null) throw new ArgumentNullException("pbKeySeed32");
- Debug.Assert(pbKeySeed32.Length == 32);
- if (pbKeySeed32.Length != 32) throw new ArgumentException("pbKeySeed32");
+ ///
+ /// Generate a 32-bit wide key out of the composite key.
+ ///
+ /// Seed used in the key transformation
+ /// rounds. Must be a byte array containing exactly 32 bytes; must
+ /// not be null.
+ /// Number of key transformation rounds.
+ /// Returns a protected binary object that contains the
+ /// resulting 32-bit wide key.
+ public ProtectedBinary GenerateKey32(byte[] pbKeySeed32, ulong uNumRounds)
+ {
+ Debug.Assert(pbKeySeed32 != null);
+ if(pbKeySeed32 == null) throw new ArgumentNullException("pbKeySeed32");
+ Debug.Assert(pbKeySeed32.Length == 32);
+ if(pbKeySeed32.Length != 32) throw new ArgumentException("pbKeySeed32");
- byte[] pbRaw32 = CreateRawCompositeKey32();
- if ((pbRaw32 == null) || (pbRaw32.Length != 32))
- {
- Debug.Assert(false);
- return null;
- }
+ byte[] pbRaw32 = CreateRawCompositeKey32();
+ if((pbRaw32 == null) || (pbRaw32.Length != 32))
+ { Debug.Assert(false); return null; }
- byte[] pbTrf32 = TransformKey(pbRaw32, pbKeySeed32, uNumRounds);
- if ((pbTrf32 == null) || (pbTrf32.Length != 32))
- {
- Debug.Assert(false);
- return null;
- }
+ byte[] pbTrf32 = TransformKey(pbRaw32, pbKeySeed32, uNumRounds);
+ if((pbTrf32 == null) || (pbTrf32.Length != 32))
+ { Debug.Assert(false); return null; }
- ProtectedBinary pbRet = new ProtectedBinary(true, pbTrf32);
- MemUtil.ZeroByteArray(pbTrf32);
- MemUtil.ZeroByteArray(pbRaw32);
+ ProtectedBinary pbRet = new ProtectedBinary(true, pbTrf32);
+ MemUtil.ZeroByteArray(pbTrf32);
+ MemUtil.ZeroByteArray(pbRaw32);
- return pbRet;
- }
+ return pbRet;
+ }
- private void ValidateUserKeys()
- {
-#if !PCL
+ private void ValidateUserKeys()
+ {
+#if !ModernKeePassLibPCL
int nAccounts = 0;
foreach(IUserKey uKey in m_vUserKeys)
@@ -253,51 +249,52 @@ namespace ModernKeePassLib.Keys
throw new InvalidOperationException();
}
#endif
- }
+ }
- ///
- /// Transform the current key uNumRounds times.
- ///
- /// The original key which will be transformed.
- /// This parameter won't be modified.
- /// Seed used for key transformations. Must not
- /// be null. This parameter won't be modified.
- /// Transformation count.
- /// 256-bit transformed key.
- private static byte[] TransformKey(byte[] pbOriginalKey32, byte[] pbKeySeed32,
- ulong uNumRounds)
- {
- Debug.Assert((pbOriginalKey32 != null) && (pbOriginalKey32.Length == 32));
- if (pbOriginalKey32 == null) throw new ArgumentNullException("pbOriginalKey32");
- if (pbOriginalKey32.Length != 32) throw new ArgumentException();
+ ///
+ /// Transform the current key uNumRounds times.
+ ///
+ /// The original key which will be transformed.
+ /// This parameter won't be modified.
+ /// Seed used for key transformations. Must not
+ /// be null. This parameter won't be modified.
+ /// Transformation count.
+ /// 256-bit transformed key.
+ private static byte[] TransformKey(byte[] pbOriginalKey32, byte[] pbKeySeed32,
+ ulong uNumRounds)
+ {
+ Debug.Assert((pbOriginalKey32 != null) && (pbOriginalKey32.Length == 32));
+ if(pbOriginalKey32 == null) throw new ArgumentNullException("pbOriginalKey32");
+ if(pbOriginalKey32.Length != 32) throw new ArgumentException();
- Debug.Assert((pbKeySeed32 != null) && (pbKeySeed32.Length == 32));
- if (pbKeySeed32 == null) throw new ArgumentNullException("pbKeySeed32");
- if (pbKeySeed32.Length != 32) throw new ArgumentException();
+ Debug.Assert((pbKeySeed32 != null) && (pbKeySeed32.Length == 32));
+ if(pbKeySeed32 == null) throw new ArgumentNullException("pbKeySeed32");
+ if(pbKeySeed32.Length != 32) throw new ArgumentException();
- byte[] pbNewKey = new byte[32];
- Array.Copy(pbOriginalKey32, pbNewKey, pbNewKey.Length);
+ byte[] pbNewKey = new byte[32];
+ Array.Copy(pbOriginalKey32, pbNewKey, pbNewKey.Length);
-#if !PCL // Try to use the native library first
+#if !ModernKeePassLibPCL
+ // Try to use the native library first
if(NativeLib.TransformKey256(pbNewKey, pbKeySeed32, uNumRounds))
return (new SHA256Managed()).ComputeHash(pbNewKey);
#endif
- if (TransformKeyManaged(pbNewKey, pbKeySeed32, uNumRounds) == false)
- return null;
+ if(TransformKeyManaged(pbNewKey, pbKeySeed32, uNumRounds) == false)
+ return null;
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- return sha256.HashData(pbNewKey.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ return sha256.HashData(pbNewKey);
#else
SHA256Managed sha256 = new SHA256Managed();
return sha256.ComputeHash(pbNewKey);
#endif
- }
+ }
- public static bool TransformKeyManaged(byte[] pbNewKey32, byte[] pbKeySeed32,
- ulong uNumRounds)
- {
+ public static bool TransformKeyManaged(byte[] pbNewKey32, byte[] pbKeySeed32,
+ ulong uNumRounds)
+ {
#if KeePassRT
KeyParameter kp = new KeyParameter(pbKeySeed32);
AesEngine aes = new AesEngine();
@@ -308,10 +305,11 @@ namespace ModernKeePassLib.Keys
aes.ProcessBlock(pbNewKey32, 0, pbNewKey32, 0);
aes.ProcessBlock(pbNewKey32, 16, pbNewKey32, 16);
}
-#elif PCL
- var aes = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcb);
- var key = aes.CreateSymmetricKey(pbKeySeed32.AsBuffer());
- //var iCrypt = CryptographicEngine.CreateEncryptor(key);
+#else
+#if ModernKeePassLibPCL
+ var aes = WinRTCrypto.SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithm.AesEcb);
+ var key = aes.CreateSymmetricKey(pbKeySeed32);
+ var iCrypt = WinRTCrypto.CryptographicEngine.CreateEncryptor(key);
#else
byte[] pbIV = new byte[16];
Array.Clear(pbIV, 0, pbIV.Length);
@@ -330,29 +328,125 @@ namespace ModernKeePassLib.Keys
ICryptoTransform iCrypt = r.CreateEncryptor();
#endif
- // !iCrypt.CanReuseTransform -- doesn't work with Mono
- /*if ((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
- (iCrypt.OutputBlockSize != 16))*/
- if (aes.BlockLength != 16)
- {
- Debug.Assert(false, "Invalid ICryptoTransform.");
- /*Debug.Assert((iCrypt.InputBlockSize == 16), "Invalid input block size!");
- Debug.Assert((iCrypt.OutputBlockSize == 16), "Invalid output block size!");*/
- Debug.Assert(aes.BlockLength == 16, "Invalid input block size!");
- return false;
- }
+ // !iCrypt.CanReuseTransform -- doesn't work with Mono
+ if((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
+ (iCrypt.OutputBlockSize != 16))
+ {
+ Debug.Assert(false, "Invalid ICryptoTransform.");
+ Debug.Assert((iCrypt.InputBlockSize == 16), "Invalid input block size!");
+ Debug.Assert((iCrypt.OutputBlockSize == 16), "Invalid output block size!");
+ return false;
+ }
- for (ulong i = 0; i < uNumRounds; ++i)
- {
- /*iCrypt.TransformBlock(pbNewKey32, 0, 16, pbNewKey32, 0);
- iCrypt.TransformBlock(pbNewKey32, 16, 16, pbNewKey32, 16);*/
- }
+ for(ulong i = 0; i < uNumRounds; ++i)
+ {
+ iCrypt.TransformBlock(pbNewKey32, 0, 16, pbNewKey32, 0);
+ iCrypt.TransformBlock(pbNewKey32, 16, 16, pbNewKey32, 16);
+ }
+#endif
- return true;
- }
- }
+ return true;
+ }
- public sealed class InvalidCompositeKeyException : Exception
+ ///
+ /// Benchmark the TransformKey method. Within
+ /// ms, random keys will be transformed
+ /// and the number of performed transformations are returned.
+ ///
+ /// Test duration in ms.
+ /// Stepping.
+ /// should be a prime number. For fast processors
+ /// (PCs) a value of 3001 is recommended, for slower processors (PocketPC)
+ /// a value of 401 is recommended.
+ /// Number of transformations performed in the specified
+ /// amount of time. Maximum value is uint.MaxValue.
+ public static ulong TransformKeyBenchmark(uint uMilliseconds, ulong uStep)
+ {
+ ulong uRounds;
+
+#if !ModernKeePassLibPCL
+ // Try native method
+ if(NativeLib.TransformKeyBenchmark256(uMilliseconds, out uRounds))
+ return uRounds;
+#endif
+
+ byte[] pbKey = new byte[32];
+ byte[] pbNewKey = new byte[32];
+ for(int i = 0; i < pbKey.Length; ++i)
+ {
+ pbKey[i] = (byte)i;
+ pbNewKey[i] = (byte)i;
+ }
+
+#if KeePassRT
+ KeyParameter kp = new KeyParameter(pbKey);
+ AesEngine aes = new AesEngine();
+ aes.Init(true, kp);
+#else
+#if ModernKeePassLibPCL
+ var aes = WinRTCrypto.SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithm.AesEcb);
+ var key = aes.CreateSymmetricKey(pbKey);
+ var iCrypt = WinRTCrypto.CryptographicEngine.CreateEncryptor(key);
+#else
+ byte[] pbIV = new byte[16];
+ Array.Clear(pbIV, 0, pbIV.Length);
+
+ RijndaelManaged r = new RijndaelManaged();
+ if(r.BlockSize != 128) // AES block size
+ {
+ Debug.Assert(false);
+ r.BlockSize = 128;
+ }
+
+ r.IV = pbIV;
+ r.Mode = CipherMode.ECB;
+ r.KeySize = 256;
+ r.Key = pbKey;
+ ICryptoTransform iCrypt = r.CreateEncryptor();
+#endif
+
+ // !iCrypt.CanReuseTransform -- doesn't work with Mono
+ if((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
+ (iCrypt.OutputBlockSize != 16))
+ {
+ Debug.Assert(false, "Invalid ICryptoTransform.");
+ Debug.Assert(iCrypt.InputBlockSize == 16, "Invalid input block size!");
+ Debug.Assert(iCrypt.OutputBlockSize == 16, "Invalid output block size!");
+ return PwDefs.DefaultKeyEncryptionRounds;
+ }
+#endif
+
+ uRounds = 0;
+ int tStart = Environment.TickCount;
+ while(true)
+ {
+ for(ulong j = 0; j < uStep; ++j)
+ {
+#if KeePassRT
+ aes.ProcessBlock(pbNewKey, 0, pbNewKey, 0);
+ aes.ProcessBlock(pbNewKey, 16, pbNewKey, 16);
+#else
+ iCrypt.TransformBlock(pbNewKey, 0, 16, pbNewKey, 0);
+ iCrypt.TransformBlock(pbNewKey, 16, 16, pbNewKey, 16);
+#endif
+ }
+
+ uRounds += uStep;
+ if(uRounds < uStep) // Overflow check
+ {
+ uRounds = ulong.MaxValue;
+ break;
+ }
+
+ uint tElapsed = (uint)(Environment.TickCount - tStart);
+ if(tElapsed > uMilliseconds) break;
+ }
+
+ return uRounds;
+ }
+ }
+
+ public sealed class InvalidCompositeKeyException : Exception
{
public override string Message
{
diff --git a/ModernKeePassLib/Keys/IUserKey.cs b/ModernKeePassLib/Keys/IUserKey.cs
index 1b733d9..c2ab9e4 100644
--- a/ModernKeePassLib/Keys/IUserKey.cs
+++ b/ModernKeePassLib/Keys/IUserKey.cs
@@ -19,9 +19,9 @@
using System;
-using ModernKeePassLib.Security;
+using ModernKeePassLibPCL.Security;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
///
/// Interface to a user key, like a password, key file data, etc.
diff --git a/ModernKeePassLib/Keys/KcpCustomKey.cs b/ModernKeePassLib/Keys/KcpCustomKey.cs
index e1a0e97..8d32711 100644
--- a/ModernKeePassLib/Keys/KcpCustomKey.cs
+++ b/ModernKeePassLib/Keys/KcpCustomKey.cs
@@ -21,18 +21,16 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
public sealed class KcpCustomKey : IUserKey
{
@@ -61,14 +59,14 @@ namespace ModernKeePassLib.Keys
if(bPerformHash)
{
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var pbRaw = sha256.HashData(pbKeyData.AsBuffer());
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var pbRaw = sha256.HashData(pbKeyData);
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] pbRaw = sha256.ComputeHash(pbKeyData);
#endif
- m_pbKey = new ProtectedBinary(true, pbRaw.ToArray());
+ m_pbKey = new ProtectedBinary(true, pbRaw);
}
else m_pbKey = new ProtectedBinary(true, pbKeyData);
}
diff --git a/ModernKeePassLib/Keys/KcpKeyFile.cs b/ModernKeePassLib/Keys/KcpKeyFile.cs
index 189d042..ce78739 100644
--- a/ModernKeePassLib/Keys/KcpKeyFile.cs
+++ b/ModernKeePassLib/Keys/KcpKeyFile.cs
@@ -22,24 +22,23 @@ using System.Text;
using System.IO;
using System.Xml;
using System.Security;
-#if PCL
+#if ModernKeePassLibPCL
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
-using Windows.Security.Cryptography;
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Serialization;
-using ModernKeePassLib.Utility;
-namespace ModernKeePassLib.Keys
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Serialization;
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL.Keys
{
///
/// Key files as provided by the user.
@@ -139,9 +138,9 @@ namespace ModernKeePassLib.Keys
if(pbKey == null)
{
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- pbKey = sha256.HashData(pbFileData.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ pbKey = sha256.HashData(pbFileData);
#else
SHA256Managed sha256 = new SHA256Managed();
pbKey = sha256.ComputeHash(pbFileData);
@@ -199,19 +198,18 @@ namespace ModernKeePassLib.Keys
pbFinalKey32 = pbKey32;
else
{
- using (MemoryStream ms = new MemoryStream())
- {
- ms.Write(pbAdditionalEntropy, 0, pbAdditionalEntropy.Length);
- ms.Write(pbKey32, 0, 32);
+ MemoryStream ms = new MemoryStream();
+ ms.Write(pbAdditionalEntropy, 0, pbAdditionalEntropy.Length);
+ ms.Write(pbKey32, 0, 32);
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- pbFinalKey32 = sha256.HashData(ms.GetWindowsRuntimeBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ pbFinalKey32 = sha256.HashData(ms.ToArray());
#else
- SHA256Managed sha256 = new SHA256Managed();
- pbFinalKey32 = sha256.ComputeHash(ms.ToArray());
+ SHA256Managed sha256 = new SHA256Managed();
+ pbFinalKey32 = sha256.ComputeHash(ms.ToArray());
#endif
- }
+ ms.Dispose();
}
CreateXmlKeyFile(strFilePath, pbFinalKey32);
@@ -247,7 +245,7 @@ namespace ModernKeePassLib.Keys
try
{
-#if PCL
+#if ModernKeePassLibPCL
var doc = XDocument.Load(ms);
@@ -315,7 +313,7 @@ namespace ModernKeePassLib.Keys
IOConnectionInfo ioc = IOConnectionInfo.FromPath(strFile);
Stream sOut = IOConnection.OpenWrite(ioc);
-#if PCL
+#if ModernKeePassLibPCL
var settings = new XmlWriterSettings() { Encoding = StrUtil.Utf8 };
var xtw = XmlWriter.Create(sOut, settings);
#else
diff --git a/ModernKeePassLib/Keys/KcpPassword.cs b/ModernKeePassLib/Keys/KcpPassword.cs
index e29fce9..026dd43 100644
--- a/ModernKeePassLib/Keys/KcpPassword.cs
+++ b/ModernKeePassLib/Keys/KcpPassword.cs
@@ -20,18 +20,16 @@
using System;
using System.Text;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
///
/// Master password / passphrase as provided by the user.
@@ -74,16 +72,16 @@ namespace ModernKeePassLib.Keys
Debug.Assert(pbPasswordUtf8 != null);
if(pbPasswordUtf8 == null) throw new ArgumentNullException("pbPasswordUtf8");
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var pbRaw = sha256.HashData(pbPasswordUtf8.AsBuffer());
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var pbRaw = sha256.HashData(pbPasswordUtf8);
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] pbRaw = sha256.ComputeHash(pbPasswordUtf8);
#endif
m_psPassword = new ProtectedString(true, pbPasswordUtf8);
- m_pbKeyData = new ProtectedBinary(true, pbRaw.ToArray());
+ m_pbKeyData = new ProtectedBinary(true, pbRaw);
}
// public void Clear()
diff --git a/ModernKeePassLib/Keys/KcpUserAccount.cs b/ModernKeePassLib/Keys/KcpUserAccount.cs
index 8d79247..d5d5d72 100644
--- a/ModernKeePassLib/Keys/KcpUserAccount.cs
+++ b/ModernKeePassLib/Keys/KcpUserAccount.cs
@@ -19,18 +19,15 @@
using System;
using System.Security;
-using Windows.Security.Cryptography;
+using System.Security.Cryptography;
using System.IO;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.DataProtection;
-using Windows.Storage;
-using Windows.Storage.Streams;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
-namespace ModernKeePassLib.Keys
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL.Keys
{
///
/// A user key depending on the currently logged on Windows user account.
@@ -65,11 +62,8 @@ namespace ModernKeePassLib.Keys
// Test if ProtectedData is supported -- throws an exception
// when running on an old system (Windows 98 / ME).
byte[] pbDummyData = new byte[128];
-
- DataProtectionProvider provider = new DataProtectionProvider("Local=user");
- provider.ProtectAsync(pbDummyData.AsBuffer()).GetResults();
- /*ProtectedData.Protect(pbDummyData, m_pbEntropy,
- DataProtectionScope.CurrentUser);*/
+ ProtectedData.Protect(pbDummyData, m_pbEntropy,
+ DataProtectionScope.CurrentUser);
byte[] pbKey = LoadUserKey(false);
if(pbKey == null) pbKey = CreateUserKey();
@@ -87,19 +81,17 @@ namespace ModernKeePassLib.Keys
private static string GetUserKeyFilePath(bool bCreate)
{
#if KeePassRT
- string strUserDir = ApplicationData.Current.RoamingFolder.Path;
+ string strUserDir = Windows.Storage.ApplicationData.Current.RoamingFolder.Path;
#else
- /*string strUserDir = Environment.GetFolderPath(
- Environment.SpecialFolder.ApplicationData);*/
- var strUserDir = ApplicationData.Current.RoamingFolder.Path;
+ string strUserDir = Environment.GetFolderPath(
+ Environment.SpecialFolder.ApplicationData);
#endif
strUserDir = UrlUtil.EnsureTerminatingSeparator(strUserDir, false);
strUserDir += PwDefs.ShortProductName;
- // Folder is sure to exist
- /*if(bCreate && !Directory.Exists(strUserDir))
- Directory.CreateDirectory(strUserDir);*/
+ if(bCreate && !Directory.Exists(strUserDir))
+ Directory.CreateDirectory(strUserDir);
strUserDir = UrlUtil.EnsureTerminatingSeparator(strUserDir, false);
return strUserDir + UserKeyFileName;
@@ -113,27 +105,16 @@ namespace ModernKeePassLib.Keys
try
{
string strFilePath = GetUserKeyFilePath(false);
- var pbProtectedKeyStream =
- ApplicationData.Current.RoamingFolder.GetFileAsync(strFilePath).GetResults().
- OpenAsync(FileAccessMode.Read).GetResults().AsStream();
- using (var ms = new MemoryStream())
- {
- ms.CopyTo(pbProtectedKeyStream);
- var pbProtectedKey = ms.ToArray();
+ byte[] pbProtectedKey = File.ReadAllBytes(strFilePath);
- //byte[] pbProtectedKey = File.ReadAllBytes(strFilePath);
+ pbKey = ProtectedData.Unprotect(pbProtectedKey, m_pbEntropy,
+ DataProtectionScope.CurrentUser);
- DataProtectionProvider provider = new DataProtectionProvider("Local=user");
- pbKey = provider.UnprotectAsync(pbProtectedKey.AsBuffer()).GetResults().ToArray();
- /*pbKey = ProtectedData.Unprotect(pbProtectedKey, m_pbEntropy,
- DataProtectionScope.CurrentUser);*/
-
- Array.Clear(pbProtectedKey, 0, pbProtectedKey.Length);
- }
+ Array.Clear(pbProtectedKey, 0, pbProtectedKey.Length);
}
catch(Exception exLoad)
{
- //if(bShowWarning) MessageService.ShowWarning(exLoad);
+ if(bShowWarning) MessageService.ShowWarning(exLoad);
pbKey = null;
}
@@ -152,16 +133,10 @@ namespace ModernKeePassLib.Keys
string strFilePath = GetUserKeyFilePath(true);
byte[] pbRandomKey = CryptoRandom.Instance.GetRandomBytes(64);
+ byte[] pbProtectedKey = ProtectedData.Protect(pbRandomKey,
+ m_pbEntropy, DataProtectionScope.CurrentUser);
- DataProtectionProvider provider = new DataProtectionProvider("Local=user");
- var pbProtectedKey = provider.ProtectAsync(pbRandomKey.AsBuffer()).GetResults().ToArray();
- /*byte[] pbProtectedKey = ProtectedData.Protect(pbRandomKey,
- m_pbEntropy, DataProtectionScope.CurrentUser);*/
-
- var file = ApplicationData.Current.RoamingFolder.CreateFileAsync(strFilePath).GetResults().
- OpenAsync(FileAccessMode.ReadWrite).GetResults();
- file.WriteAsync(pbProtectedKey.AsBuffer()).GetResults();
- //File.WriteAllBytes(strFilePath, pbProtectedKey);
+ File.WriteAllBytes(strFilePath, pbProtectedKey);
Array.Clear(pbProtectedKey, 0, pbProtectedKey.Length);
Array.Clear(pbRandomKey, 0, pbRandomKey.Length);
diff --git a/ModernKeePassLib/Keys/KeyProvider.cs b/ModernKeePassLib/Keys/KeyProvider.cs
index dd6f652..a98840f 100644
--- a/ModernKeePassLib/Keys/KeyProvider.cs
+++ b/ModernKeePassLib/Keys/KeyProvider.cs
@@ -21,9 +21,9 @@ using System;
using System.Collections.Generic;
using System.Text;
-using ModernKeePassLib.Serialization;
+using ModernKeePassLibPCL.Serialization;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
public sealed class KeyProviderQueryContext
{
diff --git a/ModernKeePassLib/Keys/KeyProviderPool.cs b/ModernKeePassLib/Keys/KeyProviderPool.cs
index b10d1ef..760540b 100644
--- a/ModernKeePassLib/Keys/KeyProviderPool.cs
+++ b/ModernKeePassLib/Keys/KeyProviderPool.cs
@@ -23,7 +23,7 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
public sealed class KeyProviderPool : IEnumerable
{
diff --git a/ModernKeePassLib/Keys/KeyValidator.cs b/ModernKeePassLib/Keys/KeyValidator.cs
index 793a75c..dc4e80a 100644
--- a/ModernKeePassLib/Keys/KeyValidator.cs
+++ b/ModernKeePassLib/Keys/KeyValidator.cs
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using System.Text;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
public enum KeyValidationType
{
diff --git a/ModernKeePassLib/Keys/KeyValidatorPool.cs b/ModernKeePassLib/Keys/KeyValidatorPool.cs
index 40c483b..acf780e 100644
--- a/ModernKeePassLib/Keys/KeyValidatorPool.cs
+++ b/ModernKeePassLib/Keys/KeyValidatorPool.cs
@@ -23,9 +23,9 @@ using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
public sealed class KeyValidatorPool : IEnumerable
{
diff --git a/ModernKeePassLib/Keys/UserKeyType.cs b/ModernKeePassLib/Keys/UserKeyType.cs
index 9d25637..6132a3b 100644
--- a/ModernKeePassLib/Keys/UserKeyType.cs
+++ b/ModernKeePassLib/Keys/UserKeyType.cs
@@ -19,7 +19,7 @@
using System;
-namespace ModernKeePassLib.Keys
+namespace ModernKeePassLibPCL.Keys
{
[Flags]
public enum UserKeyType
diff --git a/ModernKeePassLib/ModernKeePassLib.csproj b/ModernKeePassLib/ModernKeePassLib.csproj
deleted file mode 100644
index 27a97be..0000000
--- a/ModernKeePassLib/ModernKeePassLib.csproj
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {A207789D-9020-401B-9D0A-D0D2CFF721BD}
- Library
- Properties
- ModernKeePassLib
- ModernKeePassLib
- en-US
- 512
- {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 14.0
- v5.0
-
-
-
-
- true
- full
- false
- bin\Debug\
- TRACE;DEBUG;NETSTANDARD1_2, PCL
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE;NETSTANDARD1_2, KeePassWinRT
- prompt
- 4
-
-
- true
- bin\ARM\Debug\
- TRACE;DEBUG;NETSTANDARD1_2, KeePassWinRT
- ;2008
- full
- ARM
- false
- prompt
- true
-
-
- bin\ARM\Release\
- TRACE;NETSTANDARD1_2, KeePassWinRT
- true
- ;2008
- pdbonly
- ARM
- false
- prompt
- true
-
-
- true
- bin\x64\Debug\
- TRACE;DEBUG;NETSTANDARD1_2, KeePassWinRT
- ;2008
- full
- x64
- false
- prompt
- true
-
-
- bin\x64\Release\
- TRACE;NETSTANDARD1_2, KeePassWinRT
- true
- ;2008
- pdbonly
- x64
- false
- prompt
- true
-
-
- true
- bin\x86\Debug\
- TRACE;DEBUG;NETSTANDARD1_2, KeePassWinRT
- ;2008
- full
- x86
- false
- prompt
- true
-
-
- bin\x86\Release\
- TRACE;NETSTANDARD1_2, KeePassWinRT
- true
- ;2008
- pdbonly
- x86
- false
- prompt
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- False
- Libs\Windows.winmd
-
-
-
-
-
-
-
- 12.0
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePassLib/ModernKeePassLib.csproj.DotSettings b/ModernKeePassLib/ModernKeePassLib.csproj.DotSettings
deleted file mode 100644
index c54c126..0000000
--- a/ModernKeePassLib/ModernKeePassLib.csproj.DotSettings
+++ /dev/null
@@ -1,2 +0,0 @@
-
- CSharp70
\ No newline at end of file
diff --git a/ModernKeePassLib/ModernKeePassLib.csproj.user b/ModernKeePassLib/ModernKeePassLib.csproj.user
deleted file mode 100644
index 5283ef1..0000000
--- a/ModernKeePassLib/ModernKeePassLib.csproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- ShowAllFiles
-
-
\ No newline at end of file
diff --git a/ModernKeePassLib/ModernKeePassLib.nuget.targets b/ModernKeePassLib/ModernKeePassLib.nuget.targets
deleted file mode 100644
index 8930d73..0000000
--- a/ModernKeePassLib/ModernKeePassLib.nuget.targets
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- $(UserProfile)\.nuget\packages\
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePassLib/ModernKeePassLibPCL.csproj b/ModernKeePassLib/ModernKeePassLibPCL.csproj
new file mode 100644
index 0000000..c8d1ee5
--- /dev/null
+++ b/ModernKeePassLib/ModernKeePassLibPCL.csproj
@@ -0,0 +1,190 @@
+
+
+
+ Debug
+ AnyCPU
+ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {2E710089-9559-4967-846C-E763DD1F3ACB}
+ Library
+ Properties
+ ModernKeePassLibPCL
+ ModernKeePassLibPCL
+ false
+
+
+ 2.0
+
+
+ Profile151
+ v4.6
+ KeePassLib.pfx
+
+
+ 10.0
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;ModernKeePassLibPCL
+ prompt
+ 4
+
+
+ true
+ bin\Release
+ prompt
+ 4
+ ModernKeePassLibPCL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\packages\PCLCrypto.2.0.147\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10\PCLCrypto.dll
+
+
+ ..\packages\PCLStorage.1.0.2\lib\portable-net45+wp8+wpa81+win8+monoandroid+monotouch+Xamarin.iOS+Xamarin.Mac\PCLStorage.dll
+
+
+ ..\packages\PCLStorage.1.0.2\lib\portable-net45+wp8+wpa81+win8+monoandroid+monotouch+Xamarin.iOS+Xamarin.Mac\PCLStorage.Abstractions.dll
+
+
+ ..\packages\PInvoke.BCrypt.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.BCrypt.dll
+
+
+ ..\packages\PInvoke.Kernel32.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.Kernel32.dll
+
+
+ ..\packages\PInvoke.NCrypt.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.NCrypt.dll
+
+
+ ..\packages\PInvoke.Windows.Core.0.5.97\lib\portable-net45+win8+wpa81\PInvoke.Windows.Core.dll
+
+
+ ..\packages\Splat.2.0.0\lib\netstandard1.1\Splat.dll
+
+
+ ..\packages\Validation.2.4.15\lib\portable-net45+win8+wp8+wpa81\Validation.dll
+
+
+ False
+ Libs\Windows.winmd
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePassLib/ModernKeePassLib.nuspec b/ModernKeePassLib/ModernKeePassLibPCL.nuspec
similarity index 76%
rename from ModernKeePassLib/ModernKeePassLib.nuspec
rename to ModernKeePassLib/ModernKeePassLibPCL.nuspec
index 50de2a1..4925857 100644
--- a/ModernKeePassLib/ModernKeePassLib.nuspec
+++ b/ModernKeePassLib/ModernKeePassLibPCL.nuspec
@@ -1,9 +1,9 @@
-
+
- ModernKeePassLib
- 2.19.2950
- ModernKeePassLib
+ ModernKeePassLibPCL
+ 2.28.1000
+ ModernKeePassLibPCL
Geoffroy Bonneville
Geoffroy Bonneville
https://www.gnu.org/licenses/gpl-3.0.en.html
@@ -12,8 +12,8 @@
Portable KeePass Password Management Library
Initial release.
Copyright © 2017 Geoffroy Bonneville
- KeePass KeePassLib NetStandard
-
+ KeePass KeePassLib Portable
+
-
-
diff --git a/ModernKeePassLib/Native/Native.PCL.cs b/ModernKeePassLib/Native/Native.PCL.cs
index de07139..6e3f6d7 100644
--- a/ModernKeePassLib/Native/Native.PCL.cs
+++ b/ModernKeePassLib/Native/Native.PCL.cs
@@ -2,7 +2,7 @@
using PlatformID = System.UInt32;
-namespace KeePass2PCL.Native
+namespace ModernKeePassLibPCL.Native
{
internal static class NativeLib
{
diff --git a/ModernKeePassLib/Native/NativeLib.cs b/ModernKeePassLib/Native/NativeLib.cs
index 866538e..42f3561 100644
--- a/ModernKeePassLib/Native/NativeLib.cs
+++ b/ModernKeePassLib/Native/NativeLib.cs
@@ -28,9 +28,9 @@ using System.IO;
using System.Reflection;
using System.Diagnostics;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Native
+namespace ModernKeePassLibPCL.Native
{
///
/// Interface to native library (library containing fast versions of
diff --git a/ModernKeePassLib/Native/NativeMethods.Unix.cs b/ModernKeePassLib/Native/NativeMethods.Unix.cs
index 3d5e089..62561ca 100644
--- a/ModernKeePassLib/Native/NativeMethods.Unix.cs
+++ b/ModernKeePassLib/Native/NativeMethods.Unix.cs
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices;
using System.Reflection;
using System.Diagnostics;
-namespace KeePass2PCL.Native
+namespace ModernKeePassLibPCL.Native
{
internal static partial class NativeMethods
{
diff --git a/ModernKeePassLib/Native/NativeMethods.cs b/ModernKeePassLib/Native/NativeMethods.cs
index 9ce13fe..9542aac 100644
--- a/ModernKeePassLib/Native/NativeMethods.cs
+++ b/ModernKeePassLib/Native/NativeMethods.cs
@@ -24,9 +24,9 @@ using System.Runtime.InteropServices;
using System.IO;
using System.Diagnostics;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Native
+namespace ModernKeePassLibPCL.Native
{
internal static partial class NativeMethods
{
diff --git a/ModernKeePassLib/Properties/AssemblyInfo.cs b/ModernKeePassLib/Properties/AssemblyInfo.cs
index 9b5b2d8..43888cb 100644
--- a/ModernKeePassLib/Properties/AssemblyInfo.cs
+++ b/ModernKeePassLib/Properties/AssemblyInfo.cs
@@ -1,6 +1,6 @@
/*
KeePass Password Safe - The Open-Source Password Manager
- Copyright (C) 2003-2012 Dominik Reichl
+ Copyright (C) 2003-2014 Dominik Reichl
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,22 +22,23 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General assembly properties
-[assembly: AssemblyTitle("ModernKeePassLib")]
-[assembly: AssemblyDescription("Portable KeePass Password Management Library")]
+[assembly: AssemblyTitle("KeePassLib")]
+[assembly: AssemblyDescription("KeePass Password Management Library")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Geoffroy Bonneville")]
-[assembly: AssemblyProduct("ModernKeePassLib")]
-[assembly: AssemblyCopyright("Copyright © 2017 Geoffroy Bonneville")]
+[assembly: AssemblyCompany("Panteam")]
+[assembly: AssemblyProduct("KeePassLib")]
+[assembly: AssemblyCopyright("Copyright © 2003-2017 Dominik Reichl")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// COM settings
[assembly: ComVisible(false)]
+#if !ModernKeePassLibPCL
// Assembly GUID
-//Bert TODO: Disabled Guid
-//[assembly: Guid("395f6eec-a1e0-4438-aa82-b75099348134")]
+[assembly: Guid("395f6eec-a1e0-4438-aa82-b75099348134")]
+#endif
// Assembly version information
-[assembly: AssemblyVersion("2.36.0.*")]
-[assembly: AssemblyFileVersion("2.36.0.0")]
+[assembly: AssemblyVersion("2.28.1.*")]
+[assembly: AssemblyFileVersion("2.28.1.0")]
diff --git a/ModernKeePassLib/Properties/AssemblyInfo.cs.bak b/ModernKeePassLib/Properties/AssemblyInfo.cs.bak
deleted file mode 100644
index fa77aab..0000000
--- a/ModernKeePassLib/Properties/AssemblyInfo.cs.bak
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- KeePass Password Safe - The Open-Source Password Manager
- Copyright (C) 2003-2012 Dominik Reichl
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General assembly properties
-[assembly: AssemblyTitle("KeePassLib")]
-[assembly: AssemblyDescription("KeePass Password Management Library")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Dominik Reichl")]
-[assembly: AssemblyProduct("KeePassLib")]
-[assembly: AssemblyCopyright("Copyright © 2003-2012 Dominik Reichl")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// COM settings
-[assembly: ComVisible(false)]
-
-// Assembly GUID
-[assembly: Guid("395f6eec-a1e0-4438-aa82-b75099348134")]
-
-// Assembly version information
-[assembly: AssemblyVersion("2.19.0.*")]
-[assembly: AssemblyFileVersion("2.19.0.0")]
diff --git a/ModernKeePassLib/PwCustomIcon.cs b/ModernKeePassLib/PwCustomIcon.cs
index 62885fe..09453bd 100644
--- a/ModernKeePassLib/PwCustomIcon.cs
+++ b/ModernKeePassLib/PwCustomIcon.cs
@@ -18,9 +18,17 @@
*/
using System;
-using Windows.UI.Xaml.Controls;
+using System.Diagnostics;
+#if ModernKeePassLibPCL
+using Image = Splat.IBitmap;
+#else
+using System.Drawing;
+#endif
+using System.IO;
-namespace ModernKeePassLib
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL
{
///
/// Custom icon. PwCustomIcon objects are immutable.
@@ -63,7 +71,7 @@ namespace ModernKeePassLib
// MemoryStream ms = new MemoryStream(m_pbImageDataPng, false);
// m_pCachedImage = Image.FromStream(ms);
// ms.Close();
- //m_pCachedImage = GfxUtil.LoadImage(m_pbImageDataPng);
+ m_pCachedImage = GfxUtil.LoadImage(m_pbImageDataPng);
#else
m_pCachedImage = null;
#endif
diff --git a/ModernKeePassLib/PwDatabase.cs b/ModernKeePassLib/PwDatabase.cs
index 4c739ae..be4e5f0 100644
--- a/ModernKeePassLib/PwDatabase.cs
+++ b/ModernKeePassLib/PwDatabase.cs
@@ -21,20 +21,24 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using Windows.UI;
-using Windows.UI.Xaml.Controls;
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Cryptography.Cipher;
-using ModernKeePassLib.Delegates;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Keys;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Serialization;
-using ModernKeePassLib.Utility;
+using System.Drawing;
-namespace ModernKeePassLib
+#if ModernKeePassLibPCL
+using Image = Splat.IBitmap;
+#endif
+
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Cryptography.Cipher;
+using ModernKeePassLibPCL.Delegates;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Keys;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Serialization;
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL
{
///
/// The core password manager class. It contains a number of groups, which
@@ -68,7 +72,7 @@ namespace ModernKeePassLib
private string m_strDefaultUserName = string.Empty;
private DateTime m_dtDefaultUserChanged = PwDefs.DtDefaultNow;
private uint m_uMntncHistoryDays = 365;
- private Color m_clr;
+ private Color m_clr = Color.Empty;
private DateTime m_dtKeyLastChanged = PwDefs.DtDefaultNow;
private long m_lKeyChangeRecDays = -1;
@@ -498,7 +502,7 @@ namespace ModernKeePassLib
m_strDefaultUserName = string.Empty;
m_dtDefaultUserChanged = dtNow;
m_uMntncHistoryDays = 365;
- m_clr = new Color();
+ m_clr = Color.Empty;
m_dtKeyLastChanged = dtNow;
m_lKeyChangeRecDays = -1;
@@ -1465,14 +1469,10 @@ namespace ModernKeePassLib
/// Image data.
public Image GetCustomIcon(PwUuid pwIconId)
{
-#if PCL
- return null;
-#else
- int nIndex = GetCustomIconIndex(pwIconId);
+ int nIndex = GetCustomIconIndex(pwIconId);
if(nIndex >= 0) return m_vCustomIcons[nIndex].Image;
else { Debug.Assert(false); return null; }
-#endif
}
public bool DeleteCustomIcons(List vUuidsToDelete)
diff --git a/ModernKeePassLib/PwDefs.cs b/ModernKeePassLib/PwDefs.cs
index 6148841..9a6efc8 100644
--- a/ModernKeePassLib/PwDefs.cs
+++ b/ModernKeePassLib/PwDefs.cs
@@ -23,11 +23,11 @@ using System.Xml.Serialization;
using System.ComponentModel;
using System.Diagnostics;
-using ModernKeePassLib.Delegates;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Serialization;
+using ModernKeePassLibPCL.Delegates;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Serialization;
-namespace ModernKeePassLib
+namespace ModernKeePassLibPCL
{
///
/// Contains KeePassLib-global definitions and enums.
@@ -318,7 +318,7 @@ namespace ModernKeePassLib
set { m_bSearchInTags = value; }
}
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
private StringComparison m_scType = StringComparison.OrdinalIgnoreCase;
#else
private StringComparison m_scType = StringComparison.InvariantCultureIgnoreCase;
diff --git a/ModernKeePassLib/PwDeletedObject.cs b/ModernKeePassLib/PwDeletedObject.cs
index d430e6a..c5e2d38 100644
--- a/ModernKeePassLib/PwDeletedObject.cs
+++ b/ModernKeePassLib/PwDeletedObject.cs
@@ -21,9 +21,9 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
+using ModernKeePassLibPCL.Interfaces;
-namespace ModernKeePassLib
+namespace ModernKeePassLibPCL
{
///
/// Represents an object that has been deleted.
diff --git a/ModernKeePassLib/PwEntry.cs b/ModernKeePassLib/PwEntry.cs
index d05074c..e30e6ed 100644
--- a/ModernKeePassLib/PwEntry.cs
+++ b/ModernKeePassLib/PwEntry.cs
@@ -21,13 +21,14 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
-using Windows.UI;
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using System.Drawing;
-namespace ModernKeePassLib
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
+
+namespace ModernKeePassLibPCL
{
///
/// A class representing a password entry. A password entry consists of several
@@ -48,8 +49,8 @@ namespace ModernKeePassLib
private PwIcon m_pwIcon = PwIcon.Key;
private PwUuid m_pwCustomIconID = PwUuid.Zero;
- private Color m_clrForeground;
- private Color m_clrBackground;
+ private Color m_clrForeground = Color.Empty;
+ private Color m_clrBackground = Color.Empty;
private DateTime m_tCreation = PwDefs.DtDefaultNow;
private DateTime m_tLastMod = PwDefs.DtDefaultNow;
@@ -888,7 +889,7 @@ namespace ModernKeePassLib
if(m_bCompareNaturally) return StrUtil.CompareNaturally(strA, strB);
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
return string.Compare(strA, strB, m_bCaseInsensitive ?
StringComparison.CurrentCultureIgnoreCase : StringComparison.CurrentCulture);
#else
diff --git a/ModernKeePassLib/PwEnums.cs b/ModernKeePassLib/PwEnums.cs
index e4fdc81..8c899a8 100644
--- a/ModernKeePassLib/PwEnums.cs
+++ b/ModernKeePassLib/PwEnums.cs
@@ -19,7 +19,7 @@
using System;
-namespace ModernKeePassLib
+namespace ModernKeePassLibPCL
{
///
/// Compression algorithm specifiers.
diff --git a/ModernKeePassLib/PwGroup.cs b/ModernKeePassLib/PwGroup.cs
index 40ea3a0..e961693 100644
--- a/ModernKeePassLib/PwGroup.cs
+++ b/ModernKeePassLib/PwGroup.cs
@@ -22,13 +22,13 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Text.RegularExpressions;
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Delegates;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Delegates;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib
+namespace ModernKeePassLibPCL
{
///
/// A group containing several password entries.
@@ -841,13 +841,13 @@ namespace ModernKeePassLib
Regex rx = null;
if(sp.RegularExpression)
{
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
RegexOptions ro = RegexOptions.None;
#else
RegexOptions ro = RegexOptions.Compiled;
#endif
if((sp.ComparisonMode == StringComparison.CurrentCultureIgnoreCase) ||
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
(sp.ComparisonMode == StringComparison.InvariantCultureIgnoreCase) ||
#endif
(sp.ComparisonMode == StringComparison.OrdinalIgnoreCase))
diff --git a/ModernKeePassLib/PwUuid.cs b/ModernKeePassLib/PwUuid.cs
index 8884444..2ddf256 100644
--- a/ModernKeePassLib/PwUuid.cs
+++ b/ModernKeePassLib/PwUuid.cs
@@ -22,9 +22,9 @@ using System.Collections.Generic;
using System.Xml;
using System.Diagnostics;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib
+namespace ModernKeePassLibPCL
{
// [ImmutableObject(true)]
///
diff --git a/ModernKeePassLib/Resources/KLRes.Generated.cs b/ModernKeePassLib/Resources/KLRes.Generated.cs
index 74f4274..023af1d 100644
--- a/ModernKeePassLib/Resources/KLRes.Generated.cs
+++ b/ModernKeePassLib/Resources/KLRes.Generated.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace ModernKeePassLib.Resources
+namespace ModernKeePassLibPCL.Resources
{
///
/// A strongly-typed resource class, for looking up localized strings, etc.
diff --git a/ModernKeePassLib/Resources/KSRes.Generated.cs b/ModernKeePassLib/Resources/KSRes.Generated.cs
index 7b49547..4d3804c 100644
--- a/ModernKeePassLib/Resources/KSRes.Generated.cs
+++ b/ModernKeePassLib/Resources/KSRes.Generated.cs
@@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
-namespace ModernKeePassLib.Resources
+namespace ModernKeePassLibPCL.Resources
{
///
/// A strongly-typed resource class, for looking up localized strings, etc.
diff --git a/ModernKeePassLib/Security/ProtectedBinary.cs b/ModernKeePassLib/Security/ProtectedBinary.cs
index b8f2c4f..bfbd8fe 100644
--- a/ModernKeePassLib/Security/ProtectedBinary.cs
+++ b/ModernKeePassLib/Security/ProtectedBinary.cs
@@ -21,15 +21,16 @@ using System;
using System.Threading;
using System.Diagnostics;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Cryptography.Cipher;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Cryptography.Cipher;
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Utility;
#if KeePassLibSD
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Security
+namespace ModernKeePassLibPCL.Security
{
[Flags]
public enum PbCryptFlags
@@ -85,19 +86,17 @@ namespace ModernKeePassLib.Security
{
#if KeePassLibSD
return false;
-#elif PCL
- return false;
#else
bool? ob = g_bProtectedMemorySupported;
if(ob.HasValue) return ob.Value;
// Mono does not implement any encryption for ProtectedMemory;
// https://sourceforge.net/p/keepass/feature-requests/1907/
- /*if(NativeLib.IsUnix())
+ if(NativeLib.IsUnix())
{
g_bProtectedMemorySupported = false;
return false;
- }*/
+ }
ob = false;
try // Test whether ProtectedMemory is supported
@@ -242,15 +241,14 @@ namespace ModernKeePassLib.Security
return;
}
-#if !PCL
- if(ProtectedBinary.ProtectedMemorySupported)
+ if(ProtectedBinary.ProtectedMemorySupported)
{
ProtectedMemory.Protect(m_pbData, MemoryProtectionScope.SameProcess);
m_mp = PbMemProt.ProtectedMemory;
return;
}
-#endif
+
byte[] pbKey32 = g_pbKey32;
if(pbKey32 == null)
{
@@ -270,10 +268,9 @@ namespace ModernKeePassLib.Security
private void Decrypt()
{
if(m_pbData.Length == 0) return;
-#if !PCL
+
if(m_mp == PbMemProt.ProtectedMemory)
ProtectedMemory.Unprotect(m_pbData, MemoryProtectionScope.SameProcess);
-#endif
else if(m_mp == PbMemProt.Salsa20)
{
Salsa20Cipher s = new Salsa20Cipher(g_pbKey32,
diff --git a/ModernKeePassLib/Security/ProtectedString.cs b/ModernKeePassLib/Security/ProtectedString.cs
index 9b8f715..87365f0 100644
--- a/ModernKeePassLib/Security/ProtectedString.cs
+++ b/ModernKeePassLib/Security/ProtectedString.cs
@@ -21,8 +21,8 @@ using System;
using System.Text;
using System.Diagnostics;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Utility;
#if KeePassLibSD
using KeePassLibSD;
@@ -30,7 +30,7 @@ using KeePassLibSD;
// SecureString objects are limited to 65536 characters, don't use
-namespace ModernKeePassLib.Security
+namespace ModernKeePassLibPCL.Security
{
///
/// Represents an in-memory encrypted string.
diff --git a/ModernKeePassLib/Security/XorredBuffer.cs b/ModernKeePassLib/Security/XorredBuffer.cs
index 625e83c..b941074 100644
--- a/ModernKeePassLib/Security/XorredBuffer.cs
+++ b/ModernKeePassLib/Security/XorredBuffer.cs
@@ -20,7 +20,7 @@
using System;
using System.Diagnostics;
-namespace ModernKeePassLib.Security
+namespace ModernKeePassLibPCL.Security
{
///
/// Represents an object that is encrypted using a XOR pad until
diff --git a/ModernKeePassLib/Serialization/BinaryReaderEx.cs b/ModernKeePassLib/Serialization/BinaryReaderEx.cs
index 1891861..d145ed1 100644
--- a/ModernKeePassLib/Serialization/BinaryReaderEx.cs
+++ b/ModernKeePassLib/Serialization/BinaryReaderEx.cs
@@ -22,9 +22,9 @@ using System.Collections.Generic;
using System.Text;
using System.IO;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
public sealed class BinaryReaderEx
{
diff --git a/ModernKeePassLib/Serialization/FileLock.cs b/ModernKeePassLib/Serialization/FileLock.cs
index e99f604..880af0d 100644
--- a/ModernKeePassLib/Serialization/FileLock.cs
+++ b/ModernKeePassLib/Serialization/FileLock.cs
@@ -21,18 +21,18 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
-#if PCL
+#if ModernKeePassLibPCL
using System.Threading.Tasks;
#else
using System.Threading;
#endif
using System.Diagnostics;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
public sealed class FileLockException : Exception
{
@@ -158,7 +158,7 @@ namespace ModernKeePassLib.Serialization
byte[] pbID = CryptoRandom.Instance.GetRandomBytes(16);
string strTime = TimeUtil.SerializeUtc(DateTime.Now);
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
lfi = new LockFileInfo(Convert.ToBase64String(pbID), strTime,
Environment.UserName, Environment.MachineName,
Environment.UserDomainName);
@@ -243,7 +243,7 @@ namespace ModernKeePassLib.Serialization
if(bFileDeleted) break;
-#if PCL
+#if ModernKeePassLibPCL
if(bDisposing)
Task.Delay(50).Wait();
#else
diff --git a/ModernKeePassLib/Serialization/FileTransactionEx.cs b/ModernKeePassLib/Serialization/FileTransactionEx.cs
index 0b1072f..bad9ac9 100644
--- a/ModernKeePassLib/Serialization/FileTransactionEx.cs
+++ b/ModernKeePassLib/Serialization/FileTransactionEx.cs
@@ -23,13 +23,14 @@ using System.Text;
using System.IO;
using System.Diagnostics;
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
using System.Security.AccessControl;
#endif
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
public sealed class FileTransactionEx
{
@@ -58,8 +59,8 @@ namespace ModernKeePassLib.Serialization
m_bTransacted = bTransacted;
m_iocBase = iocBaseFile.CloneDeep();
-// ModernKeePassLib is currently targeting .NET 4.5
-#if !PCL
+// ModernKeePassLibPCL is currently targeting .NET 4.5
+#if !ModernKeePassLibPCL
// Prevent transactions for FTP URLs under .NET 4.0 in order to
// avoid/workaround .NET bug 621450:
// https://connect.microsoft.com/VisualStudio/feedback/details/621450/problem-renaming-file-on-ftp-server-using-ftpwebrequest-in-net-framework-4-0-vs2010-only
@@ -101,14 +102,14 @@ namespace ModernKeePassLib.Serialization
{
bool bMadeUnhidden = UrlUtil.UnhideFile(m_iocBase.Path);
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
FileSecurity bkSecurity = null;
bool bEfsEncrypted = false;
#endif
if(IOConnection.FileExists(m_iocBase))
{
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
if(m_iocBase.IsLocalFile())
{
try
@@ -130,7 +131,7 @@ namespace ModernKeePassLib.Serialization
IOConnection.RenameFile(m_iocTemp, m_iocBase);
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
if(m_iocBase.IsLocalFile())
{
try
diff --git a/ModernKeePassLib/Serialization/HashedBlockStream.cs b/ModernKeePassLib/Serialization/HashedBlockStream.cs
index 8bf77f4..ff6cf4e 100644
--- a/ModernKeePassLib/Serialization/HashedBlockStream.cs
+++ b/ModernKeePassLib/Serialization/HashedBlockStream.cs
@@ -19,22 +19,23 @@
using System;
using System.IO;
-#if PCL
+#if ModernKeePassLibPCL
using System.Linq;
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
using System.Text;
-using Windows.Security.Cryptography.Core;
-using ModernKeePassLib.Utility;
+
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Utility;
#if KeePassLibSD
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
public sealed class HashedBlockStream : Stream
{
@@ -98,8 +99,8 @@ namespace ModernKeePassLib.Serialization
private void Initialize(Stream sBaseStream, bool bWriting, int nBufferSize,
bool bVerify)
{
- if (sBaseStream == null) throw new ArgumentNullException(nameof(sBaseStream));
- m_sBaseStream = sBaseStream;
+ if (sBaseStream != null) m_sBaseStream = sBaseStream;
+ else throw new ArgumentNullException(nameof(sBaseStream));
if (nBufferSize < 0)
throw new ArgumentOutOfRangeException(nameof(nBufferSize));
@@ -134,7 +135,7 @@ namespace ModernKeePassLib.Serialization
if(m_bWriting) m_bwOutput.Flush();
}
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
protected override void Dispose(bool disposing)
{
if(!disposing) return;
@@ -221,11 +222,11 @@ namespace ModernKeePassLib.Serialization
throw new InvalidDataException();
int nBufferSize = 0;
- /*try {*/ nBufferSize = m_brInput.ReadInt32(); /*}
+ try { nBufferSize = m_brInput.ReadInt32(); }
catch(NullReferenceException) // Mono bug workaround (LaunchPad 783268)
{
if(!NativeLib.IsUnix()) throw;
- }*/
+ }
if(nBufferSize < 0)
throw new InvalidDataException();
@@ -249,16 +250,16 @@ namespace ModernKeePassLib.Serialization
if(m_bVerify)
{
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var pbComputedHash = sha256.HashData(m_pbBuffer.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var pbComputedHash = sha256.HashData(m_pbBuffer);
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] pbComputedHash = sha256.ComputeHash(m_pbBuffer);
#endif
if((pbComputedHash == null) || (pbComputedHash.Length != 32))
throw new InvalidOperationException();
-
+
for(int iHashPos = 0; iHashPos < 32; ++iHashPos)
{
if(pbStoredHash[iHashPos] != pbComputedHash[iHashPos])
@@ -296,9 +297,9 @@ namespace ModernKeePassLib.Serialization
if(m_nBufferPos > 0)
{
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var pbHash = sha256.HashData(m_pbBuffer.Where((x, i) => i < m_nBufferPos).ToArray().AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var pbHash = sha256.HashData(m_pbBuffer.Where((x, i) => i < m_nBufferPos).ToArray());
#else
SHA256Managed sha256 = new SHA256Managed();
diff --git a/ModernKeePassLib/Serialization/IOConnection.cs b/ModernKeePassLib/Serialization/IOConnection.cs
index 4495320..1a4fe8b 100644
--- a/ModernKeePassLib/Serialization/IOConnection.cs
+++ b/ModernKeePassLib/Serialization/IOConnection.cs
@@ -19,31 +19,28 @@
*/
using System;
-using System.Collections.Generic;
-using System.Text;
using System.IO;
using System.Net;
-using System.Reflection;
using System.Diagnostics;
-
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+using Windows.Storage.Streams;
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
using System.Net.Cache;
using System.Net.Security;
#endif
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
using System.Security.Cryptography.X509Certificates;
#endif
-#if PCL
+#if ModernKeePassLibPCL
using Windows.Storage;
+using PCLStorage;
#endif
+using ModernKeePassLibPCL.Utility;
-using ModernKeePassLib.Utility;
-
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
internal sealed class IOWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
@@ -55,7 +52,7 @@ namespace ModernKeePassLib.Serialization
}
#endif
-#if !PCL
+#if !ModernKeePassLibPCL
internal abstract class WrapperStream : Stream
{
private readonly Stream m_s;
@@ -228,7 +225,7 @@ namespace ModernKeePassLib.Serialization
public static class IOConnection
{
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
private static ProxyServerType m_pstProxyType = ProxyServerType.System;
private static string m_strProxyAddr = string.Empty;
private static string m_strProxyPort = string.Empty;
@@ -252,7 +249,7 @@ namespace ModernKeePassLib.Serialization
public static event EventHandler IOAccessPre;
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
// Allow self-signed certificates, expired certificates, etc.
private static bool AcceptCertificate(object sender,
X509Certificate certificate, X509Chain chain,
@@ -434,17 +431,20 @@ namespace ModernKeePassLib.Serialization
private static Stream OpenReadLocal(IOConnectionInfo ioc)
{
-#if PCL
- /*var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
- return file.OpenAsync(PCLStorage.FileAccess.Read).Result;*/
- return ioc.StorageFile.OpenAsync(FileAccessMode.Read).GetResults().AsStream();
+#if ModernKeePassLibPCL
+ if (ioc.StorageFile != null)
+ {
+ return ioc.StorageFile.OpenAsync(FileAccessMode.Read).GetResults().AsStream();
+ }
+ var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
+ return file.OpenAsync(PCLStorage.FileAccess.Read).Result;
#else
return new FileStream(ioc.Path, FileMode.Open, FileAccess.Read,
FileShare.Read);
#endif
}
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
public static Stream OpenWrite(IOConnectionInfo ioc)
{
if(ioc == null) { Debug.Assert(false); return null; }
@@ -477,15 +477,18 @@ namespace ModernKeePassLib.Serialization
private static Stream OpenWriteLocal(IOConnectionInfo ioc)
{
-#if PCL
- return ioc.StorageFile.OpenAsync(FileAccessMode.ReadWrite).GetResults().AsStream();
- /*var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
- return file.OpenAsync(FileAccess.ReadAndWrite).Result;*/
+#if ModernKeePassLibPCL
+ if (ioc.StorageFile != null)
+ {
+ return ioc.StorageFile.OpenAsync(FileAccessMode.ReadWrite).GetResults().AsStream();
+ }
+ var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
+ return file.OpenAsync(FileAccess.ReadAndWrite).Result;
#else
return new FileStream(ioc.Path, FileMode.Create, FileAccess.Write,
FileShare.None);
#endif
- }
+ }
public static bool FileExists(IOConnectionInfo ioc)
{
@@ -498,14 +501,14 @@ namespace ModernKeePassLib.Serialization
RaiseIOAccessPreEvent(ioc, IOAccessType.Exists);
-#if PCL
+#if ModernKeePassLibPCL
if(ioc.IsLocalFile())
- return ioc.StorageFile.IsAvailable;
+ return (FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result != null);
#else
if(ioc.IsLocalFile()) return File.Exists(ioc.Path);
#endif
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
if(ioc.Path.StartsWith("ftp://", StrUtil.CaseIgnoreCmp))
{
bool b = SendCommand(ioc, WebRequestMethods.Ftp.GetDateTimestamp);
@@ -540,17 +543,16 @@ namespace ModernKeePassLib.Serialization
{
RaiseIOAccessPreEvent(ioc, IOAccessType.Delete);
-#if PCL
- if(ioc.IsLocalFile()) {
- /*var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
- file.DeleteAsync().RunSynchronously();*/
- ioc.StorageFile.DeleteAsync(StorageDeleteOption.Default).GetResults();
- }
+#if ModernKeePassLibPCL
+ if (!ioc.IsLocalFile()) return;
+ ioc.StorageFile?.DeleteAsync().GetResults();
+ var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
+ file.DeleteAsync().RunSynchronously();
#else
if(ioc.IsLocalFile()) { File.Delete(ioc.Path); return; }
#endif
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
WebRequest req = CreateWebRequest(ioc);
if(req != null)
{
@@ -582,18 +584,16 @@ namespace ModernKeePassLib.Serialization
{
RaiseIOAccessPreEvent(iocFrom, iocTo, IOAccessType.Move);
-#if PCL
- if(iocFrom.IsLocalFile()) {
- /*var file = FileSystem.Current.GetFileFromPathAsync(iocFrom.Path).Result;
- file.MoveAsync(iocTo.Path).RunSynchronously();*/
- iocFrom.StorageFile.RenameAsync(iocTo.Path).GetResults();
- return;
- }
+#if ModernKeePassLibPCL
+ if (!iocFrom.IsLocalFile()) return;
+ iocFrom.StorageFile?.RenameAsync(iocTo.Path).GetResults();
+ var file = FileSystem.Current.GetFileFromPathAsync(iocFrom.Path).Result;
+ file.MoveAsync(iocTo.Path).RunSynchronously();
#else
if(iocFrom.IsLocalFile()) { File.Move(iocFrom.Path, iocTo.Path); return; }
#endif
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
WebRequest req = CreateWebRequest(iocFrom);
if(req != null)
{
@@ -642,7 +642,7 @@ namespace ModernKeePassLib.Serialization
// DeleteFile(iocFrom);
}
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
private static bool SendCommand(IOConnectionInfo ioc, string strMethod)
{
try
diff --git a/ModernKeePassLib/Serialization/IOConnectionInfo.cs b/ModernKeePassLib/Serialization/IOConnectionInfo.cs
index 428a200..7adbec2 100644
--- a/ModernKeePassLib/Serialization/IOConnectionInfo.cs
+++ b/ModernKeePassLib/Serialization/IOConnectionInfo.cs
@@ -25,15 +25,15 @@ using System.Net;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Diagnostics;
-
-#if PCL
using Windows.Storage;
+#if ModernKeePassLibPCL
+using PCLStorage;
#endif
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
public enum IOCredSaveMode
{
@@ -67,11 +67,9 @@ namespace ModernKeePassLib.Serialization
public sealed class IOConnectionInfo : IDeepCloneable
{
- // private IOFileFormatHint m_ioHint = IOFileFormatHint.None;
+ // private IOFileFormatHint m_ioHint = IOFileFormatHint.None;
- public StorageFile StorageFile { get; set; }
-
- private string m_strUrl = string.Empty;
+ private string m_strUrl = string.Empty;
public string Path
{
get { return m_strUrl; }
@@ -295,23 +293,24 @@ namespace ModernKeePassLib.Serialization
return ioc;
}
- public static IOConnectionInfo FromFile(StorageFile file)
- {
- IOConnectionInfo ioc = new IOConnectionInfo();
+ public static IOConnectionInfo FromFile(StorageFile file)
+ {
+ IOConnectionInfo ioc = new IOConnectionInfo();
- ioc.Path = file.Path;
- ioc.CredSaveMode = IOCredSaveMode.NoSave;
- ioc.StorageFile = file;
+ ioc.StorageFile = file;
+ ioc.Path = file.Path;
+ ioc.CredSaveMode = IOCredSaveMode.NoSave;
- return ioc;
- }
+ return ioc;
+ }
+ public StorageFile StorageFile { get; set; }
public bool CanProbablyAccess()
{
-#if PCL
+#if ModernKeePassLibPCL
if(IsLocalFile())
- return (StorageFile.IsAvailable);
+ return (FileSystem.Current.GetFileFromPathAsync(m_strUrl).Result != null);
#else
if(IsLocalFile()) return File.Exists(m_strUrl);
#endif
diff --git a/ModernKeePassLib/Serialization/KdbxFile.Read.Streamed.cs b/ModernKeePassLib/Serialization/KdbxFile.Read.Streamed.cs
index 5140b98..bc1977f 100644
--- a/ModernKeePassLib/Serialization/KdbxFile.Read.Streamed.cs
+++ b/ModernKeePassLib/Serialization/KdbxFile.Read.Streamed.cs
@@ -21,20 +21,21 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.Security;
+using System.Drawing;
using System.Xml;
using System.IO;
using System.Diagnostics;
-using ModernKeePassLib;
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Cryptography.Cipher;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL;
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Cryptography.Cipher;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
///
/// Serialization to KeePass KDBX files.
@@ -98,7 +99,7 @@ namespace ModernKeePassLib.Serialization
xrs.IgnoreProcessingInstructions = true;
xrs.IgnoreWhitespace = true;
-#if !PCL
+#if !ModernKeePassLibPCL
// these are default values, so no need to set them
#if !KeePassRT
#if !KeePassLibSD
@@ -241,8 +242,8 @@ namespace ModernKeePassLib.Serialization
else if(xr.Name == ElemDbColor)
{
string strColor = ReadString(xr);
- /*if(!string.IsNullOrEmpty(strColor))
- m_pwDatabase.Color = ColorTranslator.FromHtml(strColor);*/
+ if(!string.IsNullOrEmpty(strColor))
+ m_pwDatabase.Color = ColorTranslator.FromHtml(strColor);
}
else if(xr.Name == ElemDbKeyChanged)
m_pwDatabase.MasterKeyChanged = ReadTime(xr);
@@ -413,14 +414,14 @@ namespace ModernKeePassLib.Serialization
else if(xr.Name == ElemFgColor)
{
string strColor = ReadString(xr);
- /*if(!string.IsNullOrEmpty(strColor))
- m_ctxEntry.ForegroundColor = ColorTranslator.FromHtml(strColor);*/
+ if(!string.IsNullOrEmpty(strColor))
+ m_ctxEntry.ForegroundColor = ColorTranslator.FromHtml(strColor);
}
else if(xr.Name == ElemBgColor)
{
string strColor = ReadString(xr);
- /*if(!string.IsNullOrEmpty(strColor))
- m_ctxEntry.BackgroundColor = ColorTranslator.FromHtml(strColor);*/
+ if(!string.IsNullOrEmpty(strColor))
+ m_ctxEntry.BackgroundColor = ColorTranslator.FromHtml(strColor);
}
else if(xr.Name == ElemOverrideUrl)
m_ctxEntry.OverrideUrl = ReadString(xr);
@@ -689,7 +690,7 @@ namespace ModernKeePassLib.Serialization
}
m_bReadNextNode = false; // ReadElementString skips end tag
-#if PCL
+#if ModernKeePassLibPCL
return xr.ReadElementContentAsString();
#else
return xr.ReadElementString();
@@ -699,7 +700,7 @@ namespace ModernKeePassLib.Serialization
private string ReadStringRaw(XmlReader xr)
{
m_bReadNextNode = false; // ReadElementString skips end tag
-#if PCL
+#if ModernKeePassLibPCL
return xr.ReadElementContentAsString();
#else
return xr.ReadElementString();
diff --git a/ModernKeePassLib/Serialization/KdbxFile.Read.cs b/ModernKeePassLib/Serialization/KdbxFile.Read.cs
index 236452d..3596981 100644
--- a/ModernKeePassLib/Serialization/KdbxFile.Read.cs
+++ b/ModernKeePassLib/Serialization/KdbxFile.Read.cs
@@ -22,29 +22,28 @@ using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
using System.Security;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.Xml;
-using Windows.Security.Cryptography.Core;
+
#if !KeePassLibSD
using System.IO.Compression;
#else
using KeePassLibSD;
#endif
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Cryptography.Cipher;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Keys;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Cryptography.Cipher;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Keys;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
///
/// Serialization to KeePass KDBX files.
@@ -155,7 +154,7 @@ namespace ModernKeePassLib.Serialization
// GC.KeepAlive(br);
// GC.KeepAlive(brDecrypted);
}
-#if !PCL
+#if !ModernKeePassLibPCL
catch(CryptographicException) // Thrown on invalid padding
{
throw new CryptographicException(KLRes.FileCorrupted);
@@ -221,9 +220,9 @@ namespace ModernKeePassLib.Serialization
byte[] pbHeader = msHeader.ToArray();
msHeader.Dispose();
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- m_pbHashOfHeader = sha256.HashData(pbHeader.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ m_pbHashOfHeader = sha256.HashData(pbHeader);
#else
SHA256Managed sha256 = new SHA256Managed();
m_pbHashOfHeader = sha256.ComputeHash(pbHeader);
@@ -333,39 +332,46 @@ namespace ModernKeePassLib.Serialization
m_craInnerRandomStream = (CrsAlgorithm)uID;
}
- private Stream AttachStreamDecryptor(Stream s)
- {
- using (var ms = new MemoryStream())
- {
- Debug.Assert(m_pbMasterSeed.Length == 32);
- if (m_pbMasterSeed.Length != 32)
- throw new FormatException(KLRes.MasterSeedLengthInvalid);
- ms.Write(m_pbMasterSeed, 0, 32);
+ private Stream AttachStreamDecryptor(Stream s)
+ {
+ MemoryStream ms = new MemoryStream();
- byte[] pKey32 = m_pwDatabase.MasterKey.GenerateKey32(m_pbTransformSeed,
- m_pwDatabase.KeyEncryptionRounds).ReadData();
- if (pKey32 == null || pKey32.Length != 32)
- throw new SecurityException(KLRes.InvalidCompositeKey);
- ms.Write(pKey32, 0, 32);
+ Debug.Assert(m_pbMasterSeed.Length == 32);
+ if(m_pbMasterSeed.Length != 32)
+ throw new FormatException(KLRes.MasterSeedLengthInvalid);
+ ms.Write(m_pbMasterSeed, 0, 32);
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var aesKey = sha256.HashData(ms.GetWindowsRuntimeBuffer()).ToArray();
+ byte[] pKey32 = m_pwDatabase.MasterKey.GenerateKey32(m_pbTransformSeed,
+ m_pwDatabase.KeyEncryptionRounds).ReadData();
+ if((pKey32 == null) || (pKey32.Length != 32))
+ throw new SecurityException(KLRes.InvalidCompositeKey);
+ ms.Write(pKey32, 0, 32);
+
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var aesKey = sha256.HashData(ms.ToArray());
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] aesKey = sha256.ComputeHash(ms.ToArray());
#endif
- Array.Clear(pKey32, 0, 32);
- if (aesKey == null || aesKey.Length != 32)
- throw new SecurityException(KLRes.FinalKeyCreationFailed);
+ ms.Dispose();
+ Array.Clear(pKey32, 0, 32);
+
+ if((aesKey == null) || (aesKey.Length != 32))
+ throw new SecurityException(KLRes.FinalKeyCreationFailed);
+
+ ICipherEngine iEngine = CipherPool.GlobalPool.GetCipher(m_pwDatabase.DataCipherUuid);
+ if(iEngine == null) throw new SecurityException(KLRes.FileUnknownCipher);
+ return iEngine.DecryptStream(s, aesKey, m_pbEncryptionIV);
+ }
+
+ [Obsolete]
+ public static List ReadEntries(PwDatabase pwDatabase, Stream msData)
+ {
+ return ReadEntries(msData);
+ }
- ICipherEngine iEngine = CipherPool.GlobalPool.GetCipher(m_pwDatabase.DataCipherUuid);
- if (iEngine == null) throw new SecurityException(KLRes.FileUnknownCipher);
- return iEngine.DecryptStream(s, aesKey, m_pbEncryptionIV);
- }
- }
-
///
/// Read entries from a stream.
///
diff --git a/ModernKeePassLib/Serialization/KdbxFile.Write.cs b/ModernKeePassLib/Serialization/KdbxFile.Write.cs
index 174db17..29c3382 100644
--- a/ModernKeePassLib/Serialization/KdbxFile.Write.cs
+++ b/ModernKeePassLib/Serialization/KdbxFile.Write.cs
@@ -23,32 +23,32 @@ using System.Text;
using System.IO;
using System.Xml;
using System.Security;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
+using System.Drawing;
using System.Globalization;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.Core;
+
#if !KeePassLibSD
using System.IO.Compression;
#else
using KeePassLibSD;
#endif
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Cryptography.Cipher;
-using ModernKeePassLib.Delegates;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Keys;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Cryptography.Cipher;
+using ModernKeePassLibPCL.Delegates;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Keys;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
///
/// Serialization to KeePass KDBX files.
@@ -124,7 +124,7 @@ namespace ModernKeePassLib.Serialization
writerStream = hashedStream;
else { Debug.Assert(false); throw new FormatException("KdbFormat"); }
-#if PCL
+#if ModernKeePassLibPCL
var settings = new XmlWriterSettings() {
Encoding = encNoBom,
Indent = true,
@@ -188,9 +188,9 @@ namespace ModernKeePassLib.Serialization
byte[] pbHeader = ms.ToArray();
ms.Dispose();
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- m_pbHashOfHeader = sha256.HashData(pbHeader.AsBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ m_pbHashOfHeader = sha256.HashData(pbHeader);
#else
SHA256Managed sha256 = new SHA256Managed();
m_pbHashOfHeader = sha256.ComputeHash(pbHeader);
@@ -235,9 +235,9 @@ namespace ModernKeePassLib.Serialization
throw new SecurityException(KLRes.InvalidCompositeKey);
ms.Write(pKey32, 0, 32);
-#if PCL
- var sha256 = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
- var aesKey = sha256.HashData(ms.GetWindowsRuntimeBuffer()).ToArray();
+#if ModernKeePassLibPCL
+ var sha256 = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
+ var aesKey = sha256.HashData(ms.ToArray());
#else
SHA256Managed sha256 = new SHA256Managed();
byte[] aesKey = sha256.ComputeHash(ms.ToArray());
@@ -264,7 +264,7 @@ namespace ModernKeePassLib.Serialization
BinPoolBuild(pgRoot);
-#if !PCL
+#if !ModernKeePassLibPCL
m_xmlWriter.Formatting = Formatting.Indented;
m_xmlWriter.IndentChar = '\t';
m_xmlWriter.Indentation = 1;
diff --git a/ModernKeePassLib/Serialization/KdbxFile.cs b/ModernKeePassLib/Serialization/KdbxFile.cs
index 8fce7cb..e6871ce 100644
--- a/ModernKeePassLib/Serialization/KdbxFile.cs
+++ b/ModernKeePassLib/Serialization/KdbxFile.cs
@@ -29,18 +29,18 @@ using System.Diagnostics;
using System.IO.Compression;
#endif
-#if PCL
-using Windows.Storage;
+#if ModernKeePassLibPCL
+using PCLStorage;
#endif
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Cryptography;
-using ModernKeePassLib.Delegates;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Cryptography;
+using ModernKeePassLibPCL.Delegates;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
///
/// The KdbxFile class supports saving the data to various
@@ -195,7 +195,7 @@ namespace ModernKeePassLib.Serialization
private PwDatabase m_pwDatabase; // Not null, see constructor
-#if PCL
+#if ModernKeePassLibPCL
private XmlWriter m_xmlWriter = null;
#else
private XmlTextWriter m_xmlWriter = null;
@@ -383,16 +383,16 @@ namespace ModernKeePassLib.Serialization
++iTry;
}
-#if PCL
- while(ApplicationData.Current.RoamingFolder.GetFileAsync(strPath).GetResults() != null);
+#if ModernKeePassLibPCL
+ while(FileSystem.Current.GetFileFromPathAsync(strPath).Result != null);
#else
while(File.Exists(strPath));
#endif
-#if PCL
+#if ModernKeePassLibPCL
byte[] pbData = pb.ReadData();
- var file = ApplicationData.Current.RoamingFolder.GetFileAsync(strPath).GetResults();
- using (var stream = file.OpenAsync(FileAccessMode.ReadWrite).GetResults().AsStream()) {
+ var file = FileSystem.Current.GetFileFromPathAsync(strPath).Result;
+ using (var stream = file.OpenAsync(FileAccess.ReadAndWrite).Result) {
stream.Write (pbData, 0, pbData.Length);
}
MemUtil.ZeroByteArray(pbData);
diff --git a/ModernKeePassLib/Serialization/OldFormatException.cs b/ModernKeePassLib/Serialization/OldFormatException.cs
index 46a8aa6..4984025 100644
--- a/ModernKeePassLib/Serialization/OldFormatException.cs
+++ b/ModernKeePassLib/Serialization/OldFormatException.cs
@@ -21,10 +21,10 @@ using System;
using System.Collections.Generic;
using System.Text;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Serialization
+namespace ModernKeePassLibPCL.Serialization
{
public sealed class OldFormatException : Exception
{
diff --git a/ModernKeePassLib/Translation/KPControlCustomization.cs b/ModernKeePassLib/Translation/KPControlCustomization.cs
index 2e4ad0b..60d849b 100644
--- a/ModernKeePassLib/Translation/KPControlCustomization.cs
+++ b/ModernKeePassLib/Translation/KPControlCustomization.cs
@@ -21,14 +21,17 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
+using System.Windows.Forms;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Globalization;
using System.IO;
+using System.Security.Cryptography;
+using System.Drawing;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Utility;
-namespace ModernKeePassLib.Translation
+namespace ModernKeePassLibPCL.Translation
{
public sealed class KpccLayout
{
diff --git a/ModernKeePassLib/Translation/KPFormCustomization.cs b/ModernKeePassLib/Translation/KPFormCustomization.cs
index 4d0f7dc..4e4c705 100644
--- a/ModernKeePassLib/Translation/KPFormCustomization.cs
+++ b/ModernKeePassLib/Translation/KPFormCustomization.cs
@@ -25,7 +25,7 @@ using System.Xml.Serialization;
using System.Diagnostics;
using System.Reflection;
-namespace ModernKeePassLib.Translation
+namespace ModernKeePassLibPCL.Translation
{
public sealed class KPFormCustomization
{
diff --git a/ModernKeePassLib/Translation/KPStringTable.cs b/ModernKeePassLib/Translation/KPStringTable.cs
index ea55bac..9cd5c37 100644
--- a/ModernKeePassLib/Translation/KPStringTable.cs
+++ b/ModernKeePassLib/Translation/KPStringTable.cs
@@ -24,7 +24,7 @@ using System.Xml.Serialization;
using System.Windows.Forms;
using System.Diagnostics;
-namespace ModernKeePassLib.Translation
+namespace ModernKeePassLibPCL.Translation
{
public sealed class KPStringTable
{
diff --git a/ModernKeePassLib/Translation/KPStringTableItem.cs b/ModernKeePassLib/Translation/KPStringTableItem.cs
index 4bdb234..5ebd341 100644
--- a/ModernKeePassLib/Translation/KPStringTableItem.cs
+++ b/ModernKeePassLib/Translation/KPStringTableItem.cs
@@ -22,7 +22,7 @@ using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;
-namespace ModernKeePassLib.Translation
+namespace ModernKeePassLibPCL.Translation
{
public sealed class KPStringTableItem
{
diff --git a/ModernKeePassLib/Translation/KPTranslation.cs b/ModernKeePassLib/Translation/KPTranslation.cs
index 6e16d28..107afa1 100644
--- a/ModernKeePassLib/Translation/KPTranslation.cs
+++ b/ModernKeePassLib/Translation/KPTranslation.cs
@@ -28,8 +28,8 @@ using System.ComponentModel;
using System.Drawing;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
-using ModernKeePassLib.Utility;
+using ModernKeePassLibPCL.Interfaces;
+using ModernKeePassLibPCL.Utility;
#if !KeePassLibSD
using System.IO.Compression;
@@ -37,7 +37,7 @@ using System.IO.Compression;
using ICSharpCode.SharpZipLib.GZip;
#endif
-namespace ModernKeePassLib.Translation
+namespace ModernKeePassLibPCL.Translation
{
[XmlRoot("Translation")]
public sealed class KPTranslation
diff --git a/ModernKeePassLib/Translation/KPTranslationProperties.cs b/ModernKeePassLib/Translation/KPTranslationProperties.cs
index 0d0e721..1255357 100644
--- a/ModernKeePassLib/Translation/KPTranslationProperties.cs
+++ b/ModernKeePassLib/Translation/KPTranslationProperties.cs
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using System.Text;
-namespace ModernKeePassLib.Translation
+namespace ModernKeePassLibPCL.Translation
{
public sealed class KPTranslationProperties
{
diff --git a/ModernKeePassLib/Utility/AppLogEx.cs b/ModernKeePassLib/Utility/AppLogEx.cs
index 0e2dc56..8a6d141 100644
--- a/ModernKeePassLib/Utility/AppLogEx.cs
+++ b/ModernKeePassLib/Utility/AppLogEx.cs
@@ -27,7 +27,7 @@ using System.Diagnostics;
using System.IO.Compression;
#endif
-namespace ModernKeePassLib.Utility
+namespace ModernKeePassLibPCL.Utility
{
///
/// Application-wide logging services.
diff --git a/ModernKeePassLib/Utility/ColorTranslator.cs b/ModernKeePassLib/Utility/ColorTranslator.cs
index ad5fb13..4153d7a 100644
--- a/ModernKeePassLib/Utility/ColorTranslator.cs
+++ b/ModernKeePassLib/Utility/ColorTranslator.cs
@@ -3,7 +3,7 @@ using System.Drawing;
using System.Globalization;
using System.Text.RegularExpressions;
-namespace KeePass2PCL.Utility
+namespace ModernKeePassLibPCL.Utility
{
///
/// Replacement for System.Drawing.ColorTranslator.
diff --git a/ModernKeePassLib/Utility/GfxUtil.cs b/ModernKeePassLib/Utility/GfxUtil.cs
index baef385..4975f96 100644
--- a/ModernKeePassLib/Utility/GfxUtil.cs
+++ b/ModernKeePassLib/Utility/GfxUtil.cs
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
-#if KeePass2PCL
+#if ModernKeePassLibPCL
using Splat;
#else
using System.Drawing;
@@ -29,7 +29,7 @@ using System.Drawing.Imaging;
#endif
using System.Diagnostics;
-namespace KeePass2PCL.Utility
+namespace ModernKeePassLibPCL.Utility
{
public static class GfxUtil
{
@@ -40,7 +40,7 @@ namespace KeePass2PCL.Utility
try { return Image.FromStream(ms); }
finally { ms.Close(); }
}
-#elif KeePass2PCL
+#elif ModernKeePassLibPCL
public static IBitmap LoadImage(byte[] pb)
{
using (var ms = new MemoryStream(pb, false)) {
diff --git a/ModernKeePassLib/Utility/MemUtil.cs b/ModernKeePassLib/Utility/MemUtil.cs
index 0ff5093..62cff19 100644
--- a/ModernKeePassLib/Utility/MemUtil.cs
+++ b/ModernKeePassLib/Utility/MemUtil.cs
@@ -29,7 +29,7 @@ using System.IO.Compression;
using KeePassLibSD;
#endif
-namespace ModernKeePassLib.Utility
+namespace ModernKeePassLibPCL.Utility
{
///
/// Contains static buffer manipulation and string conversion routines.
diff --git a/ModernKeePassLib/Utility/MessageService.cs b/ModernKeePassLib/Utility/MessageService.cs
index 77e087b..c10296e 100644
--- a/ModernKeePassLib/Utility/MessageService.cs
+++ b/ModernKeePassLib/Utility/MessageService.cs
@@ -24,10 +24,10 @@ using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
-using ModernKeePassLib.Resources;
-using ModernKeePassLib.Serialization;
+using ModernKeePassLibPCL.Resources;
+using ModernKeePassLibPCL.Serialization;
-namespace ModernKeePassLib.Utility
+namespace ModernKeePassLibPCL.Utility
{
public sealed class MessageServiceEventArgs : EventArgs
{
diff --git a/ModernKeePassLib/Utility/MonoWorkarounds.cs b/ModernKeePassLib/Utility/MonoWorkarounds.cs
index 9683d92..83f5d3d 100644
--- a/ModernKeePassLib/Utility/MonoWorkarounds.cs
+++ b/ModernKeePassLib/Utility/MonoWorkarounds.cs
@@ -25,9 +25,9 @@ using System.ComponentModel;
using System.Reflection;
using System.Diagnostics;
-using KeePass2PCL.Native;
+using ModernKeePassLibPCL.Native;
-namespace KeePass2PCL.Utility
+namespace ModernKeePassLibPCL.Utility
{
public static class MonoWorkarounds
{
diff --git a/ModernKeePassLib/Utility/StrUtil.cs b/ModernKeePassLib/Utility/StrUtil.cs
index 5287919..342f46a 100644
--- a/ModernKeePassLib/Utility/StrUtil.cs
+++ b/ModernKeePassLib/Utility/StrUtil.cs
@@ -21,26 +21,24 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
+using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
-#if PCL
-using Windows.Security.Cryptography;
+#if ModernKeePassLibPCL
+using PCLCrypto;
#else
using System.Security.Cryptography;
#endif
using System.Globalization;
using System.Diagnostics;
-using System.Runtime.InteropServices.WindowsRuntime;
-using Windows.Security.Cryptography.DataProtection;
-using Windows.Storage.Streams;
-using Windows.UI;
-using ModernKeePassLib.Collections;
-using ModernKeePassLib.Cryptography.PasswordGenerator;
-using ModernKeePassLib.Security;
-using ModernKeePassLib.Resources;
-using UnicodeEncoding = System.Text.UnicodeEncoding;
-namespace ModernKeePassLib.Utility
+using ModernKeePassLibPCL.Collections;
+using ModernKeePassLibPCL.Cryptography.PasswordGenerator;
+using ModernKeePassLibPCL.Native;
+using ModernKeePassLibPCL.Security;
+using ModernKeePassLibPCL.Resources;
+
+namespace ModernKeePassLibPCL.Utility
{
///
/// Character stream class.
@@ -225,7 +223,7 @@ namespace ModernKeePassLib.Utility
List l = new List();
l.Add(new StrEncodingInfo(StrEncodingType.Default,
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
StrUtil.Utf8.WebName, StrUtil.Utf8, 1, null));
#else
#if !KeePassLibSD
@@ -236,7 +234,7 @@ namespace ModernKeePassLib.Utility
Encoding.Default,
(uint)Encoding.Default.GetBytes("a").Length, null));
#endif
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
l.Add(new StrEncodingInfo(StrEncodingType.Ascii,
"ASCII", Encoding.ASCII, 1, null));
l.Add(new StrEncodingInfo(StrEncodingType.Utf7,
@@ -250,7 +248,7 @@ namespace ModernKeePassLib.Utility
l.Add(new StrEncodingInfo(StrEncodingType.Utf16BE,
"Unicode (UTF-16 BE)", new UnicodeEncoding(true, false),
2, new byte[] { 0xFE, 0xFF }));
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
l.Add(new StrEncodingInfo(StrEncodingType.Utf32LE,
"Unicode (UTF-32 LE)", new UTF32Encoding(false, false),
4, new byte[] { 0xFF, 0xFE, 0x0, 0x0 }));
@@ -501,7 +499,7 @@ namespace ModernKeePassLib.Utility
if(excp.StackTrace != null)
strText += excp.StackTrace + Environment.NewLine;
#if !KeePassLibSD
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
if(excp.TargetSite != null)
strText += excp.TargetSite.ToString() + MessageService.NewLine;
#endif
@@ -527,7 +525,7 @@ namespace ModernKeePassLib.Utility
if(excp.InnerException.StackTrace != null)
strText += excp.InnerException.StackTrace + Environment.NewLine;
#if !KeePassLibSD
-#if !PCL && !KeePassRT
+#if !ModernKeePassLibPCL && !KeePassRT
if(excp.InnerException.TargetSite != null)
strText += excp.InnerException.TargetSite.ToString();
#endif
@@ -772,15 +770,15 @@ namespace ModernKeePassLib.Utility
Debug.Assert(strY != null);
if(strY == null) throw new ArgumentNullException("strY");
- /*if(NativeMethods.SupportsStrCmpNaturally)
- return NativeMethods.StrCmpNaturally(strX, strY);*/
+ if(NativeMethods.SupportsStrCmpNaturally)
+ return NativeMethods.StrCmpNaturally(strX, strY);
strX = strX.ToLower(); // Case-insensitive comparison
strY = strY.ToLower();
if(m_rxNaturalSplit == null)
m_rxNaturalSplit = new Regex(@"([0-9]+)",
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
RegexOptions.None);
#else
RegexOptions.Compiled);
@@ -1191,14 +1189,13 @@ namespace ModernKeePassLib.Utility
try
{
byte[] pbPlain = StrUtil.Utf8.GetBytes(strPlainText);
+ byte[] pbEnc = ProtectedData.Protect(pbPlain, m_pbOptEnt,
+ DataProtectionScope.CurrentUser);
- var provider = new DataProtectionProvider("Local=user");
- var pbEnc = provider.ProtectAsync(pbPlain.AsBuffer()).GetResults();
-
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
return Convert.ToBase64String(pbEnc, Base64FormattingOptions.None);
#else
- return Convert.ToBase64String(pbEnc.ToArray());
+ return Convert.ToBase64String(pbEnc);
#endif
}
catch(Exception) { Debug.Assert(false); }
@@ -1213,9 +1210,9 @@ namespace ModernKeePassLib.Utility
try
{
byte[] pbEnc = Convert.FromBase64String(strCipherText);
- var provider = new DataProtectionProvider("Local=user");
- var pbPlain = provider.UnprotectAsync(pbEnc.AsBuffer()).GetResults().ToArray();
-
+ byte[] pbPlain = ProtectedData.Unprotect(pbEnc, m_pbOptEnt,
+ DataProtectionScope.CurrentUser);
+
return StrUtil.Utf8.GetString(pbPlain, 0, pbPlain.Length);
}
catch(Exception) { Debug.Assert(false); }
@@ -1308,7 +1305,7 @@ namespace ModernKeePassLib.Utility
Array.Reverse(pb);
for(int i = 0; i < pb.Length; ++i) pb[i] = (byte)(pb[i] ^ 0x65);
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
return Convert.ToBase64String(pb, Base64FormattingOptions.None);
#else
return Convert.ToBase64String(pb);
@@ -1468,7 +1465,7 @@ namespace ModernKeePassLib.Utility
if(strMimeType == null) strMimeType = "application/octet-stream";
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
return ("data:" + strMimeType + ";base64," + Convert.ToBase64String(
pbData, Base64FormattingOptions.None));
#else
@@ -1499,7 +1496,7 @@ namespace ModernKeePassLib.Utility
MemoryStream ms = new MemoryStream();
-#if PCL || KeePassRT
+#if ModernKeePassLibPCL || KeePassRT
Encoding enc = StrUtil.Utf8;
#else
Encoding enc = Encoding.ASCII;
diff --git a/ModernKeePassLib/Utility/StreamExtensions.cs b/ModernKeePassLib/Utility/StreamExtensions.cs
new file mode 100644
index 0000000..499a4c2
--- /dev/null
+++ b/ModernKeePassLib/Utility/StreamExtensions.cs
@@ -0,0 +1,17 @@
+using System.IO;
+using Windows.Storage.Streams;
+
+namespace ModernKeePassLibPCL.Utility
+{
+ public static class StreamExtensions
+ {
+ public static Stream AsStream(this IRandomAccessStream inputStream)
+ {
+ var reader = new DataReader(inputStream.GetInputStreamAt(0));
+ var bytes = new byte[inputStream.Size];
+ reader.LoadAsync((uint)inputStream.Size).GetResults();
+ reader.ReadBytes(bytes);
+ return new MemoryStream(bytes);
+ }
+ }
+}
diff --git a/ModernKeePassLib/Utility/TimeUtil.cs b/ModernKeePassLib/Utility/TimeUtil.cs
index 9963dc3..a8b7442 100644
--- a/ModernKeePassLib/Utility/TimeUtil.cs
+++ b/ModernKeePassLib/Utility/TimeUtil.cs
@@ -23,9 +23,9 @@ using System.Text;
using System.Globalization;
using System.Diagnostics;
-using ModernKeePassLib.Interfaces;
+using ModernKeePassLibPCL.Interfaces;
-namespace ModernKeePassLib.Utility
+namespace ModernKeePassLibPCL.Utility
{
///
/// Contains various static time structure manipulation and conversion
diff --git a/ModernKeePassLib/Utility/UrlUtil.cs b/ModernKeePassLib/Utility/UrlUtil.cs
index a41f1ca..6d343a2 100644
--- a/ModernKeePassLib/Utility/UrlUtil.cs
+++ b/ModernKeePassLib/Utility/UrlUtil.cs
@@ -24,11 +24,13 @@ using System.Runtime.InteropServices;
using System.Text;
using System.Diagnostics;
-#if PCL
-using Windows.Storage;
+#if ModernKeePassLibPCL
+using PCLStorage;
#endif
-namespace ModernKeePassLib.Utility
+using ModernKeePassLibPCL.Native;
+
+namespace ModernKeePassLibPCL.Utility
{
///
/// A class containing various static path utility helper methods (like
@@ -38,7 +40,7 @@ namespace ModernKeePassLib.Utility
{
private static readonly char[] m_vDirSeps = new char[] {
'\\', '/', UrlUtil.LocalDirSepChar };
-#if !PCL
+#if !ModernKeePassLibPCL
private static readonly char[] m_vPathTrimCharsWs = new char[] {
'\"', ' ', '\t', '\r', '\n' };
#endif
@@ -47,9 +49,8 @@ namespace ModernKeePassLib.Utility
{
#if KeePassRT
get { return '\\'; }
-#elif PCL
- //get { return PortablePath.DirectorySeparatorChar; }
- get { return '\\'; }
+#elif ModernKeePassLibPCL
+ get { return PortablePath.DirectorySeparatorChar; }
#else
get { return Path.DirectorySeparatorChar; }
#endif
@@ -264,7 +265,7 @@ namespace ModernKeePassLib.Utility
public static bool UnhideFile(string strFile)
{
-#if (PCL || KeePassLibSD || KeePassRT)
+#if (ModernKeePassLibPCL || KeePassLibSD || KeePassRT)
return false;
#else
if(strFile == null) throw new ArgumentNullException("strFile");
@@ -284,7 +285,7 @@ namespace ModernKeePassLib.Utility
public static bool HideFile(string strFile, bool bHide)
{
-#if (PCL || KeePassLibSD || KeePassRT)
+#if (ModernKeePassLibPCL || KeePassLibSD || KeePassRT)
return false;
#else
if(strFile == null) throw new ArgumentNullException("strFile");
@@ -325,7 +326,7 @@ namespace ModernKeePassLib.Utility
return strTargetFile;
}
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
if(NativeLib.IsUnix())
#endif
{
@@ -358,7 +359,7 @@ namespace ModernKeePassLib.Utility
return sbRel.ToString();
}
-#if (!PCL && !KeePassLibSD && !KeePassRT)
+#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
try // Windows
{
const int nMaxPath = NativeMethods.MAX_PATH * 2;
@@ -452,13 +453,12 @@ namespace ModernKeePassLib.Utility
try
{
#if KeePassRT
- var dirT = StorageFolder.GetFolderFromPathAsync(
- strPath).GetResults();
+ var dirT = Windows.Storage.StorageFolder.GetFolderFromPathAsync(
+ strPath).AwaitEx();
+ str = dirT.Path;
+#elif ModernKeePassLibPCL
+ var dirT = FileSystem.Current.GetFolderFromPathAsync(strPath).Result;
str = dirT.Path;
-#elif PCL
- //var dirT = FileSystem.Current.GetFolderFromPathAsync(strPath).Result;
- str = ApplicationData.Current.RoamingFolder.Path;
- //str = dirT.Path;
#else
str = Path.GetFullPath(strPath);
#endif
@@ -631,7 +631,7 @@ namespace ModernKeePassLib.Utility
return false;
}
-#if !PCL
+#if !ModernKeePassLibPCL
public static string GetTempPath()
{
string strDir;
@@ -654,7 +654,7 @@ namespace ModernKeePassLib.Utility
}
#endif
-#if !PCL && !KeePassLibSD
+#if !ModernKeePassLibPCL && !KeePassLibSD
// Structurally mostly equivalent to UrlUtil.GetFileInfos
public static List GetFilePaths(string strDir, string strPattern,
SearchOption opt)
diff --git a/ModernKeePassLib/app.config b/ModernKeePassLib/app.config
new file mode 100644
index 0000000..81b66be
--- /dev/null
+++ b/ModernKeePassLib/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePassLib/packages.config b/ModernKeePassLib/packages.config
new file mode 100644
index 0000000..a1a23a0
--- /dev/null
+++ b/ModernKeePassLib/packages.config
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePassLib/project.json b/ModernKeePassLib/project.json
deleted file mode 100644
index 754f7fe..0000000
--- a/ModernKeePassLib/project.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "supports": {},
- "dependencies": {
- "Microsoft.NETCore.Portable.Compatibility": "1.0.2",
- "NETStandard.Library": "2.0.0",
- "System.Net.Requests": "4.3.0",
- "System.Runtime.WindowsRuntime": "4.3.0",
- "System.Xml.ReaderWriter": "4.3.0",
- "System.Xml.XmlSerializer": "4.3.0"
- },
- "frameworks": {
- "netstandard1.2": {}
- }
-}
\ No newline at end of file
diff --git a/ModernKeePassLib/project.lock.json b/ModernKeePassLib/project.lock.json
deleted file mode 100644
index 8936cd5..0000000
--- a/ModernKeePassLib/project.lock.json
+++ /dev/null
@@ -1,2996 +0,0 @@
-{
- "locked": false,
- "version": 2,
- "targets": {
- ".NETStandard,Version=v1.2": {
- "Microsoft.NETCore.Jit/1.0.2": {
- "type": "package"
- },
- "Microsoft.NETCore.Platforms/1.1.0": {
- "type": "package",
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- }
- },
- "Microsoft.NETCore.Portable.Compatibility/1.0.2": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2"
- },
- "compile": {
- "ref/netstandard1.0/System.ComponentModel.DataAnnotations.dll": {},
- "ref/netstandard1.0/System.Core.dll": {},
- "ref/netstandard1.0/System.Net.dll": {},
- "ref/netstandard1.0/System.Numerics.dll": {},
- "ref/netstandard1.0/System.Runtime.Serialization.dll": {},
- "ref/netstandard1.0/System.ServiceModel.Web.dll": {},
- "ref/netstandard1.0/System.ServiceModel.dll": {},
- "ref/netstandard1.0/System.Windows.dll": {},
- "ref/netstandard1.0/System.Xml.Linq.dll": {},
- "ref/netstandard1.0/System.Xml.Serialization.dll": {},
- "ref/netstandard1.0/System.Xml.dll": {},
- "ref/netstandard1.0/System.dll": {},
- "ref/netstandard1.0/mscorlib.dll": {}
- },
- "runtime": {
- "lib/netstandard1.0/System.ComponentModel.DataAnnotations.dll": {},
- "lib/netstandard1.0/System.Core.dll": {},
- "lib/netstandard1.0/System.Net.dll": {},
- "lib/netstandard1.0/System.Numerics.dll": {},
- "lib/netstandard1.0/System.Runtime.Serialization.dll": {},
- "lib/netstandard1.0/System.ServiceModel.Web.dll": {},
- "lib/netstandard1.0/System.ServiceModel.dll": {},
- "lib/netstandard1.0/System.Windows.dll": {},
- "lib/netstandard1.0/System.Xml.Linq.dll": {},
- "lib/netstandard1.0/System.Xml.Serialization.dll": {},
- "lib/netstandard1.0/System.Xml.dll": {},
- "lib/netstandard1.0/System.dll": {}
- }
- },
- "Microsoft.NETCore.Runtime.CoreCLR/1.0.2": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Jit": "1.0.2",
- "Microsoft.NETCore.Windows.ApiSets": "1.0.1"
- }
- },
- "Microsoft.NETCore.Targets/1.1.0": {
- "type": "package",
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- }
- },
- "Microsoft.NETCore.Windows.ApiSets/1.0.1": {
- "type": "package"
- },
- "NETStandard.Library/2.0.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "System.Collections": "4.3.0",
- "System.Collections.Concurrent": "4.3.0",
- "System.Diagnostics.Debug": "4.3.0",
- "System.Diagnostics.Tools": "4.3.0",
- "System.Diagnostics.Tracing": "4.3.0",
- "System.Globalization": "4.3.0",
- "System.IO": "4.3.0",
- "System.IO.Compression": "4.3.0",
- "System.Linq": "4.3.0",
- "System.Linq.Expressions": "4.3.0",
- "System.Net.Http": "4.3.2",
- "System.Net.Primitives": "4.3.0",
- "System.ObjectModel": "4.3.0",
- "System.Reflection": "4.3.0",
- "System.Reflection.Extensions": "4.3.0",
- "System.Reflection.Primitives": "4.3.0",
- "System.Resources.ResourceManager": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Runtime.Extensions": "4.3.0",
- "System.Runtime.InteropServices": "4.3.0",
- "System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
- "System.Runtime.Numerics": "4.3.0",
- "System.Text.Encoding": "4.3.0",
- "System.Text.Encoding.Extensions": "4.3.0",
- "System.Text.RegularExpressions": "4.3.0",
- "System.Threading": "4.3.0",
- "System.Threading.Tasks": "4.3.0",
- "System.Threading.Timer": "4.3.0",
- "System.Xml.ReaderWriter": "4.3.0",
- "System.Xml.XDocument": "4.3.0"
- },
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- }
- },
- "runtime.native.System/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0"
- },
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- }
- },
- "System.Collections/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Collections.dll": {}
- }
- },
- "System.Collections.Concurrent/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Runtime": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.Collections.Concurrent.dll": {}
- }
- },
- "System.Diagnostics.Debug/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Diagnostics.Debug.dll": {}
- }
- },
- "System.Diagnostics.Tools/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Diagnostics.Tools.dll": {}
- }
- },
- "System.Diagnostics.Tracing/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.2/System.Diagnostics.Tracing.dll": {}
- }
- },
- "System.Globalization/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Globalization.dll": {}
- }
- },
- "System.IO/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0",
- "System.Text.Encoding": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.IO.dll": {}
- }
- },
- "System.IO.Compression/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Text.Encoding": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.IO.Compression.dll": {}
- }
- },
- "System.Linq/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Collections": "4.3.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Linq.dll": {}
- }
- },
- "System.Linq.Expressions/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Reflection": "4.3.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Linq.Expressions.dll": {}
- }
- },
- "System.Net.Http/4.3.2": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Net.Primitives": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Text.Encoding": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.Net.Http.dll": {}
- }
- },
- "System.Net.Primitives/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.Net.Primitives.dll": {}
- }
- },
- "System.Net.Requests/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Net.Primitives": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.Net.Requests.dll": {}
- }
- },
- "System.ObjectModel/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.ObjectModel.dll": {}
- }
- },
- "System.Reflection/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.IO": "4.3.0",
- "System.Reflection.Primitives": "4.3.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Reflection.dll": {}
- }
- },
- "System.Reflection.Extensions/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Reflection": "4.3.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Reflection.Extensions.dll": {}
- }
- },
- "System.Reflection.Primitives/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Reflection.Primitives.dll": {}
- }
- },
- "System.Resources.ResourceManager/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Globalization": "4.3.0",
- "System.Reflection": "4.3.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Resources.ResourceManager.dll": {}
- }
- },
- "System.Runtime/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0"
- },
- "compile": {
- "ref/netstandard1.2/System.Runtime.dll": {}
- }
- },
- "System.Runtime.Extensions/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Runtime.Extensions.dll": {}
- }
- },
- "System.Runtime.InteropServices/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Reflection": "4.3.0",
- "System.Reflection.Primitives": "4.3.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.2/System.Runtime.InteropServices.dll": {}
- }
- },
- "System.Runtime.InteropServices.RuntimeInformation/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Reflection": "4.3.0",
- "System.Reflection.Extensions": "4.3.0",
- "System.Resources.ResourceManager": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Runtime.InteropServices": "4.3.0",
- "System.Threading": "4.3.0",
- "runtime.native.System": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {}
- },
- "runtime": {
- "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {}
- },
- "runtimeTargets": {
- "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {
- "assetType": "runtime",
- "rid": "unix"
- },
- "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {
- "assetType": "runtime",
- "rid": "win"
- }
- }
- },
- "System.Runtime.Numerics/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.1/System.Runtime.Numerics.dll": {}
- }
- },
- "System.Runtime.WindowsRuntime/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.2/System.Runtime.WindowsRuntime.dll": {}
- }
- },
- "System.Text.Encoding/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Text.Encoding.dll": {}
- }
- },
- "System.Text.Encoding.Extensions/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0",
- "System.Text.Encoding": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Text.Encoding.Extensions.dll": {}
- }
- },
- "System.Text.RegularExpressions/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Text.RegularExpressions.dll": {}
- }
- },
- "System.Threading/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.Runtime": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Threading.dll": {}
- }
- },
- "System.Threading.Tasks/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Threading.Tasks.dll": {}
- }
- },
- "System.Threading.Timer/4.3.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.2/System.Threading.Timer.dll": {}
- }
- },
- "System.Xml.ReaderWriter/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Text.Encoding": "4.3.0",
- "System.Threading.Tasks": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Xml.ReaderWriter.dll": {}
- }
- },
- "System.Xml.XDocument/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Xml.ReaderWriter": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Xml.XDocument.dll": {}
- }
- },
- "System.Xml.XmlSerializer/4.3.0": {
- "type": "package",
- "dependencies": {
- "System.IO": "4.3.0",
- "System.Runtime": "4.3.0",
- "System.Xml.ReaderWriter": "4.3.0"
- },
- "compile": {
- "ref/netstandard1.0/System.Xml.XmlSerializer.dll": {}
- }
- }
- }
- },
- "libraries": {
- "Microsoft.NETCore.Jit/1.0.2": {
- "sha512": "Ok2vWofa6X8WD9vc4pfLHwvJz1/B6t3gOAoZcjrjrQf7lQOlNIuZIZtLn3wnWX28DuQGpPJkRlBxFj7Z5txNqw==",
- "type": "package",
- "files": [
- "Microsoft.NETCore.Jit.1.0.2.nupkg.sha512",
- "Microsoft.NETCore.Jit.nuspec",
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.Platforms/1.1.0": {
- "sha512": "+XHS7n+M0uDgC28FAzPVRvDG2SvxtkprfAdbd0Cf9Fqa8YgMuXPXvoTB0SW/W/Z6kbuvp0fVeDItXnC9rnL+XA==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/netstandard1.0/_._",
- "microsoft.netcore.platforms.1.1.0.nupkg.sha512",
- "microsoft.netcore.platforms.nuspec",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.Portable.Compatibility/1.0.2": {
- "sha512": "sR4m1GQ8Tbg+Xdbf8Y8yC+LXKSUJUVe/B5vckCAU9Jd5MYf84gC1D0u2YeA72B4WjeWewCyHRB20ddA8hyLmqQ==",
- "type": "package",
- "files": [
- "Microsoft.NETCore.Portable.Compatibility.1.0.2.nupkg.sha512",
- "Microsoft.NETCore.Portable.Compatibility.nuspec",
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/net45/_._",
- "lib/netcore50/System.ComponentModel.DataAnnotations.dll",
- "lib/netcore50/System.Core.dll",
- "lib/netcore50/System.Net.dll",
- "lib/netcore50/System.Numerics.dll",
- "lib/netcore50/System.Runtime.Serialization.dll",
- "lib/netcore50/System.ServiceModel.Web.dll",
- "lib/netcore50/System.ServiceModel.dll",
- "lib/netcore50/System.Windows.dll",
- "lib/netcore50/System.Xml.Linq.dll",
- "lib/netcore50/System.Xml.Serialization.dll",
- "lib/netcore50/System.Xml.dll",
- "lib/netcore50/System.dll",
- "lib/netstandard1.0/System.ComponentModel.DataAnnotations.dll",
- "lib/netstandard1.0/System.Core.dll",
- "lib/netstandard1.0/System.Net.dll",
- "lib/netstandard1.0/System.Numerics.dll",
- "lib/netstandard1.0/System.Runtime.Serialization.dll",
- "lib/netstandard1.0/System.ServiceModel.Web.dll",
- "lib/netstandard1.0/System.ServiceModel.dll",
- "lib/netstandard1.0/System.Windows.dll",
- "lib/netstandard1.0/System.Xml.Linq.dll",
- "lib/netstandard1.0/System.Xml.Serialization.dll",
- "lib/netstandard1.0/System.Xml.dll",
- "lib/netstandard1.0/System.dll",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "ref/net45/_._",
- "ref/netcore50/System.ComponentModel.DataAnnotations.dll",
- "ref/netcore50/System.Core.dll",
- "ref/netcore50/System.Net.dll",
- "ref/netcore50/System.Numerics.dll",
- "ref/netcore50/System.Runtime.Serialization.dll",
- "ref/netcore50/System.ServiceModel.Web.dll",
- "ref/netcore50/System.ServiceModel.dll",
- "ref/netcore50/System.Windows.dll",
- "ref/netcore50/System.Xml.Linq.dll",
- "ref/netcore50/System.Xml.Serialization.dll",
- "ref/netcore50/System.Xml.dll",
- "ref/netcore50/System.dll",
- "ref/netcore50/mscorlib.dll",
- "ref/netstandard1.0/System.ComponentModel.DataAnnotations.dll",
- "ref/netstandard1.0/System.Core.dll",
- "ref/netstandard1.0/System.Net.dll",
- "ref/netstandard1.0/System.Numerics.dll",
- "ref/netstandard1.0/System.Runtime.Serialization.dll",
- "ref/netstandard1.0/System.ServiceModel.Web.dll",
- "ref/netstandard1.0/System.ServiceModel.dll",
- "ref/netstandard1.0/System.Windows.dll",
- "ref/netstandard1.0/System.Xml.Linq.dll",
- "ref/netstandard1.0/System.Xml.Serialization.dll",
- "ref/netstandard1.0/System.Xml.dll",
- "ref/netstandard1.0/System.dll",
- "ref/netstandard1.0/mscorlib.dll",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "runtimes/aot/lib/netcore50/System.ComponentModel.DataAnnotations.dll",
- "runtimes/aot/lib/netcore50/System.Core.dll",
- "runtimes/aot/lib/netcore50/System.Net.dll",
- "runtimes/aot/lib/netcore50/System.Numerics.dll",
- "runtimes/aot/lib/netcore50/System.Runtime.Serialization.dll",
- "runtimes/aot/lib/netcore50/System.ServiceModel.Web.dll",
- "runtimes/aot/lib/netcore50/System.ServiceModel.dll",
- "runtimes/aot/lib/netcore50/System.Windows.dll",
- "runtimes/aot/lib/netcore50/System.Xml.Linq.dll",
- "runtimes/aot/lib/netcore50/System.Xml.Serialization.dll",
- "runtimes/aot/lib/netcore50/System.Xml.dll",
- "runtimes/aot/lib/netcore50/System.dll",
- "runtimes/aot/lib/netcore50/mscorlib.dll"
- ]
- },
- "Microsoft.NETCore.Runtime.CoreCLR/1.0.2": {
- "sha512": "A0x1xtTjYJWZr2DRzgfCOXgB0JkQg8twnmtTJ79wFje+IihlLbXtx6Z2AxyVokBM5ruwTedR6YdCmHk39QJdtQ==",
- "type": "package",
- "files": [
- "Microsoft.NETCore.Runtime.CoreCLR.1.0.2.nupkg.sha512",
- "Microsoft.NETCore.Runtime.CoreCLR.nuspec",
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.Targets/1.1.0": {
- "sha512": "dUUadXhJMY9VZYrGVdJDKzcXsYcUmadCTd1Kz4VQgLuZhaC+QlbC7tDkFSE+snB5TBLxmRU3ZfX8ur4buLawqQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/netstandard1.0/_._",
- "microsoft.netcore.targets.1.1.0.nupkg.sha512",
- "microsoft.netcore.targets.nuspec",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.Windows.ApiSets/1.0.1": {
- "sha512": "q0mF2juY/56CMT5b+bi8uh90ZiH1DB8TCoaK6nOTRZPQmRiqz+8JuOIu1upvy21SZHoesIl9alCFXK5MlfKFuQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "microsoft.netcore.windows.apisets.1.0.1.nupkg.sha512",
- "microsoft.netcore.windows.apisets.nuspec",
- "runtime.json"
- ]
- },
- "NETStandard.Library/2.0.0": {
- "sha512": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==",
- "type": "package",
- "files": [
- "LICENSE.TXT",
- "NETStandard.Library.2.0.0.nupkg.sha512",
- "NETStandard.Library.nuspec",
- "THIRD-PARTY-NOTICES.TXT",
- "build/NETStandard.Library.targets",
- "build/netstandard2.0/NETStandard.Library.targets",
- "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll",
- "build/netstandard2.0/ref/System.AppContext.dll",
- "build/netstandard2.0/ref/System.Collections.Concurrent.dll",
- "build/netstandard2.0/ref/System.Collections.NonGeneric.dll",
- "build/netstandard2.0/ref/System.Collections.Specialized.dll",
- "build/netstandard2.0/ref/System.Collections.dll",
- "build/netstandard2.0/ref/System.ComponentModel.Composition.dll",
- "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll",
- "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll",
- "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll",
- "build/netstandard2.0/ref/System.ComponentModel.dll",
- "build/netstandard2.0/ref/System.Console.dll",
- "build/netstandard2.0/ref/System.Core.dll",
- "build/netstandard2.0/ref/System.Data.Common.dll",
- "build/netstandard2.0/ref/System.Data.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Debug.dll",
- "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Process.dll",
- "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll",
- "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Tools.dll",
- "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll",
- "build/netstandard2.0/ref/System.Drawing.Primitives.dll",
- "build/netstandard2.0/ref/System.Drawing.dll",
- "build/netstandard2.0/ref/System.Dynamic.Runtime.dll",
- "build/netstandard2.0/ref/System.Globalization.Calendars.dll",
- "build/netstandard2.0/ref/System.Globalization.Extensions.dll",
- "build/netstandard2.0/ref/System.Globalization.dll",
- "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll",
- "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll",
- "build/netstandard2.0/ref/System.IO.Compression.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.dll",
- "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll",
- "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll",
- "build/netstandard2.0/ref/System.IO.Pipes.dll",
- "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll",
- "build/netstandard2.0/ref/System.IO.dll",
- "build/netstandard2.0/ref/System.Linq.Expressions.dll",
- "build/netstandard2.0/ref/System.Linq.Parallel.dll",
- "build/netstandard2.0/ref/System.Linq.Queryable.dll",
- "build/netstandard2.0/ref/System.Linq.dll",
- "build/netstandard2.0/ref/System.Net.Http.dll",
- "build/netstandard2.0/ref/System.Net.NameResolution.dll",
- "build/netstandard2.0/ref/System.Net.NetworkInformation.dll",
- "build/netstandard2.0/ref/System.Net.Ping.dll",
- "build/netstandard2.0/ref/System.Net.Primitives.dll",
- "build/netstandard2.0/ref/System.Net.Requests.dll",
- "build/netstandard2.0/ref/System.Net.Security.dll",
- "build/netstandard2.0/ref/System.Net.Sockets.dll",
- "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll",
- "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll",
- "build/netstandard2.0/ref/System.Net.WebSockets.dll",
- "build/netstandard2.0/ref/System.Net.dll",
- "build/netstandard2.0/ref/System.Numerics.dll",
- "build/netstandard2.0/ref/System.ObjectModel.dll",
- "build/netstandard2.0/ref/System.Reflection.Extensions.dll",
- "build/netstandard2.0/ref/System.Reflection.Primitives.dll",
- "build/netstandard2.0/ref/System.Reflection.dll",
- "build/netstandard2.0/ref/System.Resources.Reader.dll",
- "build/netstandard2.0/ref/System.Resources.ResourceManager.dll",
- "build/netstandard2.0/ref/System.Resources.Writer.dll",
- "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll",
- "build/netstandard2.0/ref/System.Runtime.Extensions.dll",
- "build/netstandard2.0/ref/System.Runtime.Handles.dll",
- "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll",
- "build/netstandard2.0/ref/System.Runtime.InteropServices.dll",
- "build/netstandard2.0/ref/System.Runtime.Numerics.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.dll",
- "build/netstandard2.0/ref/System.Runtime.dll",
- "build/netstandard2.0/ref/System.Security.Claims.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll",
- "build/netstandard2.0/ref/System.Security.Principal.dll",
- "build/netstandard2.0/ref/System.Security.SecureString.dll",
- "build/netstandard2.0/ref/System.ServiceModel.Web.dll",
- "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll",
- "build/netstandard2.0/ref/System.Text.Encoding.dll",
- "build/netstandard2.0/ref/System.Text.RegularExpressions.dll",
- "build/netstandard2.0/ref/System.Threading.Overlapped.dll",
- "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll",
- "build/netstandard2.0/ref/System.Threading.Tasks.dll",
- "build/netstandard2.0/ref/System.Threading.Thread.dll",
- "build/netstandard2.0/ref/System.Threading.ThreadPool.dll",
- "build/netstandard2.0/ref/System.Threading.Timer.dll",
- "build/netstandard2.0/ref/System.Threading.dll",
- "build/netstandard2.0/ref/System.Transactions.dll",
- "build/netstandard2.0/ref/System.ValueTuple.dll",
- "build/netstandard2.0/ref/System.Web.dll",
- "build/netstandard2.0/ref/System.Windows.dll",
- "build/netstandard2.0/ref/System.Xml.Linq.dll",
- "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll",
- "build/netstandard2.0/ref/System.Xml.Serialization.dll",
- "build/netstandard2.0/ref/System.Xml.XDocument.dll",
- "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll",
- "build/netstandard2.0/ref/System.Xml.XPath.dll",
- "build/netstandard2.0/ref/System.Xml.XmlDocument.dll",
- "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll",
- "build/netstandard2.0/ref/System.Xml.dll",
- "build/netstandard2.0/ref/System.dll",
- "build/netstandard2.0/ref/mscorlib.dll",
- "build/netstandard2.0/ref/netstandard.dll",
- "build/netstandard2.0/ref/netstandard.xml",
- "lib/netstandard1.0/_._"
- ]
- },
- "runtime.native.System/4.3.0": {
- "sha512": "HhykbX7CxJfRxeSnztqdszl4wvsxTi3Q5vhPitlPQt5LKBI6q2cvXrQjBS1FTBgdA3O+rliE86qsDCu1mzLXYg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/netstandard1.0/_._",
- "runtime.native.system.4.3.0.nupkg.sha512",
- "runtime.native.system.nuspec"
- ]
- },
- "System.Collections/4.3.0": {
- "sha512": "odtewSKaGFM1cRV0i2f+fF1wDTcPLisgZVNa1Jrm88mDNAxD52TRh0U51jwqs73RH91GYI4ogCkF9r7W0zVoDw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Collections.dll",
- "ref/netcore50/System.Collections.xml",
- "ref/netcore50/de/System.Collections.xml",
- "ref/netcore50/es/System.Collections.xml",
- "ref/netcore50/fr/System.Collections.xml",
- "ref/netcore50/it/System.Collections.xml",
- "ref/netcore50/ja/System.Collections.xml",
- "ref/netcore50/ko/System.Collections.xml",
- "ref/netcore50/ru/System.Collections.xml",
- "ref/netcore50/zh-hans/System.Collections.xml",
- "ref/netcore50/zh-hant/System.Collections.xml",
- "ref/netstandard1.0/System.Collections.dll",
- "ref/netstandard1.0/System.Collections.xml",
- "ref/netstandard1.0/de/System.Collections.xml",
- "ref/netstandard1.0/es/System.Collections.xml",
- "ref/netstandard1.0/fr/System.Collections.xml",
- "ref/netstandard1.0/it/System.Collections.xml",
- "ref/netstandard1.0/ja/System.Collections.xml",
- "ref/netstandard1.0/ko/System.Collections.xml",
- "ref/netstandard1.0/ru/System.Collections.xml",
- "ref/netstandard1.0/zh-hans/System.Collections.xml",
- "ref/netstandard1.0/zh-hant/System.Collections.xml",
- "ref/netstandard1.3/System.Collections.dll",
- "ref/netstandard1.3/System.Collections.xml",
- "ref/netstandard1.3/de/System.Collections.xml",
- "ref/netstandard1.3/es/System.Collections.xml",
- "ref/netstandard1.3/fr/System.Collections.xml",
- "ref/netstandard1.3/it/System.Collections.xml",
- "ref/netstandard1.3/ja/System.Collections.xml",
- "ref/netstandard1.3/ko/System.Collections.xml",
- "ref/netstandard1.3/ru/System.Collections.xml",
- "ref/netstandard1.3/zh-hans/System.Collections.xml",
- "ref/netstandard1.3/zh-hant/System.Collections.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.collections.4.3.0.nupkg.sha512",
- "system.collections.nuspec"
- ]
- },
- "System.Collections.Concurrent/4.3.0": {
- "sha512": "574p/+ur5xdbM7fZCoFJLM2pqCO4B843KdXjrxYZC9AGSiDwAtlq90gkgg3xg5YwcDPa/C7Y0Uylh2n7QIZ5nQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/System.Collections.Concurrent.dll",
- "lib/netstandard1.3/System.Collections.Concurrent.dll",
- "lib/portable-net45+win8+wpa81/_._",
- "lib/win8/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Collections.Concurrent.dll",
- "ref/netcore50/System.Collections.Concurrent.xml",
- "ref/netcore50/de/System.Collections.Concurrent.xml",
- "ref/netcore50/es/System.Collections.Concurrent.xml",
- "ref/netcore50/fr/System.Collections.Concurrent.xml",
- "ref/netcore50/it/System.Collections.Concurrent.xml",
- "ref/netcore50/ja/System.Collections.Concurrent.xml",
- "ref/netcore50/ko/System.Collections.Concurrent.xml",
- "ref/netcore50/ru/System.Collections.Concurrent.xml",
- "ref/netcore50/zh-hans/System.Collections.Concurrent.xml",
- "ref/netcore50/zh-hant/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/System.Collections.Concurrent.dll",
- "ref/netstandard1.1/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/de/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/es/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/fr/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/it/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/ja/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/ko/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/ru/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/zh-hans/System.Collections.Concurrent.xml",
- "ref/netstandard1.1/zh-hant/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/System.Collections.Concurrent.dll",
- "ref/netstandard1.3/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/de/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/es/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/fr/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/it/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/ja/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/ko/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/ru/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/zh-hans/System.Collections.Concurrent.xml",
- "ref/netstandard1.3/zh-hant/System.Collections.Concurrent.xml",
- "ref/portable-net45+win8+wpa81/_._",
- "ref/win8/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.collections.concurrent.4.3.0.nupkg.sha512",
- "system.collections.concurrent.nuspec"
- ]
- },
- "System.Diagnostics.Debug/4.3.0": {
- "sha512": "1woBURpg50IpEZZ7BK8AZe1T24GsBY+e6MyEufMAPVMZoVzRDRwejOLLfIIkgY2hgw0bk6CXAFg4dB2iFF5IVQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Diagnostics.Debug.dll",
- "ref/netcore50/System.Diagnostics.Debug.xml",
- "ref/netcore50/de/System.Diagnostics.Debug.xml",
- "ref/netcore50/es/System.Diagnostics.Debug.xml",
- "ref/netcore50/fr/System.Diagnostics.Debug.xml",
- "ref/netcore50/it/System.Diagnostics.Debug.xml",
- "ref/netcore50/ja/System.Diagnostics.Debug.xml",
- "ref/netcore50/ko/System.Diagnostics.Debug.xml",
- "ref/netcore50/ru/System.Diagnostics.Debug.xml",
- "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml",
- "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/System.Diagnostics.Debug.dll",
- "ref/netstandard1.0/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/de/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/es/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/fr/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/it/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/ja/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/ko/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/ru/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml",
- "ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/System.Diagnostics.Debug.dll",
- "ref/netstandard1.3/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/de/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/es/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/fr/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/it/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/ja/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/ko/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/ru/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml",
- "ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.diagnostics.debug.4.3.0.nupkg.sha512",
- "system.diagnostics.debug.nuspec"
- ]
- },
- "System.Diagnostics.Tools/4.3.0": {
- "sha512": "cNBqRhfTSwBU0OfXuTvV+sRaE8EfJRYrkh1giN74UvENZb6SHLJw23GroCIrvyV4j03gp0a1028I4dEsRi0XoQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Diagnostics.Tools.dll",
- "ref/netcore50/System.Diagnostics.Tools.xml",
- "ref/netcore50/de/System.Diagnostics.Tools.xml",
- "ref/netcore50/es/System.Diagnostics.Tools.xml",
- "ref/netcore50/fr/System.Diagnostics.Tools.xml",
- "ref/netcore50/it/System.Diagnostics.Tools.xml",
- "ref/netcore50/ja/System.Diagnostics.Tools.xml",
- "ref/netcore50/ko/System.Diagnostics.Tools.xml",
- "ref/netcore50/ru/System.Diagnostics.Tools.xml",
- "ref/netcore50/zh-hans/System.Diagnostics.Tools.xml",
- "ref/netcore50/zh-hant/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/System.Diagnostics.Tools.dll",
- "ref/netstandard1.0/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/de/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/es/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/fr/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/it/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/ja/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/ko/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/ru/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml",
- "ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.diagnostics.tools.4.3.0.nupkg.sha512",
- "system.diagnostics.tools.nuspec"
- ]
- },
- "System.Diagnostics.Tracing/4.3.0": {
- "sha512": "sE7+yUZUrkcebditDSxZLnsCwG/oI4RELRdhSmen0ig1AH1kW5b9ztJ7HQbK3sCIuY0Yd5OvqyX0pOie4T35fQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net462/System.Diagnostics.Tracing.dll",
- "lib/portable-net45+win8+wpa81/_._",
- "lib/win8/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net462/System.Diagnostics.Tracing.dll",
- "ref/netcore50/System.Diagnostics.Tracing.dll",
- "ref/netcore50/System.Diagnostics.Tracing.xml",
- "ref/netcore50/de/System.Diagnostics.Tracing.xml",
- "ref/netcore50/es/System.Diagnostics.Tracing.xml",
- "ref/netcore50/fr/System.Diagnostics.Tracing.xml",
- "ref/netcore50/it/System.Diagnostics.Tracing.xml",
- "ref/netcore50/ja/System.Diagnostics.Tracing.xml",
- "ref/netcore50/ko/System.Diagnostics.Tracing.xml",
- "ref/netcore50/ru/System.Diagnostics.Tracing.xml",
- "ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml",
- "ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/System.Diagnostics.Tracing.dll",
- "ref/netstandard1.1/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/de/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/es/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/fr/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/it/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/ja/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/ko/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/ru/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/zh-hans/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.1/zh-hant/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/System.Diagnostics.Tracing.dll",
- "ref/netstandard1.2/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/de/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/es/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/fr/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/it/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/ja/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/ko/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/ru/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/zh-hans/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.2/zh-hant/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/System.Diagnostics.Tracing.dll",
- "ref/netstandard1.3/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/de/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/es/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/fr/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/it/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/ja/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/ko/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/ru/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/zh-hans/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.3/zh-hant/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/System.Diagnostics.Tracing.dll",
- "ref/netstandard1.5/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/de/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/es/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/fr/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/it/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/ja/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/ko/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/ru/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/zh-hans/System.Diagnostics.Tracing.xml",
- "ref/netstandard1.5/zh-hant/System.Diagnostics.Tracing.xml",
- "ref/portable-net45+win8+wpa81/_._",
- "ref/win8/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.diagnostics.tracing.4.3.0.nupkg.sha512",
- "system.diagnostics.tracing.nuspec"
- ]
- },
- "System.Globalization/4.3.0": {
- "sha512": "VqCYVd4WTRcRl/U08cJOFmyDFPs79CFfcEbav+p7Q5Sj7Lokf0R+mD0TEc+f8+GVBRtaff6b+mknJnIR44LvYQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Globalization.dll",
- "ref/netcore50/System.Globalization.xml",
- "ref/netcore50/de/System.Globalization.xml",
- "ref/netcore50/es/System.Globalization.xml",
- "ref/netcore50/fr/System.Globalization.xml",
- "ref/netcore50/it/System.Globalization.xml",
- "ref/netcore50/ja/System.Globalization.xml",
- "ref/netcore50/ko/System.Globalization.xml",
- "ref/netcore50/ru/System.Globalization.xml",
- "ref/netcore50/zh-hans/System.Globalization.xml",
- "ref/netcore50/zh-hant/System.Globalization.xml",
- "ref/netstandard1.0/System.Globalization.dll",
- "ref/netstandard1.0/System.Globalization.xml",
- "ref/netstandard1.0/de/System.Globalization.xml",
- "ref/netstandard1.0/es/System.Globalization.xml",
- "ref/netstandard1.0/fr/System.Globalization.xml",
- "ref/netstandard1.0/it/System.Globalization.xml",
- "ref/netstandard1.0/ja/System.Globalization.xml",
- "ref/netstandard1.0/ko/System.Globalization.xml",
- "ref/netstandard1.0/ru/System.Globalization.xml",
- "ref/netstandard1.0/zh-hans/System.Globalization.xml",
- "ref/netstandard1.0/zh-hant/System.Globalization.xml",
- "ref/netstandard1.3/System.Globalization.dll",
- "ref/netstandard1.3/System.Globalization.xml",
- "ref/netstandard1.3/de/System.Globalization.xml",
- "ref/netstandard1.3/es/System.Globalization.xml",
- "ref/netstandard1.3/fr/System.Globalization.xml",
- "ref/netstandard1.3/it/System.Globalization.xml",
- "ref/netstandard1.3/ja/System.Globalization.xml",
- "ref/netstandard1.3/ko/System.Globalization.xml",
- "ref/netstandard1.3/ru/System.Globalization.xml",
- "ref/netstandard1.3/zh-hans/System.Globalization.xml",
- "ref/netstandard1.3/zh-hant/System.Globalization.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.globalization.4.3.0.nupkg.sha512",
- "system.globalization.nuspec"
- ]
- },
- "System.IO/4.3.0": {
- "sha512": "YsCDVvNbX1fQsiQuBRb7Wy/v+L14iJ0JhzInNXsblcU2wUZ8fD33Q5RBRZ4PUu2iZKQ6KnrfaOxWScxoGcIoPA==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net462/System.IO.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net462/System.IO.dll",
- "ref/netcore50/System.IO.dll",
- "ref/netcore50/System.IO.xml",
- "ref/netcore50/de/System.IO.xml",
- "ref/netcore50/es/System.IO.xml",
- "ref/netcore50/fr/System.IO.xml",
- "ref/netcore50/it/System.IO.xml",
- "ref/netcore50/ja/System.IO.xml",
- "ref/netcore50/ko/System.IO.xml",
- "ref/netcore50/ru/System.IO.xml",
- "ref/netcore50/zh-hans/System.IO.xml",
- "ref/netcore50/zh-hant/System.IO.xml",
- "ref/netstandard1.0/System.IO.dll",
- "ref/netstandard1.0/System.IO.xml",
- "ref/netstandard1.0/de/System.IO.xml",
- "ref/netstandard1.0/es/System.IO.xml",
- "ref/netstandard1.0/fr/System.IO.xml",
- "ref/netstandard1.0/it/System.IO.xml",
- "ref/netstandard1.0/ja/System.IO.xml",
- "ref/netstandard1.0/ko/System.IO.xml",
- "ref/netstandard1.0/ru/System.IO.xml",
- "ref/netstandard1.0/zh-hans/System.IO.xml",
- "ref/netstandard1.0/zh-hant/System.IO.xml",
- "ref/netstandard1.3/System.IO.dll",
- "ref/netstandard1.3/System.IO.xml",
- "ref/netstandard1.3/de/System.IO.xml",
- "ref/netstandard1.3/es/System.IO.xml",
- "ref/netstandard1.3/fr/System.IO.xml",
- "ref/netstandard1.3/it/System.IO.xml",
- "ref/netstandard1.3/ja/System.IO.xml",
- "ref/netstandard1.3/ko/System.IO.xml",
- "ref/netstandard1.3/ru/System.IO.xml",
- "ref/netstandard1.3/zh-hans/System.IO.xml",
- "ref/netstandard1.3/zh-hant/System.IO.xml",
- "ref/netstandard1.5/System.IO.dll",
- "ref/netstandard1.5/System.IO.xml",
- "ref/netstandard1.5/de/System.IO.xml",
- "ref/netstandard1.5/es/System.IO.xml",
- "ref/netstandard1.5/fr/System.IO.xml",
- "ref/netstandard1.5/it/System.IO.xml",
- "ref/netstandard1.5/ja/System.IO.xml",
- "ref/netstandard1.5/ko/System.IO.xml",
- "ref/netstandard1.5/ru/System.IO.xml",
- "ref/netstandard1.5/zh-hans/System.IO.xml",
- "ref/netstandard1.5/zh-hant/System.IO.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.io.4.3.0.nupkg.sha512",
- "system.io.nuspec"
- ]
- },
- "System.IO.Compression/4.3.0": {
- "sha512": "+G+M250pfD6KOqeADMPvbO2jPqV0UMtE3YECosM/p5bU0Krytlo0qNBrqtbk7uHJS3kOle5kk3T7zlxd/z/pTA==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net46/System.IO.Compression.dll",
- "lib/portable-net45+win8+wpa81/_._",
- "lib/win8/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net46/System.IO.Compression.dll",
- "ref/netcore50/System.IO.Compression.dll",
- "ref/netcore50/System.IO.Compression.xml",
- "ref/netcore50/de/System.IO.Compression.xml",
- "ref/netcore50/es/System.IO.Compression.xml",
- "ref/netcore50/fr/System.IO.Compression.xml",
- "ref/netcore50/it/System.IO.Compression.xml",
- "ref/netcore50/ja/System.IO.Compression.xml",
- "ref/netcore50/ko/System.IO.Compression.xml",
- "ref/netcore50/ru/System.IO.Compression.xml",
- "ref/netcore50/zh-hans/System.IO.Compression.xml",
- "ref/netcore50/zh-hant/System.IO.Compression.xml",
- "ref/netstandard1.1/System.IO.Compression.dll",
- "ref/netstandard1.1/System.IO.Compression.xml",
- "ref/netstandard1.1/de/System.IO.Compression.xml",
- "ref/netstandard1.1/es/System.IO.Compression.xml",
- "ref/netstandard1.1/fr/System.IO.Compression.xml",
- "ref/netstandard1.1/it/System.IO.Compression.xml",
- "ref/netstandard1.1/ja/System.IO.Compression.xml",
- "ref/netstandard1.1/ko/System.IO.Compression.xml",
- "ref/netstandard1.1/ru/System.IO.Compression.xml",
- "ref/netstandard1.1/zh-hans/System.IO.Compression.xml",
- "ref/netstandard1.1/zh-hant/System.IO.Compression.xml",
- "ref/netstandard1.3/System.IO.Compression.dll",
- "ref/netstandard1.3/System.IO.Compression.xml",
- "ref/netstandard1.3/de/System.IO.Compression.xml",
- "ref/netstandard1.3/es/System.IO.Compression.xml",
- "ref/netstandard1.3/fr/System.IO.Compression.xml",
- "ref/netstandard1.3/it/System.IO.Compression.xml",
- "ref/netstandard1.3/ja/System.IO.Compression.xml",
- "ref/netstandard1.3/ko/System.IO.Compression.xml",
- "ref/netstandard1.3/ru/System.IO.Compression.xml",
- "ref/netstandard1.3/zh-hans/System.IO.Compression.xml",
- "ref/netstandard1.3/zh-hant/System.IO.Compression.xml",
- "ref/portable-net45+win8+wpa81/_._",
- "ref/win8/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll",
- "runtimes/win/lib/net46/System.IO.Compression.dll",
- "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll",
- "system.io.compression.4.3.0.nupkg.sha512",
- "system.io.compression.nuspec"
- ]
- },
- "System.Linq/4.3.0": {
- "sha512": "w9wJuI2T9KXZmY/AS7E4PUVzGPS0jhlx1YlKsgzShgNj6Vk9iN7R8qRwWB2kvD+Ki58cpRwM87fVD5yivijJEg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net463/System.Linq.dll",
- "lib/netcore50/System.Linq.dll",
- "lib/netstandard1.6/System.Linq.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net463/System.Linq.dll",
- "ref/netcore50/System.Linq.dll",
- "ref/netcore50/System.Linq.xml",
- "ref/netcore50/de/System.Linq.xml",
- "ref/netcore50/es/System.Linq.xml",
- "ref/netcore50/fr/System.Linq.xml",
- "ref/netcore50/it/System.Linq.xml",
- "ref/netcore50/ja/System.Linq.xml",
- "ref/netcore50/ko/System.Linq.xml",
- "ref/netcore50/ru/System.Linq.xml",
- "ref/netcore50/zh-hans/System.Linq.xml",
- "ref/netcore50/zh-hant/System.Linq.xml",
- "ref/netstandard1.0/System.Linq.dll",
- "ref/netstandard1.0/System.Linq.xml",
- "ref/netstandard1.0/de/System.Linq.xml",
- "ref/netstandard1.0/es/System.Linq.xml",
- "ref/netstandard1.0/fr/System.Linq.xml",
- "ref/netstandard1.0/it/System.Linq.xml",
- "ref/netstandard1.0/ja/System.Linq.xml",
- "ref/netstandard1.0/ko/System.Linq.xml",
- "ref/netstandard1.0/ru/System.Linq.xml",
- "ref/netstandard1.0/zh-hans/System.Linq.xml",
- "ref/netstandard1.0/zh-hant/System.Linq.xml",
- "ref/netstandard1.6/System.Linq.dll",
- "ref/netstandard1.6/System.Linq.xml",
- "ref/netstandard1.6/de/System.Linq.xml",
- "ref/netstandard1.6/es/System.Linq.xml",
- "ref/netstandard1.6/fr/System.Linq.xml",
- "ref/netstandard1.6/it/System.Linq.xml",
- "ref/netstandard1.6/ja/System.Linq.xml",
- "ref/netstandard1.6/ko/System.Linq.xml",
- "ref/netstandard1.6/ru/System.Linq.xml",
- "ref/netstandard1.6/zh-hans/System.Linq.xml",
- "ref/netstandard1.6/zh-hant/System.Linq.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.linq.4.3.0.nupkg.sha512",
- "system.linq.nuspec"
- ]
- },
- "System.Linq.Expressions/4.3.0": {
- "sha512": "EjVvFE83n3Ih05PIJ611aMBS321nFT7FS1yIpcnVHLVB3GqaCWaVPMg7/kklhlohrUPXJ4PS5CeUlIBmXMva8w==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net463/System.Linq.Expressions.dll",
- "lib/netcore50/System.Linq.Expressions.dll",
- "lib/netstandard1.6/System.Linq.Expressions.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net463/System.Linq.Expressions.dll",
- "ref/netcore50/System.Linq.Expressions.dll",
- "ref/netcore50/System.Linq.Expressions.xml",
- "ref/netcore50/de/System.Linq.Expressions.xml",
- "ref/netcore50/es/System.Linq.Expressions.xml",
- "ref/netcore50/fr/System.Linq.Expressions.xml",
- "ref/netcore50/it/System.Linq.Expressions.xml",
- "ref/netcore50/ja/System.Linq.Expressions.xml",
- "ref/netcore50/ko/System.Linq.Expressions.xml",
- "ref/netcore50/ru/System.Linq.Expressions.xml",
- "ref/netcore50/zh-hans/System.Linq.Expressions.xml",
- "ref/netcore50/zh-hant/System.Linq.Expressions.xml",
- "ref/netstandard1.0/System.Linq.Expressions.dll",
- "ref/netstandard1.0/System.Linq.Expressions.xml",
- "ref/netstandard1.0/de/System.Linq.Expressions.xml",
- "ref/netstandard1.0/es/System.Linq.Expressions.xml",
- "ref/netstandard1.0/fr/System.Linq.Expressions.xml",
- "ref/netstandard1.0/it/System.Linq.Expressions.xml",
- "ref/netstandard1.0/ja/System.Linq.Expressions.xml",
- "ref/netstandard1.0/ko/System.Linq.Expressions.xml",
- "ref/netstandard1.0/ru/System.Linq.Expressions.xml",
- "ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml",
- "ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml",
- "ref/netstandard1.3/System.Linq.Expressions.dll",
- "ref/netstandard1.3/System.Linq.Expressions.xml",
- "ref/netstandard1.3/de/System.Linq.Expressions.xml",
- "ref/netstandard1.3/es/System.Linq.Expressions.xml",
- "ref/netstandard1.3/fr/System.Linq.Expressions.xml",
- "ref/netstandard1.3/it/System.Linq.Expressions.xml",
- "ref/netstandard1.3/ja/System.Linq.Expressions.xml",
- "ref/netstandard1.3/ko/System.Linq.Expressions.xml",
- "ref/netstandard1.3/ru/System.Linq.Expressions.xml",
- "ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml",
- "ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml",
- "ref/netstandard1.6/System.Linq.Expressions.dll",
- "ref/netstandard1.6/System.Linq.Expressions.xml",
- "ref/netstandard1.6/de/System.Linq.Expressions.xml",
- "ref/netstandard1.6/es/System.Linq.Expressions.xml",
- "ref/netstandard1.6/fr/System.Linq.Expressions.xml",
- "ref/netstandard1.6/it/System.Linq.Expressions.xml",
- "ref/netstandard1.6/ja/System.Linq.Expressions.xml",
- "ref/netstandard1.6/ko/System.Linq.Expressions.xml",
- "ref/netstandard1.6/ru/System.Linq.Expressions.xml",
- "ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml",
- "ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/aot/lib/netcore50/System.Linq.Expressions.dll",
- "system.linq.expressions.4.3.0.nupkg.sha512",
- "system.linq.expressions.nuspec"
- ]
- },
- "System.Net.Http/4.3.2": {
- "sha512": "wMTk4xwcImunKYNGcMC35TFe/8LKBhzc1INgatMHmbGt6hNu3IsxcwpYD8r2zstiv64uKK+GTgfxJ7Lh91Qnqw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/Xamarinmac20/_._",
- "lib/monoandroid10/_._",
- "lib/monotouch10/_._",
- "lib/net45/_._",
- "lib/net46/System.Net.Http.dll",
- "lib/portable-net45+win8+wpa81/_._",
- "lib/win8/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/Xamarinmac20/_._",
- "ref/monoandroid10/_._",
- "ref/monotouch10/_._",
- "ref/net45/_._",
- "ref/net46/System.Net.Http.dll",
- "ref/netcore50/System.Net.Http.dll",
- "ref/netstandard1.1/System.Net.Http.dll",
- "ref/netstandard1.3/System.Net.Http.dll",
- "ref/portable-net45+win8+wpa81/_._",
- "ref/win8/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll",
- "runtimes/win/lib/net46/System.Net.Http.dll",
- "runtimes/win/lib/netcore50/System.Net.Http.dll",
- "runtimes/win/lib/netstandard1.3/System.Net.Http.dll",
- "system.net.http.4.3.2.nupkg.sha512",
- "system.net.http.nuspec"
- ]
- },
- "System.Net.Primitives/4.3.0": {
- "sha512": "Ds2qmHelD5W4JYm+FOub7/4OWbVWKXXsL4+pVVhZxd3urA9yYI6UFPMEnIbK9mCG7rvoli+PVpbczlcy8H+Jmg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Net.Primitives.dll",
- "ref/netcore50/System.Net.Primitives.xml",
- "ref/netcore50/de/System.Net.Primitives.xml",
- "ref/netcore50/es/System.Net.Primitives.xml",
- "ref/netcore50/fr/System.Net.Primitives.xml",
- "ref/netcore50/it/System.Net.Primitives.xml",
- "ref/netcore50/ja/System.Net.Primitives.xml",
- "ref/netcore50/ko/System.Net.Primitives.xml",
- "ref/netcore50/ru/System.Net.Primitives.xml",
- "ref/netcore50/zh-hans/System.Net.Primitives.xml",
- "ref/netcore50/zh-hant/System.Net.Primitives.xml",
- "ref/netstandard1.0/System.Net.Primitives.dll",
- "ref/netstandard1.0/System.Net.Primitives.xml",
- "ref/netstandard1.0/de/System.Net.Primitives.xml",
- "ref/netstandard1.0/es/System.Net.Primitives.xml",
- "ref/netstandard1.0/fr/System.Net.Primitives.xml",
- "ref/netstandard1.0/it/System.Net.Primitives.xml",
- "ref/netstandard1.0/ja/System.Net.Primitives.xml",
- "ref/netstandard1.0/ko/System.Net.Primitives.xml",
- "ref/netstandard1.0/ru/System.Net.Primitives.xml",
- "ref/netstandard1.0/zh-hans/System.Net.Primitives.xml",
- "ref/netstandard1.0/zh-hant/System.Net.Primitives.xml",
- "ref/netstandard1.1/System.Net.Primitives.dll",
- "ref/netstandard1.1/System.Net.Primitives.xml",
- "ref/netstandard1.1/de/System.Net.Primitives.xml",
- "ref/netstandard1.1/es/System.Net.Primitives.xml",
- "ref/netstandard1.1/fr/System.Net.Primitives.xml",
- "ref/netstandard1.1/it/System.Net.Primitives.xml",
- "ref/netstandard1.1/ja/System.Net.Primitives.xml",
- "ref/netstandard1.1/ko/System.Net.Primitives.xml",
- "ref/netstandard1.1/ru/System.Net.Primitives.xml",
- "ref/netstandard1.1/zh-hans/System.Net.Primitives.xml",
- "ref/netstandard1.1/zh-hant/System.Net.Primitives.xml",
- "ref/netstandard1.3/System.Net.Primitives.dll",
- "ref/netstandard1.3/System.Net.Primitives.xml",
- "ref/netstandard1.3/de/System.Net.Primitives.xml",
- "ref/netstandard1.3/es/System.Net.Primitives.xml",
- "ref/netstandard1.3/fr/System.Net.Primitives.xml",
- "ref/netstandard1.3/it/System.Net.Primitives.xml",
- "ref/netstandard1.3/ja/System.Net.Primitives.xml",
- "ref/netstandard1.3/ko/System.Net.Primitives.xml",
- "ref/netstandard1.3/ru/System.Net.Primitives.xml",
- "ref/netstandard1.3/zh-hans/System.Net.Primitives.xml",
- "ref/netstandard1.3/zh-hant/System.Net.Primitives.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.net.primitives.4.3.0.nupkg.sha512",
- "system.net.primitives.nuspec"
- ]
- },
- "System.Net.Requests/4.3.0": {
- "sha512": "ZvKLMYR1iGBh3ianvGnqMojG8uLtq1jhviCrojW2QUZEPUYKhB28gtLt5iW51nsvmGhFh1WTHvh9CenMuxzLbQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net46/_._",
- "ref/netcore50/System.Net.Requests.dll",
- "ref/netcore50/System.Net.Requests.xml",
- "ref/netcore50/de/System.Net.Requests.xml",
- "ref/netcore50/es/System.Net.Requests.xml",
- "ref/netcore50/fr/System.Net.Requests.xml",
- "ref/netcore50/it/System.Net.Requests.xml",
- "ref/netcore50/ja/System.Net.Requests.xml",
- "ref/netcore50/ko/System.Net.Requests.xml",
- "ref/netcore50/ru/System.Net.Requests.xml",
- "ref/netcore50/zh-hans/System.Net.Requests.xml",
- "ref/netcore50/zh-hant/System.Net.Requests.xml",
- "ref/netstandard1.0/System.Net.Requests.dll",
- "ref/netstandard1.0/System.Net.Requests.xml",
- "ref/netstandard1.0/de/System.Net.Requests.xml",
- "ref/netstandard1.0/es/System.Net.Requests.xml",
- "ref/netstandard1.0/fr/System.Net.Requests.xml",
- "ref/netstandard1.0/it/System.Net.Requests.xml",
- "ref/netstandard1.0/ja/System.Net.Requests.xml",
- "ref/netstandard1.0/ko/System.Net.Requests.xml",
- "ref/netstandard1.0/ru/System.Net.Requests.xml",
- "ref/netstandard1.0/zh-hans/System.Net.Requests.xml",
- "ref/netstandard1.0/zh-hant/System.Net.Requests.xml",
- "ref/netstandard1.1/System.Net.Requests.dll",
- "ref/netstandard1.1/System.Net.Requests.xml",
- "ref/netstandard1.1/de/System.Net.Requests.xml",
- "ref/netstandard1.1/es/System.Net.Requests.xml",
- "ref/netstandard1.1/fr/System.Net.Requests.xml",
- "ref/netstandard1.1/it/System.Net.Requests.xml",
- "ref/netstandard1.1/ja/System.Net.Requests.xml",
- "ref/netstandard1.1/ko/System.Net.Requests.xml",
- "ref/netstandard1.1/ru/System.Net.Requests.xml",
- "ref/netstandard1.1/zh-hans/System.Net.Requests.xml",
- "ref/netstandard1.1/zh-hant/System.Net.Requests.xml",
- "ref/netstandard1.3/System.Net.Requests.dll",
- "ref/netstandard1.3/System.Net.Requests.xml",
- "ref/netstandard1.3/de/System.Net.Requests.xml",
- "ref/netstandard1.3/es/System.Net.Requests.xml",
- "ref/netstandard1.3/fr/System.Net.Requests.xml",
- "ref/netstandard1.3/it/System.Net.Requests.xml",
- "ref/netstandard1.3/ja/System.Net.Requests.xml",
- "ref/netstandard1.3/ko/System.Net.Requests.xml",
- "ref/netstandard1.3/ru/System.Net.Requests.xml",
- "ref/netstandard1.3/zh-hans/System.Net.Requests.xml",
- "ref/netstandard1.3/zh-hant/System.Net.Requests.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/unix/lib/netstandard1.3/System.Net.Requests.dll",
- "runtimes/win/lib/net46/_._",
- "runtimes/win/lib/netstandard1.3/System.Net.Requests.dll",
- "system.net.requests.4.3.0.nupkg.sha512",
- "system.net.requests.nuspec"
- ]
- },
- "System.ObjectModel/4.3.0": {
- "sha512": "yXnz+D4S6l25VS9SuCrS8cyVKWgeAQJ/v2epBlTL1cM+Xs6rx0/6gUAXTTruCZiO1UjrhX56isX8DKL267D5gQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/System.ObjectModel.dll",
- "lib/netstandard1.3/System.ObjectModel.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.ObjectModel.dll",
- "ref/netcore50/System.ObjectModel.xml",
- "ref/netcore50/de/System.ObjectModel.xml",
- "ref/netcore50/es/System.ObjectModel.xml",
- "ref/netcore50/fr/System.ObjectModel.xml",
- "ref/netcore50/it/System.ObjectModel.xml",
- "ref/netcore50/ja/System.ObjectModel.xml",
- "ref/netcore50/ko/System.ObjectModel.xml",
- "ref/netcore50/ru/System.ObjectModel.xml",
- "ref/netcore50/zh-hans/System.ObjectModel.xml",
- "ref/netcore50/zh-hant/System.ObjectModel.xml",
- "ref/netstandard1.0/System.ObjectModel.dll",
- "ref/netstandard1.0/System.ObjectModel.xml",
- "ref/netstandard1.0/de/System.ObjectModel.xml",
- "ref/netstandard1.0/es/System.ObjectModel.xml",
- "ref/netstandard1.0/fr/System.ObjectModel.xml",
- "ref/netstandard1.0/it/System.ObjectModel.xml",
- "ref/netstandard1.0/ja/System.ObjectModel.xml",
- "ref/netstandard1.0/ko/System.ObjectModel.xml",
- "ref/netstandard1.0/ru/System.ObjectModel.xml",
- "ref/netstandard1.0/zh-hans/System.ObjectModel.xml",
- "ref/netstandard1.0/zh-hant/System.ObjectModel.xml",
- "ref/netstandard1.3/System.ObjectModel.dll",
- "ref/netstandard1.3/System.ObjectModel.xml",
- "ref/netstandard1.3/de/System.ObjectModel.xml",
- "ref/netstandard1.3/es/System.ObjectModel.xml",
- "ref/netstandard1.3/fr/System.ObjectModel.xml",
- "ref/netstandard1.3/it/System.ObjectModel.xml",
- "ref/netstandard1.3/ja/System.ObjectModel.xml",
- "ref/netstandard1.3/ko/System.ObjectModel.xml",
- "ref/netstandard1.3/ru/System.ObjectModel.xml",
- "ref/netstandard1.3/zh-hans/System.ObjectModel.xml",
- "ref/netstandard1.3/zh-hant/System.ObjectModel.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.objectmodel.4.3.0.nupkg.sha512",
- "system.objectmodel.nuspec"
- ]
- },
- "System.Reflection/4.3.0": {
- "sha512": "gWKa+cLy5BkkDxp6iuKYNQVNlxir4VYpR7siMIW8vQI7lR9E5PsR+Fmm6h+ZzTCu2XFMf9sNvRYRw727QmJ0fw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net462/System.Reflection.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net462/System.Reflection.dll",
- "ref/netcore50/System.Reflection.dll",
- "ref/netcore50/System.Reflection.xml",
- "ref/netcore50/de/System.Reflection.xml",
- "ref/netcore50/es/System.Reflection.xml",
- "ref/netcore50/fr/System.Reflection.xml",
- "ref/netcore50/it/System.Reflection.xml",
- "ref/netcore50/ja/System.Reflection.xml",
- "ref/netcore50/ko/System.Reflection.xml",
- "ref/netcore50/ru/System.Reflection.xml",
- "ref/netcore50/zh-hans/System.Reflection.xml",
- "ref/netcore50/zh-hant/System.Reflection.xml",
- "ref/netstandard1.0/System.Reflection.dll",
- "ref/netstandard1.0/System.Reflection.xml",
- "ref/netstandard1.0/de/System.Reflection.xml",
- "ref/netstandard1.0/es/System.Reflection.xml",
- "ref/netstandard1.0/fr/System.Reflection.xml",
- "ref/netstandard1.0/it/System.Reflection.xml",
- "ref/netstandard1.0/ja/System.Reflection.xml",
- "ref/netstandard1.0/ko/System.Reflection.xml",
- "ref/netstandard1.0/ru/System.Reflection.xml",
- "ref/netstandard1.0/zh-hans/System.Reflection.xml",
- "ref/netstandard1.0/zh-hant/System.Reflection.xml",
- "ref/netstandard1.3/System.Reflection.dll",
- "ref/netstandard1.3/System.Reflection.xml",
- "ref/netstandard1.3/de/System.Reflection.xml",
- "ref/netstandard1.3/es/System.Reflection.xml",
- "ref/netstandard1.3/fr/System.Reflection.xml",
- "ref/netstandard1.3/it/System.Reflection.xml",
- "ref/netstandard1.3/ja/System.Reflection.xml",
- "ref/netstandard1.3/ko/System.Reflection.xml",
- "ref/netstandard1.3/ru/System.Reflection.xml",
- "ref/netstandard1.3/zh-hans/System.Reflection.xml",
- "ref/netstandard1.3/zh-hant/System.Reflection.xml",
- "ref/netstandard1.5/System.Reflection.dll",
- "ref/netstandard1.5/System.Reflection.xml",
- "ref/netstandard1.5/de/System.Reflection.xml",
- "ref/netstandard1.5/es/System.Reflection.xml",
- "ref/netstandard1.5/fr/System.Reflection.xml",
- "ref/netstandard1.5/it/System.Reflection.xml",
- "ref/netstandard1.5/ja/System.Reflection.xml",
- "ref/netstandard1.5/ko/System.Reflection.xml",
- "ref/netstandard1.5/ru/System.Reflection.xml",
- "ref/netstandard1.5/zh-hans/System.Reflection.xml",
- "ref/netstandard1.5/zh-hant/System.Reflection.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.reflection.4.3.0.nupkg.sha512",
- "system.reflection.nuspec"
- ]
- },
- "System.Reflection.Extensions/4.3.0": {
- "sha512": "MZ0vyVl3i7SpA8hLhKjb8wrJ9s4a/bggVHasDqNrbpbkbyMaaYxi8dUDduh5K7RFAHJaR45BAW7+TMbpoQ7Oqg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Reflection.Extensions.dll",
- "ref/netcore50/System.Reflection.Extensions.xml",
- "ref/netcore50/de/System.Reflection.Extensions.xml",
- "ref/netcore50/es/System.Reflection.Extensions.xml",
- "ref/netcore50/fr/System.Reflection.Extensions.xml",
- "ref/netcore50/it/System.Reflection.Extensions.xml",
- "ref/netcore50/ja/System.Reflection.Extensions.xml",
- "ref/netcore50/ko/System.Reflection.Extensions.xml",
- "ref/netcore50/ru/System.Reflection.Extensions.xml",
- "ref/netcore50/zh-hans/System.Reflection.Extensions.xml",
- "ref/netcore50/zh-hant/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/System.Reflection.Extensions.dll",
- "ref/netstandard1.0/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/de/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/es/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/fr/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/it/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/ja/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/ko/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/ru/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml",
- "ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.reflection.extensions.4.3.0.nupkg.sha512",
- "system.reflection.extensions.nuspec"
- ]
- },
- "System.Reflection.Primitives/4.3.0": {
- "sha512": "QcIJSKt4ksNWnTWkNc7fqdnaARA4or2omXIXVi1hzccV8AixhcW4gVNfpdz/jE1cldDBRSeySM5PbF8M3GUHbA==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Reflection.Primitives.dll",
- "ref/netcore50/System.Reflection.Primitives.xml",
- "ref/netcore50/de/System.Reflection.Primitives.xml",
- "ref/netcore50/es/System.Reflection.Primitives.xml",
- "ref/netcore50/fr/System.Reflection.Primitives.xml",
- "ref/netcore50/it/System.Reflection.Primitives.xml",
- "ref/netcore50/ja/System.Reflection.Primitives.xml",
- "ref/netcore50/ko/System.Reflection.Primitives.xml",
- "ref/netcore50/ru/System.Reflection.Primitives.xml",
- "ref/netcore50/zh-hans/System.Reflection.Primitives.xml",
- "ref/netcore50/zh-hant/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/System.Reflection.Primitives.dll",
- "ref/netstandard1.0/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/de/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/es/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/fr/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/it/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/ja/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/ko/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/ru/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml",
- "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.reflection.primitives.4.3.0.nupkg.sha512",
- "system.reflection.primitives.nuspec"
- ]
- },
- "System.Resources.ResourceManager/4.3.0": {
- "sha512": "DRxdwZJGYZA+sp8Ht53dvNPr8NLsbBzctIrpbx4UFylYbDsoDQzJwchNarrRnwiIfsZHkXYA3HCKewNr62XiRw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Resources.ResourceManager.dll",
- "ref/netcore50/System.Resources.ResourceManager.xml",
- "ref/netcore50/de/System.Resources.ResourceManager.xml",
- "ref/netcore50/es/System.Resources.ResourceManager.xml",
- "ref/netcore50/fr/System.Resources.ResourceManager.xml",
- "ref/netcore50/it/System.Resources.ResourceManager.xml",
- "ref/netcore50/ja/System.Resources.ResourceManager.xml",
- "ref/netcore50/ko/System.Resources.ResourceManager.xml",
- "ref/netcore50/ru/System.Resources.ResourceManager.xml",
- "ref/netcore50/zh-hans/System.Resources.ResourceManager.xml",
- "ref/netcore50/zh-hant/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/System.Resources.ResourceManager.dll",
- "ref/netstandard1.0/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/de/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/es/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/fr/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/it/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/ja/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/ko/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/ru/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml",
- "ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.resources.resourcemanager.4.3.0.nupkg.sha512",
- "system.resources.resourcemanager.nuspec"
- ]
- },
- "System.Runtime/4.3.0": {
- "sha512": "a+38DiHlk4UA1NMs7Ty0/izJb/ukQtEhDgoy2xrGppdA/nVOkOC1JtR9HCcYYHfxXxQNNsjQ66NNvrbM3oVTrw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net462/System.Runtime.dll",
- "lib/portable-net45+win8+wp80+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net462/System.Runtime.dll",
- "ref/netcore50/System.Runtime.dll",
- "ref/netcore50/System.Runtime.xml",
- "ref/netcore50/de/System.Runtime.xml",
- "ref/netcore50/es/System.Runtime.xml",
- "ref/netcore50/fr/System.Runtime.xml",
- "ref/netcore50/it/System.Runtime.xml",
- "ref/netcore50/ja/System.Runtime.xml",
- "ref/netcore50/ko/System.Runtime.xml",
- "ref/netcore50/ru/System.Runtime.xml",
- "ref/netcore50/zh-hans/System.Runtime.xml",
- "ref/netcore50/zh-hant/System.Runtime.xml",
- "ref/netstandard1.0/System.Runtime.dll",
- "ref/netstandard1.0/System.Runtime.xml",
- "ref/netstandard1.0/de/System.Runtime.xml",
- "ref/netstandard1.0/es/System.Runtime.xml",
- "ref/netstandard1.0/fr/System.Runtime.xml",
- "ref/netstandard1.0/it/System.Runtime.xml",
- "ref/netstandard1.0/ja/System.Runtime.xml",
- "ref/netstandard1.0/ko/System.Runtime.xml",
- "ref/netstandard1.0/ru/System.Runtime.xml",
- "ref/netstandard1.0/zh-hans/System.Runtime.xml",
- "ref/netstandard1.0/zh-hant/System.Runtime.xml",
- "ref/netstandard1.2/System.Runtime.dll",
- "ref/netstandard1.2/System.Runtime.xml",
- "ref/netstandard1.2/de/System.Runtime.xml",
- "ref/netstandard1.2/es/System.Runtime.xml",
- "ref/netstandard1.2/fr/System.Runtime.xml",
- "ref/netstandard1.2/it/System.Runtime.xml",
- "ref/netstandard1.2/ja/System.Runtime.xml",
- "ref/netstandard1.2/ko/System.Runtime.xml",
- "ref/netstandard1.2/ru/System.Runtime.xml",
- "ref/netstandard1.2/zh-hans/System.Runtime.xml",
- "ref/netstandard1.2/zh-hant/System.Runtime.xml",
- "ref/netstandard1.3/System.Runtime.dll",
- "ref/netstandard1.3/System.Runtime.xml",
- "ref/netstandard1.3/de/System.Runtime.xml",
- "ref/netstandard1.3/es/System.Runtime.xml",
- "ref/netstandard1.3/fr/System.Runtime.xml",
- "ref/netstandard1.3/it/System.Runtime.xml",
- "ref/netstandard1.3/ja/System.Runtime.xml",
- "ref/netstandard1.3/ko/System.Runtime.xml",
- "ref/netstandard1.3/ru/System.Runtime.xml",
- "ref/netstandard1.3/zh-hans/System.Runtime.xml",
- "ref/netstandard1.3/zh-hant/System.Runtime.xml",
- "ref/netstandard1.5/System.Runtime.dll",
- "ref/netstandard1.5/System.Runtime.xml",
- "ref/netstandard1.5/de/System.Runtime.xml",
- "ref/netstandard1.5/es/System.Runtime.xml",
- "ref/netstandard1.5/fr/System.Runtime.xml",
- "ref/netstandard1.5/it/System.Runtime.xml",
- "ref/netstandard1.5/ja/System.Runtime.xml",
- "ref/netstandard1.5/ko/System.Runtime.xml",
- "ref/netstandard1.5/ru/System.Runtime.xml",
- "ref/netstandard1.5/zh-hans/System.Runtime.xml",
- "ref/netstandard1.5/zh-hant/System.Runtime.xml",
- "ref/portable-net45+win8+wp80+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.runtime.4.3.0.nupkg.sha512",
- "system.runtime.nuspec"
- ]
- },
- "System.Runtime.Extensions/4.3.0": {
- "sha512": "P78VOZ2fZUq3otcfcf+6zd+EhWijXhI/BWk/wd9RnWFAddhO4hnlpiqxAIw1yPTZJSWRG5VboYyUmB8xcmcHpQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net462/System.Runtime.Extensions.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net462/System.Runtime.Extensions.dll",
- "ref/netcore50/System.Runtime.Extensions.dll",
- "ref/netcore50/System.Runtime.Extensions.xml",
- "ref/netcore50/de/System.Runtime.Extensions.xml",
- "ref/netcore50/es/System.Runtime.Extensions.xml",
- "ref/netcore50/fr/System.Runtime.Extensions.xml",
- "ref/netcore50/it/System.Runtime.Extensions.xml",
- "ref/netcore50/ja/System.Runtime.Extensions.xml",
- "ref/netcore50/ko/System.Runtime.Extensions.xml",
- "ref/netcore50/ru/System.Runtime.Extensions.xml",
- "ref/netcore50/zh-hans/System.Runtime.Extensions.xml",
- "ref/netcore50/zh-hant/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/System.Runtime.Extensions.dll",
- "ref/netstandard1.0/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/de/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/es/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/fr/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/it/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/ja/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/ko/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/ru/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml",
- "ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/System.Runtime.Extensions.dll",
- "ref/netstandard1.3/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/de/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/es/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/fr/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/it/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/ja/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/ko/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/ru/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml",
- "ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/System.Runtime.Extensions.dll",
- "ref/netstandard1.5/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/de/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/es/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/fr/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/it/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/ja/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/ko/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/ru/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml",
- "ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.runtime.extensions.4.3.0.nupkg.sha512",
- "system.runtime.extensions.nuspec"
- ]
- },
- "System.Runtime.InteropServices/4.3.0": {
- "sha512": "6CC8BIjVaMtHM3OvOOO0cirqqF6CNluOPtc/DNBkieZhMiz676cszc5ciNCiIWcTcNW+Mb0Cs8LWZrhK7W+rdQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net462/System.Runtime.InteropServices.dll",
- "lib/net463/System.Runtime.InteropServices.dll",
- "lib/portable-net45+win8+wpa81/_._",
- "lib/win8/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net462/System.Runtime.InteropServices.dll",
- "ref/net463/System.Runtime.InteropServices.dll",
- "ref/netcore50/System.Runtime.InteropServices.dll",
- "ref/netcore50/System.Runtime.InteropServices.xml",
- "ref/netcore50/de/System.Runtime.InteropServices.xml",
- "ref/netcore50/es/System.Runtime.InteropServices.xml",
- "ref/netcore50/fr/System.Runtime.InteropServices.xml",
- "ref/netcore50/it/System.Runtime.InteropServices.xml",
- "ref/netcore50/ja/System.Runtime.InteropServices.xml",
- "ref/netcore50/ko/System.Runtime.InteropServices.xml",
- "ref/netcore50/ru/System.Runtime.InteropServices.xml",
- "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml",
- "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml",
- "ref/netcoreapp1.1/System.Runtime.InteropServices.dll",
- "ref/netstandard1.1/System.Runtime.InteropServices.dll",
- "ref/netstandard1.1/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/de/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/es/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/fr/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/it/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/ja/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/ko/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/ru/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml",
- "ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/System.Runtime.InteropServices.dll",
- "ref/netstandard1.2/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/de/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/es/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/fr/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/it/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/ja/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/ko/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/ru/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml",
- "ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/System.Runtime.InteropServices.dll",
- "ref/netstandard1.3/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/de/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/es/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/fr/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/it/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/ja/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/ko/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/ru/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml",
- "ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/System.Runtime.InteropServices.dll",
- "ref/netstandard1.5/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/de/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/es/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/fr/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/it/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/ja/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/ko/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/ru/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml",
- "ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml",
- "ref/portable-net45+win8+wpa81/_._",
- "ref/win8/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.runtime.interopservices.4.3.0.nupkg.sha512",
- "system.runtime.interopservices.nuspec"
- ]
- },
- "System.Runtime.InteropServices.RuntimeInformation/4.3.0": {
- "sha512": "rf6Ebmg9wgokWKK14uiVNdyBY7g4yLaZ4edbiE6XcNX5fyqtgHZTKuP2MFkkzQWL9NGX2LSIfodKQNVnOM+qCA==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll",
- "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
- "lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll",
- "lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll",
- "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
- "runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll",
- "runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll",
- "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
- "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512",
- "system.runtime.interopservices.runtimeinformation.nuspec"
- ]
- },
- "System.Runtime.Numerics/4.3.0": {
- "sha512": "H73WuUWJAH5UQE1MIxWLdqg+skdOBBwGA+fLu4JgPHJ+0tivNLBrN4TQdJGDvVeGPxrN229R5muocedVVAIfbA==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/System.Runtime.Numerics.dll",
- "lib/netstandard1.3/System.Runtime.Numerics.dll",
- "lib/portable-net45+win8+wpa81/_._",
- "lib/win8/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Runtime.Numerics.dll",
- "ref/netcore50/System.Runtime.Numerics.xml",
- "ref/netcore50/de/System.Runtime.Numerics.xml",
- "ref/netcore50/es/System.Runtime.Numerics.xml",
- "ref/netcore50/fr/System.Runtime.Numerics.xml",
- "ref/netcore50/it/System.Runtime.Numerics.xml",
- "ref/netcore50/ja/System.Runtime.Numerics.xml",
- "ref/netcore50/ko/System.Runtime.Numerics.xml",
- "ref/netcore50/ru/System.Runtime.Numerics.xml",
- "ref/netcore50/zh-hans/System.Runtime.Numerics.xml",
- "ref/netcore50/zh-hant/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/System.Runtime.Numerics.dll",
- "ref/netstandard1.1/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/de/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/es/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/fr/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/it/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/ja/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/ko/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/ru/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/zh-hans/System.Runtime.Numerics.xml",
- "ref/netstandard1.1/zh-hant/System.Runtime.Numerics.xml",
- "ref/portable-net45+win8+wpa81/_._",
- "ref/win8/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.runtime.numerics.4.3.0.nupkg.sha512",
- "system.runtime.numerics.nuspec"
- ]
- },
- "System.Runtime.WindowsRuntime/4.3.0": {
- "sha512": "xbgfgewneLCfKQfz0VzKsYDacZ680CudYw0uzj0bZ8ATpotkwicgtAsyJZ/J7/Dh2QIwpadjA2zLW/LFk7FKiA==",
- "type": "package",
- "files": [
- "System.Runtime.WindowsRuntime.4.3.0.nupkg.sha512",
- "System.Runtime.WindowsRuntime.nuspec",
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/portable-win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "ref/netcore50/System.Runtime.WindowsRuntime.dll",
- "ref/netcore50/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/de/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/es/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/fr/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/it/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/ja/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/ko/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/ru/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/zh-hans/System.Runtime.WindowsRuntime.xml",
- "ref/netcore50/zh-hant/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/System.Runtime.WindowsRuntime.dll",
- "ref/netstandard1.0/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/de/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/es/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/fr/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/it/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/ja/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/ko/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/ru/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/zh-hans/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.0/zh-hant/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/System.Runtime.WindowsRuntime.dll",
- "ref/netstandard1.2/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/de/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/es/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/fr/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/it/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/ja/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/ko/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/ru/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/zh-hans/System.Runtime.WindowsRuntime.xml",
- "ref/netstandard1.2/zh-hant/System.Runtime.WindowsRuntime.xml",
- "ref/portable-win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll",
- "runtimes/win8/lib/netstandard1.3/System.Runtime.WindowsRuntime.dll"
- ]
- },
- "System.Text.Encoding/4.3.0": {
- "sha512": "3hnC4XGk/ip1HnQuDpA5L3aOsYXSl4I7OlwSb40WlTIEVtOP9VrcqPN4kuT2L3a1kXXr8emjPePQcbtYVjRvjw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Text.Encoding.dll",
- "ref/netcore50/System.Text.Encoding.xml",
- "ref/netcore50/de/System.Text.Encoding.xml",
- "ref/netcore50/es/System.Text.Encoding.xml",
- "ref/netcore50/fr/System.Text.Encoding.xml",
- "ref/netcore50/it/System.Text.Encoding.xml",
- "ref/netcore50/ja/System.Text.Encoding.xml",
- "ref/netcore50/ko/System.Text.Encoding.xml",
- "ref/netcore50/ru/System.Text.Encoding.xml",
- "ref/netcore50/zh-hans/System.Text.Encoding.xml",
- "ref/netcore50/zh-hant/System.Text.Encoding.xml",
- "ref/netstandard1.0/System.Text.Encoding.dll",
- "ref/netstandard1.0/System.Text.Encoding.xml",
- "ref/netstandard1.0/de/System.Text.Encoding.xml",
- "ref/netstandard1.0/es/System.Text.Encoding.xml",
- "ref/netstandard1.0/fr/System.Text.Encoding.xml",
- "ref/netstandard1.0/it/System.Text.Encoding.xml",
- "ref/netstandard1.0/ja/System.Text.Encoding.xml",
- "ref/netstandard1.0/ko/System.Text.Encoding.xml",
- "ref/netstandard1.0/ru/System.Text.Encoding.xml",
- "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml",
- "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml",
- "ref/netstandard1.3/System.Text.Encoding.dll",
- "ref/netstandard1.3/System.Text.Encoding.xml",
- "ref/netstandard1.3/de/System.Text.Encoding.xml",
- "ref/netstandard1.3/es/System.Text.Encoding.xml",
- "ref/netstandard1.3/fr/System.Text.Encoding.xml",
- "ref/netstandard1.3/it/System.Text.Encoding.xml",
- "ref/netstandard1.3/ja/System.Text.Encoding.xml",
- "ref/netstandard1.3/ko/System.Text.Encoding.xml",
- "ref/netstandard1.3/ru/System.Text.Encoding.xml",
- "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml",
- "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.text.encoding.4.3.0.nupkg.sha512",
- "system.text.encoding.nuspec"
- ]
- },
- "System.Text.Encoding.Extensions/4.3.0": {
- "sha512": "q9p8y7bgIQR7IQJQBeOL3TT4H0vg634anhTKgbao9gHvFmmGJkJF6eNhX6Tfcu5vFbKqd+I1+kW/6hVdZXqPmQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Text.Encoding.Extensions.dll",
- "ref/netcore50/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/de/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/es/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/fr/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/it/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/ja/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/ko/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/ru/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml",
- "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/System.Text.Encoding.Extensions.dll",
- "ref/netstandard1.0/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/System.Text.Encoding.Extensions.dll",
- "ref/netstandard1.3/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml",
- "ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.text.encoding.extensions.4.3.0.nupkg.sha512",
- "system.text.encoding.extensions.nuspec"
- ]
- },
- "System.Text.RegularExpressions/4.3.0": {
- "sha512": "SJ9qrjcnDx6YwpMpIgeKL1K/4/uDAHCT6Id3aey/z66H9SIX8PcG2TQ+gYNg7VGm7tI0wkLsV+8dMxbxTam7Yw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net463/System.Text.RegularExpressions.dll",
- "lib/netcore50/System.Text.RegularExpressions.dll",
- "lib/netstandard1.6/System.Text.RegularExpressions.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net463/System.Text.RegularExpressions.dll",
- "ref/netcore50/System.Text.RegularExpressions.dll",
- "ref/netcore50/System.Text.RegularExpressions.xml",
- "ref/netcore50/de/System.Text.RegularExpressions.xml",
- "ref/netcore50/es/System.Text.RegularExpressions.xml",
- "ref/netcore50/fr/System.Text.RegularExpressions.xml",
- "ref/netcore50/it/System.Text.RegularExpressions.xml",
- "ref/netcore50/ja/System.Text.RegularExpressions.xml",
- "ref/netcore50/ko/System.Text.RegularExpressions.xml",
- "ref/netcore50/ru/System.Text.RegularExpressions.xml",
- "ref/netcore50/zh-hans/System.Text.RegularExpressions.xml",
- "ref/netcore50/zh-hant/System.Text.RegularExpressions.xml",
- "ref/netcoreapp1.1/System.Text.RegularExpressions.dll",
- "ref/netstandard1.0/System.Text.RegularExpressions.dll",
- "ref/netstandard1.0/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/de/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/es/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/fr/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/it/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/ja/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/ko/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/ru/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml",
- "ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/System.Text.RegularExpressions.dll",
- "ref/netstandard1.3/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/de/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/es/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/fr/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/it/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/ja/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/ko/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/ru/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml",
- "ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/System.Text.RegularExpressions.dll",
- "ref/netstandard1.6/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/de/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/es/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/fr/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/it/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/ja/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/ko/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/ru/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml",
- "ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.text.regularexpressions.4.3.0.nupkg.sha512",
- "system.text.regularexpressions.nuspec"
- ]
- },
- "System.Threading/4.3.0": {
- "sha512": "cm4+iLU+Gvodk221rboVLwWguLuPOl/bkcCtr+k9hc4tvngnw/dJaoUPqIEsU/FWcCusXk4po3ydFxmRp2lXyw==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/System.Threading.dll",
- "lib/netstandard1.3/System.Threading.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Threading.dll",
- "ref/netcore50/System.Threading.xml",
- "ref/netcore50/de/System.Threading.xml",
- "ref/netcore50/es/System.Threading.xml",
- "ref/netcore50/fr/System.Threading.xml",
- "ref/netcore50/it/System.Threading.xml",
- "ref/netcore50/ja/System.Threading.xml",
- "ref/netcore50/ko/System.Threading.xml",
- "ref/netcore50/ru/System.Threading.xml",
- "ref/netcore50/zh-hans/System.Threading.xml",
- "ref/netcore50/zh-hant/System.Threading.xml",
- "ref/netstandard1.0/System.Threading.dll",
- "ref/netstandard1.0/System.Threading.xml",
- "ref/netstandard1.0/de/System.Threading.xml",
- "ref/netstandard1.0/es/System.Threading.xml",
- "ref/netstandard1.0/fr/System.Threading.xml",
- "ref/netstandard1.0/it/System.Threading.xml",
- "ref/netstandard1.0/ja/System.Threading.xml",
- "ref/netstandard1.0/ko/System.Threading.xml",
- "ref/netstandard1.0/ru/System.Threading.xml",
- "ref/netstandard1.0/zh-hans/System.Threading.xml",
- "ref/netstandard1.0/zh-hant/System.Threading.xml",
- "ref/netstandard1.3/System.Threading.dll",
- "ref/netstandard1.3/System.Threading.xml",
- "ref/netstandard1.3/de/System.Threading.xml",
- "ref/netstandard1.3/es/System.Threading.xml",
- "ref/netstandard1.3/fr/System.Threading.xml",
- "ref/netstandard1.3/it/System.Threading.xml",
- "ref/netstandard1.3/ja/System.Threading.xml",
- "ref/netstandard1.3/ko/System.Threading.xml",
- "ref/netstandard1.3/ru/System.Threading.xml",
- "ref/netstandard1.3/zh-hans/System.Threading.xml",
- "ref/netstandard1.3/zh-hant/System.Threading.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/aot/lib/netcore50/System.Threading.dll",
- "system.threading.4.3.0.nupkg.sha512",
- "system.threading.nuspec"
- ]
- },
- "System.Threading.Tasks/4.3.0": {
- "sha512": "1je8yxoIxd0iVjfJbb9DXNIfTt6ESMRIwNwoaB0WhxSfJMLOhfJ3mb9UQsa6Q/98g6jEOyFdSAbr+fPEgwbKUg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Threading.Tasks.dll",
- "ref/netcore50/System.Threading.Tasks.xml",
- "ref/netcore50/de/System.Threading.Tasks.xml",
- "ref/netcore50/es/System.Threading.Tasks.xml",
- "ref/netcore50/fr/System.Threading.Tasks.xml",
- "ref/netcore50/it/System.Threading.Tasks.xml",
- "ref/netcore50/ja/System.Threading.Tasks.xml",
- "ref/netcore50/ko/System.Threading.Tasks.xml",
- "ref/netcore50/ru/System.Threading.Tasks.xml",
- "ref/netcore50/zh-hans/System.Threading.Tasks.xml",
- "ref/netcore50/zh-hant/System.Threading.Tasks.xml",
- "ref/netstandard1.0/System.Threading.Tasks.dll",
- "ref/netstandard1.0/System.Threading.Tasks.xml",
- "ref/netstandard1.0/de/System.Threading.Tasks.xml",
- "ref/netstandard1.0/es/System.Threading.Tasks.xml",
- "ref/netstandard1.0/fr/System.Threading.Tasks.xml",
- "ref/netstandard1.0/it/System.Threading.Tasks.xml",
- "ref/netstandard1.0/ja/System.Threading.Tasks.xml",
- "ref/netstandard1.0/ko/System.Threading.Tasks.xml",
- "ref/netstandard1.0/ru/System.Threading.Tasks.xml",
- "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml",
- "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml",
- "ref/netstandard1.3/System.Threading.Tasks.dll",
- "ref/netstandard1.3/System.Threading.Tasks.xml",
- "ref/netstandard1.3/de/System.Threading.Tasks.xml",
- "ref/netstandard1.3/es/System.Threading.Tasks.xml",
- "ref/netstandard1.3/fr/System.Threading.Tasks.xml",
- "ref/netstandard1.3/it/System.Threading.Tasks.xml",
- "ref/netstandard1.3/ja/System.Threading.Tasks.xml",
- "ref/netstandard1.3/ko/System.Threading.Tasks.xml",
- "ref/netstandard1.3/ru/System.Threading.Tasks.xml",
- "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml",
- "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.threading.tasks.4.3.0.nupkg.sha512",
- "system.threading.tasks.nuspec"
- ]
- },
- "System.Threading.Timer/4.3.0": {
- "sha512": "BzzEELyI/Jct8o0jOeXisFR5uawc5yhFVlgboaxWWWV/Fjahi/ESRRaHlR1HMWAyZsNnybq7v57YgWTVd+NAkg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net451/_._",
- "lib/portable-net451+win81+wpa81/_._",
- "lib/win81/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net451/_._",
- "ref/netcore50/System.Threading.Timer.dll",
- "ref/netcore50/System.Threading.Timer.xml",
- "ref/netcore50/de/System.Threading.Timer.xml",
- "ref/netcore50/es/System.Threading.Timer.xml",
- "ref/netcore50/fr/System.Threading.Timer.xml",
- "ref/netcore50/it/System.Threading.Timer.xml",
- "ref/netcore50/ja/System.Threading.Timer.xml",
- "ref/netcore50/ko/System.Threading.Timer.xml",
- "ref/netcore50/ru/System.Threading.Timer.xml",
- "ref/netcore50/zh-hans/System.Threading.Timer.xml",
- "ref/netcore50/zh-hant/System.Threading.Timer.xml",
- "ref/netstandard1.2/System.Threading.Timer.dll",
- "ref/netstandard1.2/System.Threading.Timer.xml",
- "ref/netstandard1.2/de/System.Threading.Timer.xml",
- "ref/netstandard1.2/es/System.Threading.Timer.xml",
- "ref/netstandard1.2/fr/System.Threading.Timer.xml",
- "ref/netstandard1.2/it/System.Threading.Timer.xml",
- "ref/netstandard1.2/ja/System.Threading.Timer.xml",
- "ref/netstandard1.2/ko/System.Threading.Timer.xml",
- "ref/netstandard1.2/ru/System.Threading.Timer.xml",
- "ref/netstandard1.2/zh-hans/System.Threading.Timer.xml",
- "ref/netstandard1.2/zh-hant/System.Threading.Timer.xml",
- "ref/portable-net451+win81+wpa81/_._",
- "ref/win81/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.threading.timer.4.3.0.nupkg.sha512",
- "system.threading.timer.nuspec"
- ]
- },
- "System.Xml.ReaderWriter/4.3.0": {
- "sha512": "41StQbCnhTjv/daEuN55cqY4rUYP1NQI9a8cQktBxDbF5QLFsIvcr9mIFGQ2nrzrk3DYHKwpJ9AkVuMiYymtHg==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/net46/System.Xml.ReaderWriter.dll",
- "lib/netcore50/System.Xml.ReaderWriter.dll",
- "lib/netstandard1.3/System.Xml.ReaderWriter.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/net46/System.Xml.ReaderWriter.dll",
- "ref/netcore50/System.Xml.ReaderWriter.dll",
- "ref/netcore50/System.Xml.ReaderWriter.xml",
- "ref/netcore50/de/System.Xml.ReaderWriter.xml",
- "ref/netcore50/es/System.Xml.ReaderWriter.xml",
- "ref/netcore50/fr/System.Xml.ReaderWriter.xml",
- "ref/netcore50/it/System.Xml.ReaderWriter.xml",
- "ref/netcore50/ja/System.Xml.ReaderWriter.xml",
- "ref/netcore50/ko/System.Xml.ReaderWriter.xml",
- "ref/netcore50/ru/System.Xml.ReaderWriter.xml",
- "ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml",
- "ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/System.Xml.ReaderWriter.dll",
- "ref/netstandard1.0/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/de/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/es/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/it/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/System.Xml.ReaderWriter.dll",
- "ref/netstandard1.3/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/de/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/es/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/it/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml",
- "ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.xml.readerwriter.4.3.0.nupkg.sha512",
- "system.xml.readerwriter.nuspec"
- ]
- },
- "System.Xml.XDocument/4.3.0": {
- "sha512": "WT8lBJSEINzk3c9dm3n0vlqb9Z9PoORD29n/rbkcNh3feSZTJeYQ5+xgSbJhdsyvpmsRsE56fdsH4fchJt65PQ==",
- "type": "package",
- "files": [
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/System.Xml.XDocument.dll",
- "lib/netstandard1.3/System.Xml.XDocument.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Xml.XDocument.dll",
- "ref/netcore50/System.Xml.XDocument.xml",
- "ref/netcore50/de/System.Xml.XDocument.xml",
- "ref/netcore50/es/System.Xml.XDocument.xml",
- "ref/netcore50/fr/System.Xml.XDocument.xml",
- "ref/netcore50/it/System.Xml.XDocument.xml",
- "ref/netcore50/ja/System.Xml.XDocument.xml",
- "ref/netcore50/ko/System.Xml.XDocument.xml",
- "ref/netcore50/ru/System.Xml.XDocument.xml",
- "ref/netcore50/zh-hans/System.Xml.XDocument.xml",
- "ref/netcore50/zh-hant/System.Xml.XDocument.xml",
- "ref/netstandard1.0/System.Xml.XDocument.dll",
- "ref/netstandard1.0/System.Xml.XDocument.xml",
- "ref/netstandard1.0/de/System.Xml.XDocument.xml",
- "ref/netstandard1.0/es/System.Xml.XDocument.xml",
- "ref/netstandard1.0/fr/System.Xml.XDocument.xml",
- "ref/netstandard1.0/it/System.Xml.XDocument.xml",
- "ref/netstandard1.0/ja/System.Xml.XDocument.xml",
- "ref/netstandard1.0/ko/System.Xml.XDocument.xml",
- "ref/netstandard1.0/ru/System.Xml.XDocument.xml",
- "ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml",
- "ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml",
- "ref/netstandard1.3/System.Xml.XDocument.dll",
- "ref/netstandard1.3/System.Xml.XDocument.xml",
- "ref/netstandard1.3/de/System.Xml.XDocument.xml",
- "ref/netstandard1.3/es/System.Xml.XDocument.xml",
- "ref/netstandard1.3/fr/System.Xml.XDocument.xml",
- "ref/netstandard1.3/it/System.Xml.XDocument.xml",
- "ref/netstandard1.3/ja/System.Xml.XDocument.xml",
- "ref/netstandard1.3/ko/System.Xml.XDocument.xml",
- "ref/netstandard1.3/ru/System.Xml.XDocument.xml",
- "ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml",
- "ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "system.xml.xdocument.4.3.0.nupkg.sha512",
- "system.xml.xdocument.nuspec"
- ]
- },
- "System.Xml.XmlSerializer/4.3.0": {
- "sha512": "MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==",
- "type": "package",
- "files": [
- "System.Xml.XmlSerializer.4.3.0.nupkg.sha512",
- "System.Xml.XmlSerializer.nuspec",
- "ThirdPartyNotices.txt",
- "dotnet_library_license.txt",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/System.Xml.XmlSerializer.dll",
- "lib/netstandard1.3/System.Xml.XmlSerializer.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/System.Xml.XmlSerializer.dll",
- "ref/netcore50/System.Xml.XmlSerializer.xml",
- "ref/netcore50/de/System.Xml.XmlSerializer.xml",
- "ref/netcore50/es/System.Xml.XmlSerializer.xml",
- "ref/netcore50/fr/System.Xml.XmlSerializer.xml",
- "ref/netcore50/it/System.Xml.XmlSerializer.xml",
- "ref/netcore50/ja/System.Xml.XmlSerializer.xml",
- "ref/netcore50/ko/System.Xml.XmlSerializer.xml",
- "ref/netcore50/ru/System.Xml.XmlSerializer.xml",
- "ref/netcore50/zh-hans/System.Xml.XmlSerializer.xml",
- "ref/netcore50/zh-hant/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/System.Xml.XmlSerializer.dll",
- "ref/netstandard1.0/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/de/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/es/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/fr/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/it/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/ja/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/ko/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/ru/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/zh-hans/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.0/zh-hant/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/System.Xml.XmlSerializer.dll",
- "ref/netstandard1.3/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/de/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/es/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/fr/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/it/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/ja/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/ko/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/ru/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/zh-hans/System.Xml.XmlSerializer.xml",
- "ref/netstandard1.3/zh-hant/System.Xml.XmlSerializer.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "runtimes/aot/lib/netcore50/System.Xml.XmlSerializer.dll"
- ]
- }
- },
- "projectFileDependencyGroups": {
- "": [
- "Microsoft.NETCore.Portable.Compatibility >= 1.0.2",
- "NETStandard.Library >= 2.0.0",
- "System.Net.Requests >= 4.3.0",
- "System.Runtime.WindowsRuntime >= 4.3.0",
- "System.Xml.ReaderWriter >= 4.3.0",
- "System.Xml.XmlSerializer >= 4.3.0"
- ],
- ".NETStandard,Version=v1.2": []
- }
-}
\ No newline at end of file