From 450f5dec0feda9286d46d6e0e72d98e967c999a2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexander=20K=C3=B6plinger?= Date: Tue, 11 Oct 2016 13:27:47 +0200 Subject: [PATCH] [corlib] Simplify RNGCryptoServiceProvider file name on MT and enable tests Also unify xammac and monotouch .sources files. We're now using the CommonCrypto-based RNGCryptoServiceProvider on xammac too. --- ...cs => RNGCryptoServiceProvider.cryptor.cs} | 15 +++++--------- .../RNGCryptoServiceProviderTest.cs | 4 ++-- .../monotouch_corlib.dll.exclude.sources | 2 +- mcs/class/corlib/monotouch_corlib.dll.sources | 8 ++++---- .../corlib/xammac_corlib.dll.exclude.sources | 20 ++++++------------- mcs/class/corlib/xammac_corlib.dll.sources | 11 +--------- 6 files changed, 19 insertions(+), 41 deletions(-) rename mcs/class/corlib/CommonCrypto/{SecRandom.cs => RNGCryptoServiceProvider.cryptor.cs} (89%) diff --git a/mcs/class/corlib/CommonCrypto/SecRandom.cs b/mcs/class/corlib/CommonCrypto/RNGCryptoServiceProvider.cryptor.cs similarity index 89% rename from mcs/class/corlib/CommonCrypto/SecRandom.cs rename to mcs/class/corlib/CommonCrypto/RNGCryptoServiceProvider.cryptor.cs index a35fe1dc666..8500840887f 100644 --- a/mcs/class/corlib/CommonCrypto/SecRandom.cs +++ b/mcs/class/corlib/CommonCrypto/RNGCryptoServiceProvider.cryptor.cs @@ -1,5 +1,5 @@ // -// SecRandom.cs: based on Mono's System.Security.Cryptography.RNGCryptoServiceProvider +// RngCryptoServiceProvider.cryptor.cs: based on Mono's System.Security.Cryptography.RNGCryptoServiceProvider // // Authors: // Mark Crichton (crichton@gimp.org) @@ -32,6 +32,8 @@ using Crimson.CommonCrypto; // http://developer.apple.com/library/ios/#DOCUMENTATION/Security/Reference/RandomizationReference/Reference/reference.html +// we need to use the CommonCrypto implementation instead of the runtime-supported RNGCryptoServiceProvider +// since we have no guarantee (on iOS) about /dev/[u]random availability or quality #if MONOTOUCH || XAMMAC namespace System.Security.Cryptography { public class RNGCryptoServiceProvider : RandomNumberGenerator { @@ -54,14 +56,6 @@ namespace System.Security.Cryptography { ~RNGCryptoServiceProvider () { } -#else -using System; -using System.Security.Cryptography; - -namespace Crimson.Security.Cryptography { - - public class SecRandom : RandomNumberGenerator { -#endif public override void GetBytes (byte[] data) { @@ -90,4 +84,5 @@ namespace Crimson.Security.Cryptography { } } } -} \ No newline at end of file +} +#endif diff --git a/mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs b/mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs index 2ebcad4a366..acef2f72b49 100644 --- a/mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs +++ b/mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs @@ -25,7 +25,7 @@ namespace MonoTests.System.Security.Cryptography { { _algo = new RNGCryptoServiceProvider (); } -#if !MOBILE + [Test] public void ConstructorByteArray () { @@ -62,7 +62,7 @@ namespace MonoTests.System.Security.Cryptography { string s = null; RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider (s); } -#endif + [Test] public void GetBytes () { diff --git a/mcs/class/corlib/monotouch_corlib.dll.exclude.sources b/mcs/class/corlib/monotouch_corlib.dll.exclude.sources index a138fef5e2d..e81045e28f2 100644 --- a/mcs/class/corlib/monotouch_corlib.dll.exclude.sources +++ b/mcs/class/corlib/monotouch_corlib.dll.exclude.sources @@ -1,6 +1,7 @@ System.Security.Cryptography/MD5CryptoServiceProvider.cs System.Security.Cryptography/SHA1CryptoServiceProvider.cs System.Security.Cryptography/SHA1CryptoServiceProvider.cs +System.Security.Cryptography/RNGCryptoServiceProvider.cs ../referencesource/mscorlib/system/security/cryptography/descryptoserviceprovider.cs ../referencesource/mscorlib/system/security/cryptography/rc2cryptoserviceprovider.cs ../referencesource/mscorlib/system/security/cryptography/rijndaelmanaged.cs @@ -9,7 +10,6 @@ System.Security.Cryptography/SHA1CryptoServiceProvider.cs ../referencesource/mscorlib/system/security/cryptography/sha384managed.cs ../referencesource/mscorlib/system/security/cryptography/sha512managed.cs ../referencesource/mscorlib/system/security/cryptography/tripledescryptoserviceprovider.cs -System.Security.Cryptography/RNGCryptoServiceProvider.cs ../Mono.Security/Mono.Security.Cryptography/ARC4Managed.cs ../Mono.Security/Mono.Security.Cryptography/MD2Managed.cs ../Mono.Security/Mono.Security.Cryptography/MD4Managed.cs diff --git a/mcs/class/corlib/monotouch_corlib.dll.sources b/mcs/class/corlib/monotouch_corlib.dll.sources index 6acc765c090..f9bbccf55c1 100644 --- a/mcs/class/corlib/monotouch_corlib.dll.sources +++ b/mcs/class/corlib/monotouch_corlib.dll.sources @@ -4,12 +4,12 @@ CommonCrypto/CryptorTransform.cs CommonCrypto/FastCryptorTransform.cs CommonCrypto/CorlibExtras.cs CommonCrypto/RijndaelManaged.cs -CommonCrypto/SecRandom.cs +CommonCrypto/RNGCryptoServiceProvider.cryptor.cs CommonCrypto/RC4CommonCrypto.cs -System/Environment.iOS.cs -System/Guid.MonoTouch.cs -System/NotSupportedException.iOS.cs CoreFoundation/CFHelpers.cs System.Security.Cryptography.X509Certificates/X509CertificateImplApple.cs System.Security.Cryptography.X509Certificates/X509Helper.Apple.cs System.Text/EncodingHelper.MonoTouch.cs +System/Environment.iOS.cs +System/Guid.MonoTouch.cs +System/NotSupportedException.iOS.cs diff --git a/mcs/class/corlib/xammac_corlib.dll.exclude.sources b/mcs/class/corlib/xammac_corlib.dll.exclude.sources index 235e7c07e8e..b55ce093377 100644 --- a/mcs/class/corlib/xammac_corlib.dll.exclude.sources +++ b/mcs/class/corlib/xammac_corlib.dll.exclude.sources @@ -1,14 +1,6 @@ -System.Security.Cryptography/MD5CryptoServiceProvider.cs -System.Security.Cryptography/SHA1CryptoServiceProvider.cs -System.Security.Cryptography/SHA1CryptoServiceProvider.cs -../referencesource/mscorlib/system/security/cryptography/descryptoserviceprovider.cs -../referencesource/mscorlib/system/security/cryptography/rc2cryptoserviceprovider.cs -../referencesource/mscorlib/system/security/cryptography/rijndaelmanaged.cs -../referencesource/mscorlib/system/security/cryptography/sha1managed.cs -../referencesource/mscorlib/system/security/cryptography/sha256managed.cs -../referencesource/mscorlib/system/security/cryptography/sha384managed.cs -../referencesource/mscorlib/system/security/cryptography/sha512managed.cs -../referencesource/mscorlib/system/security/cryptography/tripledescryptoserviceprovider.cs -../Mono.Security/Mono.Security.Cryptography/ARC4Managed.cs -../Mono.Security/Mono.Security.Cryptography/MD2Managed.cs -../Mono.Security/Mono.Security.Cryptography/MD4Managed.cs +#include monotouch_corlib.dll.exclude.sources +System.Text/EncodingHelper.MonoTouch.cs +System/Environment.iOS.cs +System/Guid.MonoTouch.cs +System/NotSupportedException.iOS.cs + diff --git a/mcs/class/corlib/xammac_corlib.dll.sources b/mcs/class/corlib/xammac_corlib.dll.sources index f321e0bc800..9d688d51c5c 100644 --- a/mcs/class/corlib/xammac_corlib.dll.sources +++ b/mcs/class/corlib/xammac_corlib.dll.sources @@ -1,10 +1 @@ -#include corlib.dll.sources -CommonCrypto/CommonCrypto.cs -CommonCrypto/CryptorTransform.cs -CommonCrypto/FastCryptorTransform.cs -CommonCrypto/CorlibExtras.cs -CommonCrypto/RijndaelManaged.cs -CommonCrypto/RC4CommonCrypto.cs -CoreFoundation/CFHelpers.cs -System.Security.Cryptography.X509Certificates/X509CertificateImplApple.cs -System.Security.Cryptography.X509Certificates/X509Helper.Apple.cs +#include monotouch_corlib.dll.sources -- 2.25.1