1 2007-01-08 Sebastien Pouliot <sebastien@ximian.com>
3 * SymmetricTransform.cs: Fix #80439 again. This time we have tests for
4 all ciphers, modes and padding.
6 2007-01-04 Sebastien Pouliot <sebastien@ximian.com>
8 * SymmetricTransform.cs: Fix previous fix (for #80439) as we were now
11 2007-01-03 Sebastien Pouliot <sebastien@ximian.com>
13 * SymmetricTransform.cs: Reduce inputCount if larger than the output
14 data can hold. Fix bug #80439.
16 2006-12-11 Sebastien Pouliot <sebastien@ximian.com>
18 * PKCS8.cs: Synchronize source with Mono.Security.dll
20 2006-09-27 Sebastien Pouliot <sebastien@ximian.com>
22 * RSAManaged.cs: Ensure that the results of Encrypt and Decrypt will
23 always be the same length as the key. If smaller then we left pad the
24 result with 0x00 (same integer, correct length for everyone). Fix bug
25 #79502 where an LDAP/SSL server didn't like the missing byte.
27 2006-09-05 Sebastien Pouliot <sebastien@ximian.com>
29 * RSAManaged.cs: Fix a NRE when decrypting without a private key
30 (#79269). We now throw a CryptographicException with an appropriate
33 2006-06-15 Sebastien Pouliot <sebastien@ximian.com>
35 * CryptoTools.cs: Fix offset in block processor. This fix the HMAC
36 algorithms when large buffer where used (with multiple calls to
39 2005-11-23 Sebastien Pouliot <sebastien@ximian.com>
41 * SymmetricTransform.cs: Virtualized some methods (like Dispose). Fix
44 2005-11-22 Sebastien Pouliot <sebastien@ximian.com>
46 * DSAManaged.cs: Don't export J if it wasn't imported (i.e. it was
47 calculated from the other parameters).
49 2005-10-21 Sebastien Pouliot <sebastien@ximian.com>
51 * SymmetricTransform.cs: Clone IV so it cannot be changed once the
52 transform starts. Generate a new IV if null is specified (not really
53 useful but compatible with MS behaviour). Added a check for IV length
56 2005-05-26 Ben Maurer <bmaurer@ximian.com>
58 * KeyPairPersistence.cs: Lock *before* checking if things are null
59 to prevent race conditions. Also, do not lock on typeof object.
61 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
63 * KeyPairPersistence.cs: Use PlatformID.Unix under NET_2_0.
65 2005-04-27 Sebastien Pouliot <sebastien@ximian.com>
67 * PKCS8.cs: New. Copied from Mono.Security.dll to allow support of
68 PKCS#12 files in X509Certificate for 2.0.
70 2005-04-18 Sebastien Pouliot <sebastien@ximian.com>
72 * SymmetricTransform.cs: Fixed a division by zero if someone changes
73 the feedback value to 0.
75 2005-03-30 Sebastien Pouliot <sebastien@ximian.com>
77 * SymmetricTransform.cs: Fixed a padding bug affecting that can occurs
78 when no padding is used.
80 2005-01-11 Sebastien Pouliot <sebastien@ximian.com>
82 * DSAManaged.cs: PublicOnly now reports false when a key hasn't yet
84 * RSAManaged.cs: PublicOnly now reports false when a key hasn't yet
87 2005-01-10 Sebastien Pouliot <sebastien@ximian.com>
89 * MACAlgorithm.cs: Added support for different padding modes (required
91 * SymmetricTransform.cs: Added support for ANSI X9.23 padding and
92 ISO 10126 padding modes (applies to all symmetric block ciphers).
94 2004-12-22 Sebastien Pouliot <sebastien@ximian.com>
96 * KeyPairPersistence.cs: Commented imperative asserts until it is
97 supported by the runtime.
99 2004-12-06 Sebastien Pouliot <sebastien@ximian.com>
101 * RSAManaged.cs: Implement key blinding for RSA decryption with, or
104 2004-11-23 Sebastien Pouliot <sebastien@ximian.com>
106 * PKCS1.cs: Fix PKCS#1 v1.5 decryption when the ciphertext isn't
107 exactly the same of the public key (which happens sometimes on Fx 1.1
108 probably because it doesn't do the last I2OSP operation to left pad
109 the resulting big integer with zeros).
111 2004-10-28 Sebastien Pouliot <sebastien@ximian.com>
113 * KeyPairPersistence.cs: Added localization for exceptions messages.
114 Also added more details (type and path) when an exception is thrown.
116 2004-09-29 Sebastien Pouliot <sebastien@ximian.com>
118 * RSAManaged.cs: KeySize is always a multiple of 8 bits (promotion to
119 a bigger size if required) to match MS implementation (and other
122 2004-09-16 Sebastien Pouliot <sebastien@ximian.com>
124 * CryptoConvert.cs: Fixed warning (l4) for unused variables.
125 * KeyPairPersistence.cs: Fixed warning (l4) for unused variable.
126 * PKCS1.cs: Added empty {} to fix warning about possible empty stmnt.
128 2004-07-07 Sebastien Pouliot <sebastien@ximian.com>
130 * MACAlgorithm.cs: Removed the hardcoded PaddingMode.Zeros as this is
131 now selectable in Fx 2.0.
132 * SymmetricTransform.cs: Throw CryptographicException when CipherMode
133 CTS or OFB is being used (to match MS implementation).
135 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
137 * SymmetricTransform.cs: Reduce by one the number of block when
138 decrypting. This operation was in CryptoStream before but is only
139 required for decryption (which CryptoStream can't know).
142 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
144 * SymmetricTransform.cs: Fixed possible integer overflow. Added
145 missing exception handling in TransformBlock and TransformFinalBlock.
147 2004-05-01 Sebastien Pouliot <sebastien@ximian.com>
149 * CryptoConvert.cs: Synched with Mono.Security.dll. Fix bug #57941
150 (truncated key pair).
151 * RSAManaged.cs: Synched with Mono.Security.dll. Fix bug #57941
152 (truncated key pair).
154 2004-04-28 Sebastien Pouliot <sebastien@ximian.com>
156 * CryptoConvert.cs: In sync with Mono.Security.dll version.
157 * CryptoTools.cs: In sync with Mono.Security.dll version.
158 * DSAManaged.cs: Changed delegate to please FxCop.
159 * PKCS1.cs: In sync with Mono.Security.dll version.
160 * RSAManaged.cs: In sync with Mono.Security.dll version.
161 * SymmetricTransform.cs: Fixed a bug when offset > 0 in destination
162 buffer. Changed Array.Copy to Buffer.BlockCopy.
164 2004-04-23 Sebastien Pouliot <sebastien@ximian.com>
166 * KeyPairPersistence.cs: Completed key pair protection for both
167 Linux and Windows (protection done by runtime).
169 2004-04-08 Bernie Solomon <bernard@ugsolutions.com>
171 * PKCS1.cs: Use BitConverterLE
173 2004-04-06 Bernie Solomon <bernard@ugsolutions.com>
175 * CryptoConvert.cs: Add private methods to always
176 handle data as little endian (GetBytesLE, ToInt32LE, ToUInt32LE).
178 2004-03-23 Sebastien Pouliot <sebastien@ximian.com>
180 * CryptoConvert.cs: Added support for public keys preceded by an
181 header like the one generated by "sn -e".
183 2004-03-23 Sebastien Pouliot <sebastien@ximian.com>
185 * CryptoConvert.cs: Added exception for null and bad parameters.
186 * RSAManaged.cs: CryptographicException thrown when trying to export
187 the private key when only the public key is present (CRT aware).
189 2004-03-22 Sebastien Pouliot <sebastien@ximian.com>
191 * CryptoConvert.cs: Added new methods to convert [From|To]Hex. Added
192 new version of FromCapiPublicKeyBlob with an integer offset.
194 2004-02-06 Sebastien Pouliot <sebastien@ximian.com>
196 * DSAManaged.cs: Added an event after key generation (so that
197 DSACryptoServiceProvider can persist the keypair if required). Added
198 PublicOnly property (like 1.2) so we do not have to catch an exception
199 to know if a private key is present or not. Added a Random property so
200 we do not always have to create a RNG instance (not always required).
201 * RSAManaged.cs: Added an event after key generation (so that
202 DSACryptoServiceProvider can persist the keypair if required). Added
203 PublicOnly property (like 1.2) so we do not have to catch an exception
204 to know if a private key is present or not.
205 * SymmetricTransform.cs: This class was split from S.S.C.
206 SymmetricAlgorithm.cs so it could be reused in Mono.Security
207 assembly for other symmetric algorithms transforms.
209 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
211 * KeyPairPersistence.cs: New. Class to persist keypairs in an XML
212 format to mimic the CryptoAPI key containers.
214 2004-01-12 Sebastien Pouliot <spouliot@videotron.ca>
216 * CryptoConvert.cs: RSA doesn't start with a Q - at least that what
217 a strongname told me. Sorry Ron :(
219 2003-12-15 Sebastien Pouliot <spouliot@videotron.ca>
221 * MACAlgorithm.cs: Fixed difference between 1.0 and 1.1 framework.
222 The 1.0 framework is adding an additional padding block (empty)
223 to MAC when MACing an exact multiple of the TripleDES block size.
224 * PKCS1.cs: Fixed a typo which prevented "lame" (without OID)
225 signature verification.
227 2003-10-30 Sebastien Pouliot <spouliot@videotron.ca>
229 * CryptoConvert.cs: Fixed strongname generation for small exponents
230 (like 17). Part of the fixed for bug #50341.
232 2003-10-17 Sebastien Pouliot <spouliot@videotron.ca>
234 * CryptoConvert.cs: Added from Mono.Security to support StrongNames.
236 2003-07-05 Sebastien Pouliot <spouliot@videotron.ca>
238 * DSAManaged.cs: Fixed bugs that appeared with the new unit tests.
239 * RSAManaged.cs: Fixed bugs that appeared with the new unit tests.
241 2003-07-02 Zoltan Varga <vargaz@freemail.hu>
243 * PKCS1.cs DSAManaged.cs: Changed strange characters in comments to
244 human-readable ones, since they break XML export in monocov.
246 2003-06-15 Sebastien Pouliot <spouliot@motus.com>
248 * RSAManaged.cs: Now includes CRT (Chinese Remainder Theorem)
249 optimization when using the private key (DecryptValue). This
250 cut more than 5 seconds of nunit on my system (out of 14 sec
251 for complete asymmetric tests). Thanks to Ben Maurer for help!
253 2003-06-11 Sebastien Pouliot <spouliot@motus.com>
255 * DSAManaged.cs: Refactored from DSACryptoServiceProvider.cs. Cannot
256 be reused outside [ms]corlib because DSA constructor is internal :-(
258 * PKCS1.cs: Now support any hash algorithm when encoding PKCS 1.5
259 (i.e. not limited to pre-calculated values for known hashes). Some
260 other API changes to ease the use of other hash algorithms.
262 * RSAManaged.cs: Refactored from RSACryptoServiceProvider.cs. This
263 class is required for custom PKCS#1 padding in SSL (which is not
264 possible using RSACryptoServiceProvider).
266 2003-05-12 Sebastien Pouliot <spouliot@videotron.ca>
268 * PKCS1.cs: Corrected I2OSP to match PKCS#1 v.2.1 test vector
269 and fix the OAEP incompatibility issue.
271 2003-04-01 Sebastien Pouliot <spouliot@videotron.ca>
273 * PKCS1.cs: Corrected fix (partially) for the lame PKCS1 v1.5
274 signatures done without specifying an OID.
276 2003-03-01 Sebastien Pouliot <spouliot@videotron.ca>
278 * PKCS1.cs: Fix for some (lame) PKCS1 v1.5 signatures done
279 without specifying an OID.
281 2003-02-08 Sebastien Pouliot <spouliot@videotron.ca>
283 * CryptoTools.cs: Renamed namespace to match new location.
284 * PKCS1.cs: Renamed namespace to match new location.
285 * HMACAlgorithm.cs: New. Generic class to implement HMAC
286 using any hash algorithm (was in S.S.C.HMACSHA1.cs).
287 * MACAlgorithm.cs: New. Generic class to implement MAC
288 using any symmetric algorithm (was in S.S.C.MACTripleDES.cs).