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