2004-06-23 Sebastien Pouliot * SymmetricTransform.cs: Reduce by one the number of block when decrypting. This operation was in CryptoStream before but is only required for decryption (which CryptoStream can't know). Fix bug #60573. 2004-05-27 Sebastien Pouliot * SymmetricTransform.cs: Fixed possible integer overflow. Added missing exception handling in TransformBlock and TransformFinalBlock. 2004-05-01 Sebastien Pouliot * CryptoConvert.cs: Synched with Mono.Security.dll. Fix bug #57941 (truncated key pair). * RSAManaged.cs: Synched with Mono.Security.dll. Fix bug #57941 (truncated key pair). 2004-04-28 Sebastien Pouliot * CryptoConvert.cs: In sync with Mono.Security.dll version. * CryptoTools.cs: In sync with Mono.Security.dll version. * DSAManaged.cs: Changed delegate to please FxCop. * PKCS1.cs: In sync with Mono.Security.dll version. * RSAManaged.cs: In sync with Mono.Security.dll version. * SymmetricTransform.cs: Fixed a bug when offset > 0 in destination buffer. Changed Array.Copy to Buffer.BlockCopy. 2004-04-23 Sebastien Pouliot * KeyPairPersistence.cs: Completed key pair protection for both Linux and Windows (protection done by runtime). 2004-04-08 Bernie Solomon * PKCS1.cs: Use BitConverterLE 2004-04-06 Bernie Solomon * CryptoConvert.cs: Add private methods to always handle data as little endian (GetBytesLE, ToInt32LE, ToUInt32LE). 2004-03-23 Sebastien Pouliot * CryptoConvert.cs: Added support for public keys preceded by an header like the one generated by "sn -e". 2004-03-23 Sebastien Pouliot * CryptoConvert.cs: Added exception for null and bad parameters. * RSAManaged.cs: CryptographicException thrown when trying to export the private key when only the public key is present (CRT aware). 2004-03-22 Sebastien Pouliot * CryptoConvert.cs: Added new methods to convert [From|To]Hex. Added new version of FromCapiPublicKeyBlob with an integer offset. 2004-02-06 Sebastien Pouliot * DSAManaged.cs: Added an event after key generation (so that DSACryptoServiceProvider can persist the keypair if required). Added PublicOnly property (like 1.2) so we do not have to catch an exception to know if a private key is present or not. Added a Random property so we do not always have to create a RNG instance (not always required). * RSAManaged.cs: Added an event after key generation (so that DSACryptoServiceProvider can persist the keypair if required). Added PublicOnly property (like 1.2) so we do not have to catch an exception to know if a private key is present or not. * SymmetricTransform.cs: This class was split from S.S.C. SymmetricAlgorithm.cs so it could be reused in Mono.Security assembly for other symmetric algorithms transforms. 2004-02-05 Sebastien Pouliot * KeyPairPersistence.cs: New. Class to persist keypairs in an XML format to mimic the CryptoAPI key containers. 2004-01-12 Sebastien Pouliot * CryptoConvert.cs: RSA doesn't start with a Q - at least that what a strongname told me. Sorry Ron :( 2003-12-15 Sebastien Pouliot * MACAlgorithm.cs: Fixed difference between 1.0 and 1.1 framework. The 1.0 framework is adding an additional padding block (empty) to MAC when MACing an exact multiple of the TripleDES block size. * PKCS1.cs: Fixed a typo which prevented "lame" (without OID) signature verification. 2003-10-30 Sebastien Pouliot * CryptoConvert.cs: Fixed strongname generation for small exponents (like 17). Part of the fixed for bug #50341. 2003-10-17 Sebastien Pouliot * CryptoConvert.cs: Added from Mono.Security to support StrongNames. 2003-07-05 Sebastien Pouliot * DSAManaged.cs: Fixed bugs that appeared with the new unit tests. * RSAManaged.cs: Fixed bugs that appeared with the new unit tests. 2003-07-02 Zoltan Varga * PKCS1.cs DSAManaged.cs: Changed strange characters in comments to human-readable ones, since they break XML export in monocov. 2003-06-15 Sebastien Pouliot * RSAManaged.cs: Now includes CRT (Chinese Remainder Theorem) optimization when using the private key (DecryptValue). This cut more than 5 seconds of nunit on my system (out of 14 sec for complete asymmetric tests). Thanks to Ben Maurer for help! 2003-06-11 Sebastien Pouliot * DSAManaged.cs: Refactored from DSACryptoServiceProvider.cs. Cannot be reused outside [ms]corlib because DSA constructor is internal :-( * PKCS1.cs: Now support any hash algorithm when encoding PKCS 1.5 (i.e. not limited to pre-calculated values for known hashes). Some other API changes to ease the use of other hash algorithms. * RSAManaged.cs: Refactored from RSACryptoServiceProvider.cs. This class is required for custom PKCS#1 padding in SSL (which is not possible using RSACryptoServiceProvider). 2003-05-12 Sebastien Pouliot * PKCS1.cs: Corrected I2OSP to match PKCS#1 v.2.1 test vector and fix the OAEP incompatibility issue. 2003-04-01 Sebastien Pouliot * PKCS1.cs: Corrected fix (partially) for the lame PKCS1 v1.5 signatures done without specifying an OID. 2003-03-01 Sebastien Pouliot * PKCS1.cs: Fix for some (lame) PKCS1 v1.5 signatures done without specifying an OID. 2003-02-08 Sebastien Pouliot * CryptoTools.cs: Renamed namespace to match new location. * PKCS1.cs: Renamed namespace to match new location. * HMACAlgorithm.cs: New. Generic class to implement HMAC using any hash algorithm (was in S.S.C.HMACSHA1.cs). * MACAlgorithm.cs: New. Generic class to implement MAC using any symmetric algorithm (was in S.S.C.MACTripleDES.cs).