X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Security.Cryptography%2FChangeLog;h=360a4b7d237810da40af9e0641690ab1c0f0b8e9;hb=b0eff411fcc55fa6a7bbc5ee97bb592fe3204309;hp=0544373a05b35927c16c1b65d663985941d2e86d;hpb=200c9a1de1e0bd30fea4e63bc84cd02492190164;p=mono.git diff --git a/mcs/class/corlib/System.Security.Cryptography/ChangeLog b/mcs/class/corlib/System.Security.Cryptography/ChangeLog index 0544373a05b..360a4b7d237 100644 --- a/mcs/class/corlib/System.Security.Cryptography/ChangeLog +++ b/mcs/class/corlib/System.Security.Cryptography/ChangeLog @@ -1,3 +1,488 @@ +2005-06-10 Sebastien Pouliot + + * all: 2.0 beta2 fixes, i.e. mostly added [ComVisible(true)] + +2005-06-09 Sebastien Pouliot + + * HMAC.cs: BlockSizeValue has changed from a protected member to + a protected property. + +2005-06-06 Sebastien Pouliot + + * CspProviderFlags.cs: UseExistingKey was added in 1.1 SP1. Added + ComVisible attribute for 2.0. + +2005-05-19 Sebastien Pouliot + + * CryptoConfig.cs: Don't use the global hashtables until the + initialization is complete. + +2005-05-18 Sebastien Pouliot + + * CryptoConfig.cs: Changed lock pattern to second version of + http://www.skeet.org.uk/csharp/singleton.html + +2005-05-16 Sebastien Pouliot + + * CryptoConfig.cs: Initialization wasn't threadsafe as the "checked" + value was assigned at the start of the initialization. + +2005-04-25 Sebastien Pouliot + + * CryptoConfig.cs: Removed RSA OID and added null check in EncodeOID + in NET_2_0 to match beta2. + * DES.cs: Added null check for IsWeakKey and IsSemiWeakKey in NET_2_0 + to match beta2. + * SymmetricAlgorithm.cs: Throw CryptographicException when feedback is + zero in NET_2_0 to match beta2 + * TripleDES.cs: Added null check for IsWeakKey in NET_2_0 to match + beta2. + +2005-04-05 Sebastien Pouliot + + * CryptoConfig.cs: Added Assert for FileIOPermission to LoadConfig so + the configuration can be read under partial trust. + +2005-03-24 Sebastien Pouliot + + * CryptoConfig.cs: Added LinkDemand for unrestricted to CreateFromName + when used to create instance with object[] parameters. + * CryptoAPITransform.cs: Added Demand for UnmanagedCode to KeyHandle + property. + +2005-03-07 Sebastien Pouliot + + * MD5CryptoServiceProvider.cs: Fixed #73404 to return right results + if the data length is bigger than 2^32 bits. + * SHA1CryptoServiceProvider.cs: Fixed #73404 to return right results + if the data length is bigger than 2^32 bits. + * SHA256Managed.cs: Fixed #73404 to return right results if the data + length is bigger than 2^32 bits. + +2005-03-03 Sebastien Pouliot + + * RNGCryptoServiceProvider.cs: Added a new call in the static ctor + to check if we're using a global handle. In that case we lock before + calling the RNG. + +2005-02-10 Sebastien Pouliot + + * DSA.cs: Weekly fix to case where DSAParameters.Counter is 0 :-( + A new unit test was added for this specific case so it's hopefully + the last fix for this. Fixed exception reporting to match NET_2_0. + +2005-01-30 Sebastien Pouliot + + * DSA.cs: Really fixed case where DSAParameters.Counter is 0. + +2005-01-21 Sebastien Pouliot + + * DSA.cs: Handle the case where DSAParameters.Counter is 0. + +2005-01-11 Sebastien Pouliot + + * CryptoConfig.cs: Added support to create RIPEMD160 and the new HMAC + algorithms (HMACMD5, HMACRIPEMD160, HMACSHA256, HMACSHA384 and + HMACSHA512). This fix the unit tests failures in Mono.Security.dll in + the NET_2_0 profile. + * DSACryptoServiceProvider.cs: Import|ExportCspBlob throws + NotImplementedException (CryptoConvert class doesn't support DSA yet). + * RSACryptoServiceProvider.cs: SignHash/VerifyHash defaults to SHA-1 + in 2.0. VerifyHash throw appropriate exception when no OID is + specified (1.0/1.1). Import|ExportCspBlob implemented using the + CryptoConvert class. + * RSAOAEPKeyExchangeDeformatter.cs: Throw exception if no key is + specified. + * RSAOAEPKeyExchangeFormatter.cs: Throw exception if no key is + specified. + * RSAPKCS1KeyExchangeFormatter.cs: Throw exception if no key is + specified. + * SymmetricAlgorithm.cs: More strict IV length checks on 2.0. + +2005-01-10 Sebastien Pouliot + + * CryptoConfig.cs: Change the OID for SHA-2 algorithms to match 2.0 + and added new OID for asymmetric and symmetric algorithms. + * CspKeyContainerInfo.cs: Added CryptoKeySecurity property. This will + always return null until we support access control for key containers. + * CspParameters.cs: Added new constructors and propertys for access + control and password (2.0). + * DSASignatureDeformatter.cs: Throw ArgumentNullException in NET_2_0 + if a null key is specified. + * DSASignatureFormatter.cs: Throw ArgumentNullException in NET_2_0 if + a null key is specified. + * HashAlgorithm.cs: Fix the reported exceptions for output buffers. + * HMAC.cs: Change the .Clear (which calls Dispose) to a .Initialize. + * MACTripleDES.cs: Removed unrequired private field _padding. + * PasswordDeriveBytes.cs: Added 4 new constructors where the password + is a byte[] (as it seems MS won't be using SecureString for this). + * RIPEMD160Managed.cs: Removed overriden Dispose method to match 2.0. + Clear buffers when initializing (e.g. re-using the hash instance). + * Rfc2898DeriveBytes.cs: Added a new constructor where the password + is a byte[] (as it seems MS won't be using SecureString for this). + * RSAPKCS1SignatureDeformatter.cs: Throw ArgumentNullException in + NET_2_0 if a null key is specified. + * RSAPKCS1SignatureFormatter.cs: Throw ArgumentNullException in + NET_2_0 if a null key is specified. + * ToBase64Transform.cs: Fix the reported exceptions for output buffers. + +2005-01-06 Sebastien Pouliot + + * DES.cs: Change wek and semi-weak key checking to avoid memory + allocations. Old version required 2 allocations (weak+semiweak) to + unpack the key. New versions are 16x-20x faster. + * RijndaelManaged.cs: Removed unrequired "& 0xff" when casting to + byte. + +2005-01-03 Sebastien Pouliot + + * DESCryptoServiceProvider.cs: Refactored ECB/ProcessBlock to allow + TripleDES to be more efficient by using the permutations itself. + * TripleDESCryptoServiceProvider.cs: Removed memory allocation in + Transform's ECB method. Changed code to directly call DES's + permutations. MACTripleDES is now 20% faster (didn't have any other + 3DES benchmark on hand) and requires much less memory. + +2005-01-03 Sebastien Pouliot + + * DESCryptoServiceProvider.cs: Now using pre-computed tables (instead + of using a static constructor to compute them). Not much change + performance-wise unless you used DES but only "a little" ;-). The old + code (who computed the results) is still present but commented, + +2005-01-02 Sebastien Pouliot + + * SHA1CryptoServiceProvider.cs: Removed memory allocation in + ProcessBlock method (now global). This gives up to 8% performance + increase when multiple blocks are being used. + * SHA256Managed.cs: Removed memory allocation in ProcessBlock method + (now global). This gives up to 5% performance increase when multiple + blocks are being used. + +2004-12-23 Sebastien Pouliot + + * DataProtectionScope.cs: Moved in System.Security.dll + * MemoryProtectionScope.cs: Moved in System.Security.dll + * ProtectedData.cs: Moved in System.Security.dll + * ProtectedMemory.cs: Moved in System.Security.dll + +2004-12-22 Sebastien Pouliot + + * RSA.cs: Throw the proper CryptographicException exception when + exporting a private key without CRT parameters, while keeping the + ArgumentNullException when the private exponent (D) is missing. + +2004-12-06 Sebastien Pouliot + + * RSACryptoServiceProvider.cs: Adjust DecryptValue to the fact that + Mono's RSAManaged support decryption without CRT while MS requires it. + +2004-11-26 Sebastien Pouliot + + * CryptoAPITransform.cs: + * DSACryptoServiceProvider.cs: + * MACTripleDES.cs: + * RC2CryptoServiceProvider.cs: + * RSACryptoServiceProvider.cs: + Added ComVisible attributes to match 2.0 October Preview. + +2004-11-03 Sebastien Pouliot + + * PasswordDeriveBytes.cs: Fix default iretation count to 100. Fix + exceptions to match MS more closely. Fixed possible ArgumentException + when asking multiple GetBytes than results in more bits than the hash + function can provide. + +2004-09-16 Sebastien Pouliot + + * DESCryptoServiceProvider.cs: Fixed warning (l4) by adding empty {}. + * DSASignatureDeformatter.cs: Fixed warning (l4) for unused variable. + * DSASignatureFormatter.cs: Fixed warning (l4) for unused variable. + * HMACSHA1.cs: Fixed warning (l4) for unused variable. + +2004-09-03 Tim Coleman (tim@timcoleman.com) + + * CryptoConfig.cs: Add new Xml cryptography class info. + +2004-08-08 Sebastien Pouliot + + * CspProviderFlags.cs: Fixed new enums values. + * DSA.cs: Fixed #if for constructor visibility. + * CryptoAPITransform.cs: Removed constructor for NET_2_0 profile. + +2004-07-07 Sebastien Pouliot + + * DES.cs: Fixed FeedbackSizeValue to 8. + * RC2.cs: Fixed FeedbackSizeValue to 8. + * RC2CryptoServiceProvider.cs: When key size is different from + effective key size we throw CryptographicUnexpectedOperationException. + * TripleDES.cs: Fixed FeedbackSizeValue to 8. + +2004-07-07 Sebastien Pouliot + + * CryptoAPITransform.cs: Added the new Reset method for NET_2_0. This + is a NOP as this class isn't used by Mono (all crypto transforms are + managed). + * CryptographicException.cs: Added _Exception interface for NET_2_0 + profile. + * CspProviderFlags.cs: Added new enum's members for NET_2_0. + * DSA.cs: Changed constructor to protected for NET_2_0. It is now + possible to inherit from DSA in other assemblies. + * DSACryptoServiceProvider.cs: NET_2_0 cleanup. Added interface + ICspAsymmetricAlgorithm (stub), removed (unrequired) LegalKeySizes + override, fixed visibility of PublicOnly property. + * HMACSHA1.cs: Fixed #if for NET_2_0 profile. + * KeyNumber.cs: Fixed values for new enum in Fx 2.0. + * MACTripleDES.cs: Added new Padding property to NET_2_0 profile. + * ProtectedData.cs: Added missing private constructor. + * ProtectedMemory.cs: Added missing private constructor. + * RC2CryptoServiceProvider.cs: Added UseSalt property to NET_2_0 + profile. Salt usage must be added to the transforms. + * RIPEMD160Managed.cs: Removed unrequired [CLSCompliant] attributes. + * RSACryptoServiceProvider.cs: NET_2_0 cleanup. Added interface + ICspAsymmetricAlgorithm (stub), fixed visibility of PublicOnly + property. + * RijndaelManaged.cs: Use the new RijndaelManagedTransform for Fx 2.0. + * RijndaelManagedTransform.cs: New. Class is now public in Fx 2.0. + +2004-06-23 Sebastien Pouliot + + * CryptoStream.cs: Removed the block reduction. This seems to be done + only for Decryptor so it was moved to SymmetricTransform. + +2004-06-16 Sebastien Pouliot + + * SignatureDescription.cs: Implemented .ctor(SecurityElement) using + documentation from VS.NET 2005. + +2004-06-10 Gert Driesen + + * ToBase64Transform.cs: Uncomment finalizer to fix public API + signature + +2004-05-29 Sebastien Pouliot + + * CspProviderFlags.cs: Reverted previous patch as UseExistingKey isn't + part of the 1.0/1.1 framework. + +2004-05-29 Gert Driesen (drieseng@users.sourceforge.net) + + * CspProviderFlags.cs: Added missing enum field UseExistingKey + +2004-05-27 Sebastien Pouliot + + * HashAlgorithm.cs: Added missing exception handling to ComputeHash, + TransformBlock and TransformFinalBlock. + +2004-05-26 Sebastien Pouliot + + * CryptoStream.cs: Fixed possible integer overflow. + * FromBase64Transform.cs: Better exception handling and fixed possible + integer overflow. + * RNGCryptoServiceProvider.cs: Changed RNG interface with the runtime + so it could be used in a thread-safe way with CryptoAPI. + * ToBase64Transform.cs: Better exception handling and fixed possible + integer overflow. + +2004-05-07 Sebastien Pouliot + + * CipherMode.cs: Moved XML comments to monodoc. + * CryptoConfig.cs: Changed Array.Copy to Buffer.BlockCopy. + * CryptoStream.cs: Changed Array.Copy to Buffer.BlockCopy. + * DSA.cs: Changed Array.Copy to Buffer.BlockCopy. + * DSACryptoServiceProvider.cs: Fixed SignData to hash data before + signing it (thanks to Jens Thiel for spotting this). + * ICryptoTransform.cs: Moved XML comments to monodoc. + * PasswordDeriveBytes.cs: Changed Array.Copy to Buffer.BlockCopy. + * FromBase64Transform.cs: Moved XML comments to monodoc. + * RSACryptoServiceProvider.cs: Fixed OID related exception in SignData. + * ToBase64Transform.cs: Input block may be smaller than a full block + when calling TransformFinalBlock (fix 2 CryptoStream unit tests). + +2004-05-06 Sebastien Pouliot + + * RSAOAEPKeyExchangeDeformatter.cs: Fixed wrt completed unit tests. + * RSAOAEPKeyExchangeFormatter.cs: Fixed wrt completed unit tests. + * RSAPKCS1KeyExchangeDeformatter.cs: Fixed wrt completed unit tests. + Added globalization to exceptions. + * RSAPKCS1KeyExchangeFormatter.cs: Fixed wrt completed unit tests. + * RSAPKCS1SignatureDeformatter.cs: Fixed wrt completed unit tests. + Added globalization to exceptions. + * RSAPKCS1SignatureFormatter.cs: Fixed wrt completed unit tests. + Added globalization to exceptions. + +2004-05-06 Sebastien Pouliot + + * RC2.cs: Fixed KeySize to change it's value and the EffectiveKeySize + when the key is changed. + * RC2CryptoServiceProvider.cs: Added globalization to exceptions. + Fixed the KeySize must be equal with EffectiveKeySize to match MS + implementation. + * Rijndael.cs: Source clean up. + * RijndaelManaged.cs: Moved XML comments to monodoc. Added + globalization to exceptions. + * RNGCryptoServiceProvider.cs: Removed TODO and documented them in + mono doc. Now call runtime when a seed is provided. + * RSA.cs: Added globalization to exceptions. Removed check for + as it is not checked by MS implementation. + * SHA1.cs: Moved XML comments to monodoc. + * SHA1CryptoServiceProvider.cs: Moved XML comments to monodoc. Removed + CLSCompliance attributes from private fields. + * SHA256.cs: Moved XML comments to monodoc. + * SHA256Managed.cs: Moved XML comments to monodoc. Removed + CLSCompliance attributes from private fields. + * SHA384.cs: Moved XML comments to monodoc. + * SHA512.cs: Moved XML comments to monodoc. + * SignatureDescription.cs: Moved XML comments to monodoc. Added + globalization to exceptions. Removed TODO and added notes to monodoc. + * SymmetricAlgorithm.cs: Moved XML comments to monodoc. Added + globalization to exceptions. + * ToBase64Tranform.cs: Added missing exception handling. Moved XML + comments to monodoc. + * TripleDES.cs: Added globalization to exceptions. + * TripleDESCryptoServiceProvider.cs: Changed Array.Copy to + Buffer.BlockCopy. Zeroize decrypted data. + +2004-05-05 Sebastien Pouliot + + * HashAlgorithm.cs: Moved XML comments to monodoc. Added globalization + to exceptions. + * KeyedHashAlgorithm.cs: Added globalization to exceptions. + * KeySizes.cs: Moved XML comments to monodoc. + * MaskGenerationMethod.cs: Source clean up. + * MD5.cs: Moved XML comments to monodoc. + * MD5CryptoServiceProvider.cs: Removed CLSCompliance attributes from + private fields. Changed constants from enum to array. Zeroize data on + Dispose. + * PaddingMode.cs: Moved XML comments to monodoc. + * PasswordDeriveBytes.cs: Added globalization to exceptions. Removed + TODO and documented as "not supported" in MonoDoc. + * RandomNumberGenerator.cs: Source clean up. + +2004-05-05 Sebastien Pouliot + + * DSACryptoServiceProvider.cs: Added globalization to exceptions. + * HMACSHA1.cs: Cleanup. + * SHA1CryptoServiceProvider.cs: Removed unused private methods. + * SHA1Managed.cs: Removed unused private methods. + * SHA384Managed.cs: Don't zeroize buffer on first initialization. + * SHA512Managed.cs: Don't zeroize buffer on first initialization. + +2004-05-05 Sebastien Pouliot + + * Base64Constants.cs: New. Convert code into tables for better base64 + performance. + * FromBase64Transform.cs: Updated to use the new tables. Source code + cleanup. + * SHA256Managed.cs: Updated to use shared constants. + * SHA384Managed.cs: Updated to use shared constants. + * SHA512Managed.cs: Updated to use shared constants. + * SHAConstants.cs: New. Shared constants for SHA implementations. + * ToBase64Transform.cs: Updated to use the new tables. Added + globalization. Commented finalizer as it isn't required in this case. + +2004-05-03 Sebastien Pouliot + + * CryptoConfig.cs: Specify version and public key token when loading + System.Security.dll for XML Digital Signature classes. + +2004-04-29 Ben Maurer + + * DES.cs: + * DESCryptoServiceProvider.cs: + * RC2CryptoServiceProvider.cs: + * RijndaelManaged.cs: + * SHA384Managed.cs: + * SHA512Managed.cs: + * ToBase64Transform.cs: + Readonly/Constify. + +2004-04-29 Sebastien Pouliot + + * DES.cs: Removed redundant weak/semi-weak key check in Key property. + * DESCryptoServiceProvider.cs: Implementation already had 100% + coverage. + +2004-04-28 Sebastien Pouliot + + * DSACryptoServiceProvider.cs: Changed delegate signature. + * RSACryptoServiceProvider.cs: Changed delegate signature. + +2004-04-28 Sebastien Pouliot + + * DSA.cs: Moved XML comments to monodoc. Added globalization to + exceptions. Already had 100% coverage. + * DSAParameters.cs: Moved XML comments to monodoc. + * DSASignatureDeformetter.cs: Added globalization to exceptions. + Limited catch to expected exception. Already had 100% coverage. + * DSASignatureFormatter.cs: Added globalization to exceptions. Limited + catch to expected exception. Already had 100% coverage. + +2004-04-26 Sebastien Pouliot + + * AsymmetricAlgorithm.cs: Moved XML comments to monodoc. Added + globalization to exceptions. Already had 100% coverage. + * AsymmetricKeyExchangeDeformatter.cs: Moved XML comments to monodoc. + Already had 100% coverage. + * AsymmetricKeyExchangeFormatter.cs: Moved XML comments to monodoc. + Already had 100% coverage. + * AsymmetricSignatureDeformatter.cs: Moved XML comments to monodoc. + Already had 100% coverage. + * AsymmetricSignatureFormatter.cs: Moved XML comments to monodoc. + Already had 100% coverage. + * CryptoAPITransform.cs: Unused by Mono (added note to monodoc). + Class will stay at 0% coverage. + * CryptoConfig.cs: Added globalization to exceptions. 98% coverage. + * CryptographicException.cs: Added globalization to exceptions. + Already had 100% coverage. + * CryptoStream.cs: Added globalization to exceptions. Removed (unused) + field _previousBlock to get 100% coverage. + * CspParameters.cs: Moved XML comments to monodoc. Already had 100% + coverage. + * CspProviderFlags.cs: Moved XML comments to monodoc. + * DeriveBytes.cs: Moved XML comments to monodoc. Already had 100% + coverage. + * DES.cs: Fixes to weak/semi-weak checking to pass new unit tests (it + requires to set odd parity on keys before comparing). + +2004-04-25 Andreas Nahr + + * DSACryptoServiceProvider.cs: Call invariant compare + +2004-04-08 Bernie Solomon + + * DSA.cs: Use Mono.Security.BitConverterLE + +2004-04-05 Bernie Solomon + + * DESCryptoServiceProvider.cs: Use BitConverter.IsLittleEndian + to fix for big endian machines. + +2004-03-10 Sebastien Pouliot + + * FromBase64Transform.cs: Now throws ObjectDisposedException and + return true for CanReuseTransform (as MS implementation). + +2004-03-09 Atsushi Enomoto + + * DSA.cs : fixed incorrectly modified catch for debugging. + +2004-03-09 Atsushi Enomoto + + * DSA.cs : In ToXmlString(), sequence of Seed and PgenCounter is + optional. + +2004-02-26 Sebastien Pouliot + + * DES.cs: Same fix as for SymmetricAlgorithm (get_Key is + overridden to check for weak keys). Also ensured that no weak keys + would be generated. + * SymmetricAlgorithm.cs: Return a copy of the key (and IV) so it + doesn't get destroyed when dispose is called (in this case the key + zeroization is the caller's responsability). Match MS implementation. + * TripleDES.cs: Same fix as for SymmetricAlgorithm (get_Key is + overridden to check for weak keys). Fix bugzilla #54868. + 2004-02-12 Sebastien Pouliot * CryptoStream.cs: Remove the _blockSize assumptions because some