X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Security.Cryptography%2FChangeLog;h=db8fea7da3b7153247934401dc731ac7c3431725;hb=5e535232a9215074ce5679de99abcadf063843b6;hp=84a84beffbe2a2b8ee82203873fd2f88585e3af3;hpb=c441fe5cc63798ad9be778fd7c6846135af94ca0;p=mono.git diff --git a/mcs/class/corlib/System.Security.Cryptography/ChangeLog b/mcs/class/corlib/System.Security.Cryptography/ChangeLog index 84a84beffbe..db8fea7da3b 100644 --- a/mcs/class/corlib/System.Security.Cryptography/ChangeLog +++ b/mcs/class/corlib/System.Security.Cryptography/ChangeLog @@ -1,4 +1,457 @@ +2003-02-08 Sebastien Pouliot + * Changes to refer Mono.Math and Mono.Security.Cryptography + +2003-02-04 Sebastien Pouliot + + * CryptoConfig.cs: Added initital support for "machine.config" + (limited to algorithms, not OIDs). Modified CreateFromName to use + the fully qualified class names (and removed xmldsig hack). Added + algorithm names documented in book ".NET Framework Security". + +2003-02-03 Sebastien Pouliot + + * PasswordDeriveBytes.cs: Finally got the derivation right. The + class can now derive keys up to 1000 * HashSize (same limit as MS). + * RSAPKCS1SignatureDeformatter.cs: No need to create the hash object + in this class - the OID is enough. + +2003-02-01 Sebastien Pouliot + + * AsymmetricSignatureFormatter.cs: Call abstract SetHashAlgorithm + when CreateSignature(hash) is called. + * CryptoStream.cs: Fixed some issues in constructor. + * DSACryptoServiceProvider.cs: Fixed a bug (1 chance in 256) that + a signature could be less than 40 bytes (which is invalid). + +2003-01-25 Sebastien Pouliot + + * CryptographicException.cs: Default HResult to CORSEC_E_CRYPTO + (0x80131430) as documented. + * CryptographicUnexpectedOperationException.cs: Default HResult + to CORSEC_E_CRYPTO_UNEX_OPER (0x80131431) as documented. + +2003-01-20 Sebastien Pouliot + + * CipherMode.cs: Added missing [Serializable] to enum. + * CspProviderFlags.cs: Added missing [Serializable] to enum. + * FromBase64Transform.cs: Added missing [Serializable] to enum. + * PaddingMode.cs: Added missing [Serializable] to enum. + +2003-01-19 Sebastien Pouliot + + * CryptoTools.cs: Added internal class BlockProcessor to help + implementation of block-based algorithms (like MAC and HMAC). + * HMACSHA1.cs: Refactored to remove dependencies on CryptoStream, + better constructors and Dispose support. + * MACTripleDES.cs: Refactored to reuse new HMACSHA1 stuff, better + constructors. + +2003-01-18 Sebastien Pouliot + + * HMACSHA1.cs: Now use KeyBuilder to build the default key. + +2003-01-12 Sebastien Pouliot + + * MACTripleDES.cs: Now working (the problem was with my stream usage + which was removed for performance reason). + * TripleDES.cs: Fixed key generation (wasn't called and returned + null). + +2003-01-09 Sebastien Pouliot + + * RNGCryptoServiceProvider.cs: Changed methods interacting with + the runtime as Internal. This will allow to make the + class Windows-compatible by doing a switch at runtime. + +2003-01-05 Sebastien Pouliot + + * CryptoAPITransform.cs: Removed all TODO. This class will not be + used by Mono. MS uses it with CryptoServiceProvider classes + to provide a common ICryptoTransform access to CryptoAPI. + +2003-01-03 Sebastien Pouliot + + * RC2CryptoServiceProvider.cs: Now about 2 time faster by inlining + methods and changing to UInt16 (instead of UInt32). + +2003-01-02 Sebastien Pouliot + + * RijndaelManaged.cs: Now 7 (encrypt) to 10 (decrypt) times faster + by removing allocation inside intensively called methods, using pre- + calculated tables instead of Mult_GF methods and inlining most methods. + +2002-12-31 Sebastien Pouliot + + * AsymmetricAlgorithm.cs: Removed ValidKeySize (method only present + in SymmetricAlgorithm). + * DSA.cs: Change ZeroizePrivateKey from protected to internal. + * DSACryptoServiceProvider.cs: Added some case where we need to check + for keypairGenerated. + * RSA.cs: Change ZeroizePrivateKey from protected to internal. + * RSACryptoServiceProvider.cs: Key were never generated with the default + (no parameter) constructor. Now checks for keypairGenerated in methods. + * SignatureDescription.cs: Added CreateDeformatter in RSAPKCS1SHA1- + SignatureDescription to please corcompare (it just call it's ancestor). + +2002-12-30 Sebastien Pouliot + + * CryptoStream.cs: Implemented core. Not sure about many details - + but it run the samples now (#30256). + * CryptoStreamMode.cs: Added [Serializable] to enum declaration. + * SymmetricAlgorithm.cs: Made some changes required for CryptoStream + and to match more closely MS implementation. Also added little + optimizations in TransformBlock. + +2002-12-27 Sebastien Pouliot + + * CryptoTools.cs: New. Shared classes for cryptography. Now + includes a KeyBuilder to generate symmetric keys and IV. + * DES.cs: Modified Key validation. + * DESCryptoServiceProvider.cs: Implemented Key and IV using + KeyBuilder. + * RC2CryptoServiceProvider.cs: Implemented Key and IV using + KeyBuilder (and removed TODO). + * RijndaelManaged.cs: Implemented Key and IV using KeyBuilder + (and removed TODO). + * SHA384Managed.cs: Changed code to remove compiler warning. + * SHA512Managed.cs: Changed code to remove compiler warning. + * SymmetricAlgorithm.cs: Removed TODO on IV. + * TripleDESCryptoServiceProvider.cs: Implemented Key and IV + using KeyBuilder (and removed TODO). + +2002-11-20 Sebastien Pouliot + + * AsymmetricSignatureDeformatter.cs: Added exception handling in + VerifySignature (moved from RSAPKCS1SignatureDeformatter). + * AsymmetricSignatureFormatter.cs: Added exception handling in + CreateSignature (moved from RSAPKCS1SignatureFormatter). + * CryptoAPITransform.cs: Removed "= false" assignation from a private + member (because this created an unwanted "ghost" constructor) and + modified Dispose declaration. + * HashAlgorithm.cs: Removed destructor. Disposing unmanaged + ressources is the responsability of each class (not an abstract class). + * RSAPKCS1SignatureDeformatter.cs: Removed a VerifySignature method + which was present in the base class AsymmetricSignatureDeformatter. + * RSAPKCS1SignatureFormatter.cs: Removed a CreateSignature method + which was present in the base class AsymmetricSignatureFormatter. + * SHA1Managed.cs: Removed sealed from class declaration. Removed + destructor and Dispose method as class is fully managed. + * ToBase64Transform.cs: Added virtual to property CanReuseTransform. + +2002-11-17 Sebastien Pouliot + + * CryptoConfig.cs: Added full classes name for MapNameToOID. + * PKCS1.cs: New. Internal class for the various primitives defined + in PKCS#1 v.2.1. + * PKCS1MaskGenerationFunction.cs: Modified to use PKCS1.cs. + * RSA.cs: Added internal class RSAHandler (which implements IHandler + interface for MiniParser) to import RSA keypairs from XML strings. + * RSACryptoServiceProvider.cs: Crypto implemented using BigInteger. + Key generation is VERY LONG. + * RSAOAEPKeyExchangeDeformatter.cs: Completed using PKCS1. Not sure + of the results as this is not available in all versions of Windows. + * RSAOAEPKeyExchangeFormatter.cs: Completed using PKCS1. Not sure + of the results as this is not available in all versions of Windows. + * RSAPKCS1KeyExchangeDeformatter.cs: Completed using PKCS1. + * RSAPKCS1KeyExchangeFormatter.cs: Completed using PKCS1. + * RSAPKCS1SignatureDeformatter.cs: Completed using PKCS1. + * RSAPKCS1SignatureFormatter.cs: Completed using PKCS1. + +2002-11-17 Sebastien Pouliot + + * MiniParser.cs: Added explicit cast in order to compile with mcs. + +2002-11-16 Sebastien Pouliot + + * AsymmetricAlgorithm.cs: Added internal class AsymmetricParameters + (which implements the IReader interface for MiniParser). Corrected + Dispose declaration. + * BigInteger.cs: New. Internal class for handling BIG integers for + asymmetric crypto (both RSA and DSA). Thanks to Chew Keong TAN ! + * CryptoConfig.cs: Added XMLDSIG URLs in CreateFromName. + Will dynamically load System.Security.dll, when required, + to return instance of those classes. Also CryptoConfig can now + create any object (e.g. System.IO.MemoryStream) ! + * DSA.cs: Added internal class DSAHandler (which implements IHandler + interface for MiniParser) to import DSA keypairs from XML strings. + * DSACryptoServiceProvider.cs: Crypto fully implemented using + BigInteger. Key generation (group) is VERY long. + * MiniParser.cs: New. Minimal XML parser by Sergey Chaban. Used to + import keypairs in XML strings. + * SignatureDescription.cs: Removed local CreateFromName (to use + CryptoConfig - which actually can create anything). Added internal + classes DSASignatureDescription and RSAPKCS1SHA1SignatureDescription. + +2002-11-15 Sebastien Pouliot + + * CryptographicUnexpectedOperationException.cs: Forgot it last time! + * FromBase64Transform.cs: Added missing virtual to CanReuseTransform. + Changed Dispose(). + * HashAlgorithm.cs: Changed Dispose(). + * MD5CryptoServiceProvider.cs: Added destructor and Dipose(bool). + * PasswordDeriveBytes.cs: Changed some declaration from + protected to private. + * RC2.cs: Added valid keysize check in EffectiveKeySize. + * RC2CryptoServiceProvider.cs: Overriden EffectiveKeySize to match + corlib declarations. + * RSAOAEPKeyExchangeDeformatter.cs: Changed some declaration from + protected to private. + * RSAOAEPKeyExchangeFormatter.cs: Changed some declaration from + protected to private. + * RSAPKCS1KeyExchangeDeformatter.cs: Changed some declaration from + protected to private. + * RSAPKCS1KeyExchangeFormatter.cs: Changed some declaration from + protected to private. + * RSAPKCS1SignatureDeformatter.cs: Changed some declaration from + protected to private. + * RSAPKCS1SignatureFormatter.cs: Changed some declaration from + protected to private. + * SHA1CryptoServiceProvider.cs: Moved SHA1 code to SHA1Internal. + SHA1CryptoServiceProvider now use SHA1Internal. Added Dispose and + destructor. + * SHA1Managed.cs: New. Use SHA1Internal. Same as + SHA1CryptoServiceProvider but is required for binary compatibility. + * SHA256Managed.cs: Changed some declaration from protected to private. + * SHA384Managed.cs: Changed some declaration from protected to private. + * SHA512Managed.cs: Changed some declaration from protected to private. + * SymmetricAlgorithm.cs: Added Clear(), changed Dispose() and added + virtual to Dispose(bool). + * ToBase64Transform.cs: Added missing virtual to CanReuseTransform. + Changed Dispose(). + * TripleDESCryptoServiceProvider.cs: Added missing sealed to class + declaration. + +2002-11-03 Sebastien Pouliot + + * CryptoAPITransform.cs: Added missing CanReuseTransform property, + Clear method, destructor and IDisposable support. + * CryptographicException.cs: Added missing protected constructor. + * CryptographicUnexpectedOperationException.cs: Added missing + protected constructor. + * ICryptoTransform.cs: Added missing CanReuseTransform property. + * FromBase64Transform.cs: Added missing CanReuseTransform property, + Clear method, destructor and IDisposable support. + * SymmetricAlgorithm.cs: Implement IDisposable. + * ToBase64Transform.cs: Added missing CanReuseTransform property, + Clear method, destructor and IDisposable support. + +2002-11-02 Sebastien Pouliot + + * SignatureDescription.cs: Updated class to match unit test results + * X509Certificate.cs: REMOVED! Wrong namespace. An almost complete + implementation is now in System.Security.Cryptography.X509Certificates + +2002-11-01 Sebastien Pouliot + + * bouncycastle.txt: Bouncy Castle JCE License. + * SHA384Managed.cs: Hash implementation based on BouncyCastle JCE. + * SHA512Managed.cs: Hash implementation based on BouncyCastle JCE. + +2002-10-30 Sebastien Pouliot + + * DSASignatureDeformatter.cs: Fully implemented - however it + requires a functionnal DSA implementation to work. + * DSASignatureFormatter.cs: Fully implemented - however it + requires a functionnal DSA implementation to work. + +2002-10-25 Sebastien Pouliot + + * PasswordDeriveBytes.cs: New. PKCS#5 key derivation (PBKDF1) works up to + HashSize length (but MS support longer keys) + +2002-10-24 Sebastien Pouliot + + * RSACryptoServiceProvider.cs: New. Implemented most logic expect crypto + * RSAOAEPKeyExchangeDeformatter.cs: New. Stub. + * RSAOAEPKeyExchangeFormatter.cs: New. Stub. + * RSAPKCS1KeyExchangeDeformatter.cs: New. Stub. + * RSAPKCS1KeyExchangeFormatter.cs: New. 98% implemented but still + require RSA.DecryptValue (not supported in MS .NET Framework) + * RSAPKCS1SignatureDeformatter.cs: New. Stub. + * RSAPKCS1SignatureFormatter.cs: New. Stub. + +2002-10-23 Sebastien Pouliot + + * SymmetricAlgorithm.cs: Fixed CFB mode (do encryption while decrypting!) + * TripleDESCryptoServiceProvider.cs: Ajusted for CFB. + +2002-10-22 Sebastien Pouliot + + * RjindaelManaged.cs: Fixed decryption for 192 and 256 bit block size + +2002-10-21 Gonzalo Paniagua Javier + + * RC2CryptoServiceProvider.cs: fixed end of lines (changed from \r + to \n). + +2002-10-20 Sebastien Pouliot + + * SymmetricAlgorithm.cs: Added better Dispose support + * DES.cs: Now only contains the abstract DES class. + * DESCryptoServiceProvider.cs: Added the DESTransform class (inherited + from SymmetricTransform) based the old DESCore and DESTransformBase code + * RC2.cs: Fixed EffectiveKeySize == 0 + * RC2CryptoServiceProvider.cs: Added the RC2Transform class (inherited + from SymmetricTransform) based on the old RC2lImpl code. Unrolled some loops. + * RjindaelManaged.cs: Few more optimizations while looking for decrypting bug + * TripleDESCryptoServiceProvider.cs: New. Implement TripleDESTransform from + DESTransform (non-optimal but working :-). + +2002-10-19 Sebastien Pouliot + + * SymmetricAlgorithm.cs: Added new class SymmetricTransform to avoid + duplicating CipherMode (currently ECB, CBC) and PaddingMode functionalities + in every crytographic algorithm implementation. + * RijndaelManaged.cs: Added the RjindaelTransform class (inherited + from SymmetricTransform) based the old RijndaelImpl / RijndaelController + code. Fixed encryption for block size 192, 256, there is still a problem + decrypting block size 192, 256. Unrolled some loops + littl'optimizations + * PKCS1MaskGenerationMethod.cs: Removed Array.Reverse in I2OSP to be + compatible with MS implementation (however we are now failing the PKCS#1 + test vector) + added some more checks (null, overflow, ...) + * AsymmetricAlgorithm.cs: Commented XMLDocument stuff to end the cyclic + dependency (corlib->System.Xml->corlib) + * RSA.cs: Commented FromXmlString stuff to end the cyclic dependency + * DSA.cs: Commented FromXmlString stuff to end the cyclic dependency + * RC2.cs: Create using CryptoConfig + * TripleDES.cs: Marked class public. Added LegalKeySizes and LegalBlockSizes + +2002-10-14 Sebastien Pouliot + + * MD5.cs: Create using CryptoConfig, set HashSizeValue, removed TODO. + * Rijndael.cs: Create using CryptoConfig. Removed TODO. + * RSAParameters.cs: Modulus must be serialized. Removed TODO. + * SHA256.cs: Create using CryptoConfig, set HashSizeValue, removed TODO. + * SHA384.cs: Create using CryptoConfig, set HashSizeValue, removed TODO. + * SHA512.cs: Create using CryptoConfig, set HashSizeValue, removed TODO. + * FromBase64Transform.cs: Removed ToString() + * ToBase64Transform.cs: Removed ToString() + * SymmetricAlgorithm.cs: Create using CryptoConfig, set default Mode and + Padding, added Clear, Dispose + * TripleDES.cs: New. Abstract class. + * MaskGenerationMethod.cs: New. Abstract class. + * PKCS1MaskGenerationMethod.cs: New. Implement PKCS#1 MGF (currently not + compatible with MS implementation - but not sure the bug is mine!). + +2002-10-13 Sebastien Pouliot + + * HashAlgorithm.cs: Added Dispose() to HashAlgorithm because it + inherits ICryptoTransform + * KeyedHashAlgorithm.cs: New implementation + * HMACSHA1.cs: New (include a generic HMACAlgorithm as internal class) + * MACTripleDES.cs: New (missing core implementation on generic MACAlgorithm) + * CryptoStream.cs: Added limited functionalities to support HMACSHA1 + +2002-10-12 Sebastien Pouliot + + * DSA.cs: changed constructor to public from internal (like MS) + * HashAlgorithm.cs: Completed ComputeHash methods + * SHA1.cs: Added HashSizeValue = 160 + +2002-10-12 Sebastien Pouliot + + * ICryptoTransform.cs: Now inherits from IDisposable + * RC2CryptoServiceProvider.cs: Added Dispose() to RC2Impl because it inherits ICryptoTransform + * CryptoAPITransform.cs: Added Dispose() to CryptoAPITransform... ICryptoTransform + * RijndaelManaged.cs: Added Dispose() to RijndaelController...ICryptoTransform + * FromBase64Transform.cs: Added Dispose() to FromBase64Transform...ICryptoTransform + * ToBase64Transform.cs: Added Dispose() to ToBase64Transform...ICryptoTransform + * DESCryptoServiceProvider.cs: Added Dispose() to DESTransformBase...ICryptoTransform + +2002-10-11 Duncan Mak + + * DESCryptoServiceProvider.cs: Removed unnecessary Dispose (). + +2002-10-11 Sebastien Pouliot + + * DES.cs: Create() using CryptoConfig, fix #30256 + * DESCryptoServiceProvider.cs: fix #30256 + * RandomNumberGenerator.cs: uncomment in Create(rng) for CryptoConfig + +2002-10-10 Sebastien Pouliot + + * AsymmetricAlgorithm.cs: Inherit from IDisposable, common support from XML import + * DSA.cs: FromXmlString() keypair import, Create() using CryptoConfig + * RSA.cs: FromXmlString() keypair import, Create() using CryptoConfig + * DSACryptoServiceProvider.cs: Added Dispose() + +2002-10-09 Sebastien Pouliot + + * CryptoConfig.cs: New implementation + +2002-10-05 Andrew Birkett + + * RC2CryptoServiceProvider.cs: New implementation + * RC2.cs: New implementation + +2002-09-22 Andrew Birkett + + * RijndaelManaged.cs: Added faster case for multiplication by 2 in GF(8) + +2002-09-22 Andrew Birkett + + * RijndaelManaged.cs: BlockSize now reports size in bytes. + * ICryptoTransform.cs: Updated comments - BlockSizes are in bytes, unlike elsewhere. + +2002-09-19 Andrew Birkett + + * Rijndael.cs: Create() now gives you a RijndaelManaged object + * RijndaelManaged.cs: Added dummy GenerateKey until we have a proper RNG. + * SymmetricAlgorithm.cs: Updated comments + +2002-09-15 Andrew Birkett + + * RijndaelManaged.cs: Added support for CBC-mode, PKCS7/Zero padding. + * SymmetricAlgorithm.cs: IV size must match block size, not key size. + Key property now sets KeySizeValue correctly in bits. + +2002-09-11 Andrew Birkett + + * RijndaelManaged.cs: Implemented ECB-mode Rijndael cipher. + * Rijndael.cs: Set valid key/block sizes. + * SymmetricAlgorithm.cs: Remove throw from ctr so we can instantiate + derived classes. Fixes to key sizes so they are measured in bits. + * KeySizes.cs: Updated comments to emphasize that sizes are in bits. + +2002-06-29 Martin Baulig + + * AsymmetricAlgorithm.cs: Removed a duplicate semicolon to make it compile. + +2002-05-19 Martin Baulig + + * FromBase64Transform.cs (TransformFinalBlock): The return value of + `DoTransform' tells us the number of bytes actually written - if it's + smaller than `res', copy it to a smaller array. + +2002-02-21 Mark Crichton + + * RNGCryptoServiceProvider.cs: New file. + * RandomNumberGenerator.cs: Constructor is now marked public. + +2002-02-13 Dan Lewis + + * DSACryptoServiceProvider.cs, SHA384Managed.cs, SHA512Managed.cs, + Rijndael.cs, RSA.cs, RSAParameters.cs : New files (stubs) + +Mon Feb 11 13:26:17 CET 2002 Paolo Molaro + + * X509Certificates: dummy class. + +2002-01-10 Duco Fijma + * Create (trivial) implementation of RandomNumberGenerator + +2002-01-05 Ravi Pratap + + * CryptoAPITransform.cs, DESCryptoProvider.cs : MonoTODO attribute + decoration. + + * HashAlgorithm.cs, MD5.cs, SHA1.cs, SHA256.cs, SHA384.cs : Ditto. + + * SHA512.cs, SymmetricAlgorithm.cs, ToBase64Transform.cs, + AsymmetricAlgorithm.cs, CryptoStream.cs, DSA.cs, DSASignatureDeformatter.cs, + DSASignatureFormatter.cs, SignatureDescription.cs : Ditto. + Wed Nov 14 17:04:30 CET 2001 Paolo Molaro * MD5CryptoServiceProvider.cs, SHA1CryptoServiceProvider.cs,