Standardized Mainsoft ConstraintCollection tests.
[mono.git] / mcs / class / corlib / Mono.Security.Cryptography / ChangeLog
1 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
2
3         * KeyPairPersistence.cs: Lock *before* checking if things are null
4         to prevent race conditions. Also, do not lock on typeof object.
5
6 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
7
8         * KeyPairPersistence.cs: Use PlatformID.Unix under NET_2_0. 
9
10 2005-04-27  Sebastien Pouliot  <sebastien@ximian.com>
11
12         * PKCS8.cs: New. Copied from Mono.Security.dll to allow support of
13         PKCS#12 files in X509Certificate for 2.0.
14
15 2005-04-18  Sebastien Pouliot  <sebastien@ximian.com>
16
17         * SymmetricTransform.cs: Fixed a division by zero if someone changes 
18         the feedback value to 0.
19
20 2005-03-30  Sebastien Pouliot  <sebastien@ximian.com>
21
22         * SymmetricTransform.cs: Fixed a padding bug affecting that can occurs
23         when no padding is used.
24
25 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
26
27         * DSAManaged.cs: PublicOnly now reports false when a key hasn't yet 
28         been generated.
29         * RSAManaged.cs: PublicOnly now reports false when a key hasn't yet 
30         been generated.
31
32 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
33
34         * MACAlgorithm.cs: Added support for different padding modes (required
35         in 2.0).
36         * SymmetricTransform.cs: Added support for ANSI X9.23 padding and
37         ISO 10126 padding modes (applies to all symmetric block ciphers).
38
39 2004-12-22  Sebastien Pouliot  <sebastien@ximian.com>
40
41         * KeyPairPersistence.cs: Commented imperative asserts until it is 
42         supported by the runtime.
43
44 2004-12-06  Sebastien Pouliot  <sebastien@ximian.com>
45
46         * RSAManaged.cs: Implement key blinding for RSA decryption with, or
47         without, using CRT.
48
49 2004-11-23  Sebastien Pouliot  <sebastien@ximian.com>
50
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).
55
56 2004-10-28  Sebastien Pouliot  <sebastien@ximian.com>
57
58         * KeyPairPersistence.cs: Added localization for exceptions messages.
59         Also added more details (type and path) when an exception is thrown.
60
61 2004-09-29  Sebastien Pouliot  <sebastien@ximian.com>
62
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 
65         issues like SSL).
66
67 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
68
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.
72
73 2004-07-07  Sebastien Pouliot  <sebastien@ximian.com>
74
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).
79
80 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
81
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). 
85         Fix bug #60573.
86
87 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
88
89         * SymmetricTransform.cs: Fixed possible integer overflow. Added 
90         missing exception handling in TransformBlock and TransformFinalBlock.
91
92 2004-05-01  Sebastien Pouliot  <sebastien@ximian.com>
93
94         * CryptoConvert.cs: Synched with Mono.Security.dll. Fix bug #57941 
95         (truncated key pair).
96         * RSAManaged.cs: Synched with Mono.Security.dll. Fix bug #57941 
97         (truncated key pair).
98
99 2004-04-28  Sebastien Pouliot  <sebastien@ximian.com>
100
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.
108
109 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
110
111         * KeyPairPersistence.cs: Completed key pair protection for both
112         Linux and Windows (protection done by runtime).
113
114 2004-04-08  Bernie Solomon  <bernard@ugsolutions.com>
115
116         * PKCS1.cs: Use BitConverterLE
117
118 2004-04-06  Bernie Solomon  <bernard@ugsolutions.com>
119
120         * CryptoConvert.cs: Add private methods to always
121         handle data as little endian (GetBytesLE, ToInt32LE, ToUInt32LE).
122
123 2004-03-23  Sebastien Pouliot  <sebastien@ximian.com>
124
125         * CryptoConvert.cs: Added support for public keys preceded by an 
126         header like the one generated by "sn -e".
127
128 2004-03-23  Sebastien Pouliot  <sebastien@ximian.com>
129
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).
133
134 2004-03-22  Sebastien Pouliot  <sebastien@ximian.com>
135
136         * CryptoConvert.cs: Added new methods to convert [From|To]Hex. Added
137         new version of FromCapiPublicKeyBlob with an integer offset.
138
139 2004-02-06  Sebastien Pouliot  <sebastien@ximian.com>
140
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.
153
154 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
155
156         * KeyPairPersistence.cs: New. Class to persist keypairs in an XML
157         format to mimic the CryptoAPI key containers.
158
159 2004-01-12  Sebastien Pouliot  <spouliot@videotron.ca>
160
161         * CryptoConvert.cs: RSA doesn't start with a Q - at least that what
162         a strongname told me. Sorry Ron :(
163
164 2003-12-15  Sebastien Pouliot  <spouliot@videotron.ca>
165
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.
171
172 2003-10-30  Sebastien Pouliot  <spouliot@videotron.ca>
173
174         * CryptoConvert.cs: Fixed strongname generation for small exponents 
175         (like 17). Part of the fixed for bug #50341.
176
177 2003-10-17  Sebastien Pouliot  <spouliot@videotron.ca>
178
179         * CryptoConvert.cs: Added from Mono.Security to support StrongNames.
180
181 2003-07-05  Sebastien Pouliot  <spouliot@videotron.ca>
182
183         * DSAManaged.cs: Fixed bugs that appeared with the new unit tests.
184         * RSAManaged.cs: Fixed bugs that appeared with the new unit tests.
185
186 2003-07-02  Zoltan Varga  <vargaz@freemail.hu>
187
188         * PKCS1.cs DSAManaged.cs: Changed strange characters in comments to 
189         human-readable ones, since they break XML export in monocov.
190
191 2003-06-15  Sebastien Pouliot <spouliot@motus.com>
192
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!
197
198 2003-06-11  Sebastien Pouliot <spouliot@motus.com>
199
200         * DSAManaged.cs: Refactored from DSACryptoServiceProvider.cs. Cannot
201         be reused outside [ms]corlib because DSA constructor is internal :-(
202
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.
206
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).
210
211 2003-05-12  Sebastien Pouliot  <spouliot@videotron.ca>
212
213         * PKCS1.cs: Corrected I2OSP to match PKCS#1 v.2.1 test vector
214         and fix the OAEP incompatibility issue.
215
216 2003-04-01  Sebastien Pouliot  <spouliot@videotron.ca>
217
218         * PKCS1.cs: Corrected fix (partially) for the lame PKCS1 v1.5
219         signatures done without specifying an OID.
220         
221 2003-03-01  Sebastien Pouliot  <spouliot@videotron.ca>
222
223         * PKCS1.cs: Fix for some (lame) PKCS1 v1.5 signatures done
224         without specifying an OID.
225
226 2003-02-08  Sebastien Pouliot  <spouliot@videotron.ca>
227
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).
234