1 2005-05-26 Ben Maurer <bmaurer@ximian.com>
3 * KeyPairPersistence.cs: Lock *before* checking if things are null
4 to prevent race conditions. Also, do not lock on typeof object.
6 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
8 * KeyPairPersistence.cs: Use PlatformID.Unix under NET_2_0.
10 2005-04-27 Sebastien Pouliot <sebastien@ximian.com>
12 * PKCS8.cs: New. Copied from Mono.Security.dll to allow support of
13 PKCS#12 files in X509Certificate for 2.0.
15 2005-04-18 Sebastien Pouliot <sebastien@ximian.com>
17 * SymmetricTransform.cs: Fixed a division by zero if someone changes
18 the feedback value to 0.
20 2005-03-30 Sebastien Pouliot <sebastien@ximian.com>
22 * SymmetricTransform.cs: Fixed a padding bug affecting that can occurs
23 when no padding is used.
25 2005-01-11 Sebastien Pouliot <sebastien@ximian.com>
27 * DSAManaged.cs: PublicOnly now reports false when a key hasn't yet
29 * RSAManaged.cs: PublicOnly now reports false when a key hasn't yet
32 2005-01-10 Sebastien Pouliot <sebastien@ximian.com>
34 * MACAlgorithm.cs: Added support for different padding modes (required
36 * SymmetricTransform.cs: Added support for ANSI X9.23 padding and
37 ISO 10126 padding modes (applies to all symmetric block ciphers).
39 2004-12-22 Sebastien Pouliot <sebastien@ximian.com>
41 * KeyPairPersistence.cs: Commented imperative asserts until it is
42 supported by the runtime.
44 2004-12-06 Sebastien Pouliot <sebastien@ximian.com>
46 * RSAManaged.cs: Implement key blinding for RSA decryption with, or
49 2004-11-23 Sebastien Pouliot <sebastien@ximian.com>
51 * PKCS1.cs: Fix PKCS#1 v1.5 decryption when the ciphertext isn't
52 exactly the same of the public key (which happens sometimes on Fx 1.1
53 probably because it doesn't do the last I2OSP operation to left pad
54 the resulting big integer with zeros).
56 2004-10-28 Sebastien Pouliot <sebastien@ximian.com>
58 * KeyPairPersistence.cs: Added localization for exceptions messages.
59 Also added more details (type and path) when an exception is thrown.
61 2004-09-29 Sebastien Pouliot <sebastien@ximian.com>
63 * RSAManaged.cs: KeySize is always a multiple of 8 bits (promotion to
64 a bigger size if required) to match MS implementation (and other
67 2004-09-16 Sebastien Pouliot <sebastien@ximian.com>
69 * CryptoConvert.cs: Fixed warning (l4) for unused variables.
70 * KeyPairPersistence.cs: Fixed warning (l4) for unused variable.
71 * PKCS1.cs: Added empty {} to fix warning about possible empty stmnt.
73 2004-07-07 Sebastien Pouliot <sebastien@ximian.com>
75 * MACAlgorithm.cs: Removed the hardcoded PaddingMode.Zeros as this is
76 now selectable in Fx 2.0.
77 * SymmetricTransform.cs: Throw CryptographicException when CipherMode
78 CTS or OFB is being used (to match MS implementation).
80 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
82 * SymmetricTransform.cs: Reduce by one the number of block when
83 decrypting. This operation was in CryptoStream before but is only
84 required for decryption (which CryptoStream can't know).
87 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
89 * SymmetricTransform.cs: Fixed possible integer overflow. Added
90 missing exception handling in TransformBlock and TransformFinalBlock.
92 2004-05-01 Sebastien Pouliot <sebastien@ximian.com>
94 * CryptoConvert.cs: Synched with Mono.Security.dll. Fix bug #57941
96 * RSAManaged.cs: Synched with Mono.Security.dll. Fix bug #57941
99 2004-04-28 Sebastien Pouliot <sebastien@ximian.com>
101 * CryptoConvert.cs: In sync with Mono.Security.dll version.
102 * CryptoTools.cs: In sync with Mono.Security.dll version.
103 * DSAManaged.cs: Changed delegate to please FxCop.
104 * PKCS1.cs: In sync with Mono.Security.dll version.
105 * RSAManaged.cs: In sync with Mono.Security.dll version.
106 * SymmetricTransform.cs: Fixed a bug when offset > 0 in destination
107 buffer. Changed Array.Copy to Buffer.BlockCopy.
109 2004-04-23 Sebastien Pouliot <sebastien@ximian.com>
111 * KeyPairPersistence.cs: Completed key pair protection for both
112 Linux and Windows (protection done by runtime).
114 2004-04-08 Bernie Solomon <bernard@ugsolutions.com>
116 * PKCS1.cs: Use BitConverterLE
118 2004-04-06 Bernie Solomon <bernard@ugsolutions.com>
120 * CryptoConvert.cs: Add private methods to always
121 handle data as little endian (GetBytesLE, ToInt32LE, ToUInt32LE).
123 2004-03-23 Sebastien Pouliot <sebastien@ximian.com>
125 * CryptoConvert.cs: Added support for public keys preceded by an
126 header like the one generated by "sn -e".
128 2004-03-23 Sebastien Pouliot <sebastien@ximian.com>
130 * CryptoConvert.cs: Added exception for null and bad parameters.
131 * RSAManaged.cs: CryptographicException thrown when trying to export
132 the private key when only the public key is present (CRT aware).
134 2004-03-22 Sebastien Pouliot <sebastien@ximian.com>
136 * CryptoConvert.cs: Added new methods to convert [From|To]Hex. Added
137 new version of FromCapiPublicKeyBlob with an integer offset.
139 2004-02-06 Sebastien Pouliot <sebastien@ximian.com>
141 * DSAManaged.cs: Added an event after key generation (so that
142 DSACryptoServiceProvider can persist the keypair if required). Added
143 PublicOnly property (like 1.2) so we do not have to catch an exception
144 to know if a private key is present or not. Added a Random property so
145 we do not always have to create a RNG instance (not always required).
146 * RSAManaged.cs: Added an event after key generation (so that
147 DSACryptoServiceProvider can persist the keypair if required). Added
148 PublicOnly property (like 1.2) so we do not have to catch an exception
149 to know if a private key is present or not.
150 * SymmetricTransform.cs: This class was split from S.S.C.
151 SymmetricAlgorithm.cs so it could be reused in Mono.Security
152 assembly for other symmetric algorithms transforms.
154 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
156 * KeyPairPersistence.cs: New. Class to persist keypairs in an XML
157 format to mimic the CryptoAPI key containers.
159 2004-01-12 Sebastien Pouliot <spouliot@videotron.ca>
161 * CryptoConvert.cs: RSA doesn't start with a Q - at least that what
162 a strongname told me. Sorry Ron :(
164 2003-12-15 Sebastien Pouliot <spouliot@videotron.ca>
166 * MACAlgorithm.cs: Fixed difference between 1.0 and 1.1 framework.
167 The 1.0 framework is adding an additional padding block (empty)
168 to MAC when MACing an exact multiple of the TripleDES block size.
169 * PKCS1.cs: Fixed a typo which prevented "lame" (without OID)
170 signature verification.
172 2003-10-30 Sebastien Pouliot <spouliot@videotron.ca>
174 * CryptoConvert.cs: Fixed strongname generation for small exponents
175 (like 17). Part of the fixed for bug #50341.
177 2003-10-17 Sebastien Pouliot <spouliot@videotron.ca>
179 * CryptoConvert.cs: Added from Mono.Security to support StrongNames.
181 2003-07-05 Sebastien Pouliot <spouliot@videotron.ca>
183 * DSAManaged.cs: Fixed bugs that appeared with the new unit tests.
184 * RSAManaged.cs: Fixed bugs that appeared with the new unit tests.
186 2003-07-02 Zoltan Varga <vargaz@freemail.hu>
188 * PKCS1.cs DSAManaged.cs: Changed strange characters in comments to
189 human-readable ones, since they break XML export in monocov.
191 2003-06-15 Sebastien Pouliot <spouliot@motus.com>
193 * RSAManaged.cs: Now includes CRT (Chinese Remainder Theorem)
194 optimization when using the private key (DecryptValue). This
195 cut more than 5 seconds of nunit on my system (out of 14 sec
196 for complete asymmetric tests). Thanks to Ben Maurer for help!
198 2003-06-11 Sebastien Pouliot <spouliot@motus.com>
200 * DSAManaged.cs: Refactored from DSACryptoServiceProvider.cs. Cannot
201 be reused outside [ms]corlib because DSA constructor is internal :-(
203 * PKCS1.cs: Now support any hash algorithm when encoding PKCS 1.5
204 (i.e. not limited to pre-calculated values for known hashes). Some
205 other API changes to ease the use of other hash algorithms.
207 * RSAManaged.cs: Refactored from RSACryptoServiceProvider.cs. This
208 class is required for custom PKCS#1 padding in SSL (which is not
209 possible using RSACryptoServiceProvider).
211 2003-05-12 Sebastien Pouliot <spouliot@videotron.ca>
213 * PKCS1.cs: Corrected I2OSP to match PKCS#1 v.2.1 test vector
214 and fix the OAEP incompatibility issue.
216 2003-04-01 Sebastien Pouliot <spouliot@videotron.ca>
218 * PKCS1.cs: Corrected fix (partially) for the lame PKCS1 v1.5
219 signatures done without specifying an OID.
221 2003-03-01 Sebastien Pouliot <spouliot@videotron.ca>
223 * PKCS1.cs: Fix for some (lame) PKCS1 v1.5 signatures done
224 without specifying an OID.
226 2003-02-08 Sebastien Pouliot <spouliot@videotron.ca>
228 * CryptoTools.cs: Renamed namespace to match new location.
229 * PKCS1.cs: Renamed namespace to match new location.
230 * HMACAlgorithm.cs: New. Generic class to implement HMAC
231 using any hash algorithm (was in S.S.C.HMACSHA1.cs).
232 * MACAlgorithm.cs: New. Generic class to implement MAC
233 using any symmetric algorithm (was in S.S.C.MACTripleDES.cs).