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