2003-02-08 Sebastien Pouliot <spouliot@videotron.ca>
[mono.git] / mcs / class / corlib / System.Security.Cryptography / ChangeLog
index 7c8236853ecc408674a2205dffb03a8dbebd1af8..db8fea7da3b7153247934401dc731ac7c3431725 100644 (file)
@@ -1,3 +1,247 @@
+2003-02-08  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * Changes to refer Mono.Math and Mono.Security.Cryptography
+
+2003-02-04  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * HMACSHA1.cs: Now use KeyBuilder to build the default key.
+
+2003-01-12  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * RNGCryptoServiceProvider.cs: Changed methods interacting with 
+       the runtime as Internal<MethodName>. This will allow to make the
+       class Windows-compatible by doing a switch at runtime.
+
+2003-01-05  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * CryptoAPITransform.cs: Removed all TODO. This class will not be
+       used by Mono. MS uses it with <algo>CryptoServiceProvider classes 
+       to provide a common ICryptoTransform access to CryptoAPI. 
+
+2003-01-03  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * RC2CryptoServiceProvider.cs: Now about 2 time faster by inlining 
+       methods and changing to UInt16 (instead of UInt32). 
+
+2003-01-02  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * MiniParser.cs: Added explicit cast in order to compile with mcs.
+
+2002-11-16  Sebastien Pouliot  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
+
+       * 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  <spouliot@videotron.ca>
 
        * bouncycastle.txt: Bouncy Castle JCE License.