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