In corlib/System.Runtime.InteropServices:
[mono.git] / mcs / class / Mono.Security / Mono.Security.X509 / ChangeLog
1 2006-12-14  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * X501Name.cs: Added support for (some cases of) T.61 strings, like
4         the latin-1 encoded accentued characters founds in some DN. Fix bug 
5         #77295.
6
7 2006-12-11  Sebastien Pouliot  <sebastien@ximian.com>
8
9         * PKCS12.cs: Fix DSA certificates (with parameters) and don't throw
10         an exception in the case where parameters aren't part of the 
11         certificate. This fix makes all 405 PKCS#12 test cases from PKITS 
12         works using Mono :).
13
14 2006-12-06  Sebastien Pouliot  <sebastien@ximian.com>
15
16         * X501Name.cs: Add decoding of RFC3280 mandatory and optional 
17         attributes types for dnQualifier, title, surname, givenName and 
18         initial.
19         * X520Attributes.cs: Add encoding of RFC3280 mandatory and 
20         optional attributes types for dnQualifier, title, surname, givenName 
21         and initial.
22
23 2006-12-05  Sebastien Pouliot  <sebastien@ximian.com>
24
25         * X509Certificate.cs: Resurrect the (fixed) support for [Issuer|
26         Subject]UniqueIdentifier, including new properties.
27         * X509CRL.cs: Fix DSA signature verification when numbers aren't 
28         exactly 20 bytes long (e.g. too short or negative with an extra 0x00).
29
30 2006-12-05  Sebastien Pouliot  <sebastien@ximian.com>
31
32         * X509CRL.cs: Expose the Hash and RawData properties to make it easier
33         to support CRL into stores.
34         * X509Store.cs: Add support to Import and Remove CRL from stores. 
35         Refactor the code to get unique identificators.
36         * X509Stores.cs: Change default, for Open, to stores that supports 
37         CRLs.
38
39 2006-12-04  Sebastien Pouliot  <sebastien@ximian.com>
40
41         * X509Certificate.cs: Added support for inherited DSA key parameters.
42
43 2006-11-22  Sebastien Pouliot  <sebastien@ximian.com>
44
45         * X509Store.cs: Add new Open method to access any certificate store
46         by any names (required to support 2.0 features).
47
48 2006-11-13  Sebastien Pouliot  <sebastien@ximian.com>
49
50         * X509Certificate.cs: Add support for PEM encoded (base64) x.509 
51         certificates (supported in 2.0).
52
53 2006-11-08  Sebastien Pouliot  <sebastien@ximian.com> 
54
55         * X501Name.cs: Fix build as the first build of 2.0's System.dll 
56         may depend on a Mono.Security.dll without the new ToString overload.
57
58 2006-11-08  Sebastien Pouliot  <sebastien@ximian.com>
59
60         * X501Name.cs: Refactor ToString method to allow most options available 
61         when using fx 2.0.
62         * X509Certificate.cs: Add methods to retrieve the Issuer and Subject
63         Distinguished Names in binary (ASN.1) form. Reverse (actually correct)
64         the text representation of Issuer and Subject for 2.0.
65
66 2006-10-08  Sebastien Pouliot  <sebastien@ximian.com>
67
68         * PKCS12.cs: A String.Empty is different from a null password. Fix bug
69         #79617.
70
71 2006-09-05  Sebastien Pouliot  <sebastien@ximian.com>
72
73         * X509Certificate.cs: Don't reset RSA or DSA property if the new value
74         is null (part of the fix for #79262).
75
76 2006-07-25  Sebastien Pouliot  <sebastien@ximian.com>
77
78         * X509CRL.cs: Fix the case where no entry are present in the CRL (as
79         the structure is optional) *and* when there are no x.509 certificate
80         extensions.
81
82 2006-01-24  Sebastien Pouliot  <sebastien@ximian.com>
83
84         * PKCS12.cs: Consider String.Empty as a null password (e.g. don't
85         throw an IndexOutOfRangeException). Fix part of bug #77342.
86
87 2006-01-05  Sebastien Pouliot  <sebastien@ximian.com>
88
89         * X509Extension.cs: Extension data may be encapsulated (i.e. ASN.1
90         data inside the octet string) if it comes from the X509Certificate 
91         parser.
92
93 2006-01-04  Sebastien Pouliot  <sebastien@ximian.com>
94
95         * X509Extension.cs: Added setter for Critical property (fix #77154).
96         Fixed asymmetry between encoding and decoding (fix #75781).
97
98 2005-12-16  Sebastien Pouliot  <sebastien@ximian.com> 
99
100         * X509Chain.cs: Fix chain building. Patch from Vincent Cote-Roy.
101
102 2005-11-18  Sebastien Pouliot  <sebastien@ximian.com> 
103
104         * X509Extension.cs: Changed default ctor to protected to help 
105         extensibility outside of Mono.Security.dll (fix bug #76742).
106
107 2005-11-04  Sebastien Pouliot  <sebastien@ximian.com> 
108  
109         * PKCS12.cs: It's now possible to add multiple keys of the same size
110         inside a pkcs12 file. Fix bug #76627.
111
112 2005-11-04  Sebastien Pouliot  <sebastien@ximian.com>
113
114         * PKCS12.cs: Added MaximumPasswordLength property to allow decoding 
115         the password with a length limits like MS PFXImportCertStore does.
116         In this case you just have to assign the value CryptoApiPasswordLimit
117         to the new static property.
118
119 2005-10-11  Sebastien Pouliot  <sebastien@ximian.com> 
120  
121         * X509Certificate.cs: Fixed bug #76407. ValidFrom and ValidUntil are
122         local date/time so IsCurrent most also use a local date/time.
123         * X509CRL.cs: ValidFrom and ValidUntil are local date/time so 
124         IsCurrent most also use a local date/time.
125
126 2005-10-06  Sebastien Pouliot  <sebastien@ximian.com>
127
128         * X509Chain.cs: Fixed the case where no chain is present (self signed)
129
130 2005-09-09  Sebastien Pouliot  <sebastien@ximian.com>
131
132         * X509Certificate.cs: Fixed version property (bug #76012). Added
133         ISerializable (for 2.0 so we're not breaking current compatibility).
134
135 2005-08-29  Sebastien Pouliot  <sebastien@ximian.com>
136
137         * X501Name.cs: Fixed quoted (bug #75780) and escaped values. Added
138         parsing for "direct" OID values. Plugged DC and UID with new X520 
139         classes.
140         * X520Attributes.cs: Added support for SerialNumber (fix bug #75783),
141         DomainComponent, UserId and Oid.
142
143 2005-08-12  Sebastien Pouliot  <sebastien@ximian.com>
144
145         * X520Attributes.cs: Don't select PRINTABLESTRING for non 7bits 
146         values. Fix bug #75782. Based on patch from Daniel Granath.
147
148 2005-06-29  Sebastien Pouliot  <sebastien@ximian.com>
149
150         * X509CRL.cs: Fix the case where no entry are present in the CRL (as
151         the structure is optional).
152
153 2005-04-26  Sebastien Pouliot  <sebastien@ximian.com>
154
155         * X509Certificate.cs: DSA and RSA properties are now cached. In 2.0
156         they also have a set accessor.
157         * PKCS12.cs: Modified code to allow providing the password as a byte
158         array (the new constructor is available in 2.0).
159
160 2005-02-25  Sebastien Pouliot  <sebastien@ximian.com>
161
162         * X501Name.cs: Added support for multiple entries in a same set.
163
164 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
165
166         * X509Certificate.cs: Fixed NullReferenceException when asking for
167         data that wasn't a proper X.509 certificate.
168
169 2004-12-13  Sebastien Pouliot  <sebastien@ximian.com>
170
171         * X509Certificate.cs: Directly use the MD2 class when compiled in 
172         Mono.Security.dll assembly (even if not configured in machine.config).
173
174 2004-09-17  Sebastien Pouliot  <sebastien@ximian.com>
175
176         * PKCS12.cs: Fixed all level 4 compilation warnings.
177         * X501Name.cs: Fixed all level 4 compilation warnings.
178         * X509Certificate.cs: Fixed all level 4 compilation warnings.
179         * X509CertificateBuilder.cs: Fixed all level 4 compilation warnings.
180         * X509Extension.cs: In synch with corlib version. Fixed all level 4 
181         compilation warnings.
182         * X520Attributes.cs: Updated to check upperbounds - which fixed level
183         4 compilation warnings.
184
185 2004-09-07  Sebastien Pouliot  <sebastien@ximian.com>
186
187         * X509Chain.cs: Fixed a bug when constructing a certificate chain from
188         a collection (endless loop). Fixed bug when Reset-ing an empty chain.
189
190 2004-08-10  Sebastien Pouliot  <sebastien@ximian.com>
191
192         * X509Store.cs: Now returns empty collection/list for certificates/
193         CRL when access to a store is denied.
194
195 2004-07-15  Sebastien Pouliot  <sebastien@ximian.com>
196
197         * X501Name.cs: Support for E (email) in FromString.
198         * X520Attributes.cs: Added X520.EmailAddress.
199         Both patches fix bug #61241 and were contributed by Ianier Munoz.
200
201 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
202
203         * X509Certificate.cs: Rethrow original exception when parsing X.509 
204         certificates (inside a CryptographicException) so people can see if 
205         their changes affects certificate decoding.
206
207 2004-05-12  Jesper Pedersen  <jep@itplus.dk>
208
209         * PKCS12.cs: Removed file exists check from SaveToFile(). Removed 
210         Equals() and GetHashCode(). Clone the original iteration count.
211         
212 2004-05-06  Jesper Pedersen  <jep@itplus.dk>
213
214         * PKCS12.cs: Fixed synchronization with X509CertificateCollection in 
215         GetBytes ().
216
217 2004-05-05  Jesper Pedersen  <jep@itplus.dk>
218
219         * PKCS12.cs: Added support for SafeBag attributes. Added support for 
220         Clone() (ICloneable), Equals and GetHashCode. New methods:
221         - AddCertificate (X509Certificate cert)
222         - AddCertificate (X509Certificate cert, IDictionary attributes)
223         - RemoveCertificate (X509Certificate cert)
224         - RemoveCertificate (X509Certificate cert, IDictionary attributes)
225         - AddPkcs8ShroudedKeyBag (AsymmetricAlgorithm aa)
226         - AddPkcs8ShroudedKeyBag (AsymmetricAlgorithm aa, IDictionary attributes)
227         - RemovePkcs8ShroudedKeyBag (AsymmetricAlgorithm aa)
228         - AddKeyBag (AsymmetricAlgorithm aa)
229         - AddKeyBag (AsymmetricAlgorithm aa, IDictionary attributes)
230         - RemoveKeyBag (AsymmetricAlgorithm aa)
231         - AsymmetricAlgorithm GetAsymmetricAlgorithm (IDictionary attrs)
232         - X509Certificate GetCertificate (IDictionary attrs)
233         - IDictionary GetAttributes (AsymmetricAlgorithm aa) 
234         - IDictionary GetAttributes (X509Certificate cert)
235
236 2004-04-22  Sebastien Pouliot  <sebastien@ximian.com>
237
238         * PKCS12.cs: FxCop-ized. CLS compliance.
239         * X501Name.cs: FxCop-ized.
240         * X509Builder.cs: FxCop-ized. Replaced Array.Copy with 
241         Buffer.BlockCopy.
242         * X509CRL.cs: FxCop-ized. Replaced Array.Copy with Buffer.BlockCopy.
243         * X509Certificate.cs: FxCop-ized. Replaced Array.Copy with 
244         Buffer.BlockCopy. Removed unused private method GetHash.
245         * X509CertificateBuilder.cs: Ajusted with changes. Replaced 
246         Array.Copy with Buffer.BlockCopy.
247         * X509CertificateCollection.cs: Added INSIDE_CORLIB as the class is
248         shared with corlib assembly.
249         * X509Chain.cs: FxCop-ized. Removed old ITrustAnchor support.
250         * X509ChainStatusFlags.cs: Added missing [Flags].
251         * X509Extension.cs: FxCop-ized. Added Equals, GetHashCode methods.
252         * X509Extensions.cs: FxCop-ized. Sealed class, renamed to 
253         X509ExtensionCollection and inherit from CollectionBase. Added missing
254         methods.
255         * X509Store.cs: FxCop-ized.
256         * X509StoreManager.cs: FxCop-ized. Sealed class.
257         * X509Stores.cs: Added INSIDE_CORLIB as the class is shared with 
258         corlib assembly.
259         * X520Attributes.cs: FxCop-ized. Added INSIDE_CORLIB.
260
261 2004-04-02  Lluis Sanchez Gual  <lluis@ximian.com>
262
263         * X509Chain.cs: Fixed build for net_1_0 profile.
264
265 2004-03-17  Jesper Pedersen  <jep@itplus.dk>
266
267         * PKCS12.cs: Fixed sequence problem in Pkcs8ShroudedKeyBag. Fixed key
268         bag implementation in GetBytes. Moved key bag implementation in 
269         GetBytes to fit OpenSSL. Added NULL digest in MAC (GetBytes) to fit
270         OpenSSL. Added SaveToFile method.
271
272 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
273
274         * PKCS12.cs: Completed GetBytes() so it is now possible to encode
275         / encrypt PKCS12 files.
276
277 2004-02-26  Sebastien Pouliot  <sebastien@ximian.com>
278
279         * X509Store.cs: Changed not to use base64 in filenames as it can 
280         conflict with path separators. Now use plain hex. Now catch
281         incorrectly encoded certificates / CRL in stores. Added Name property.
282
283 2004-02-24  Sebastien Pouliot  <sebastien@ximian.com>
284
285         * X509Certificate.cs: Add support for the OID "1.3.14.3.2.29" (SHA1 
286         with RSA). Added a fix for "really" null algorithm parameters.
287         * X509CertificateCollection.cs: Fixed Contains and IndexOf (worked
288         on objects but not for the same certificate in a different object).
289
290 2004-02-23  Sebastien Pouliot  <sebastien@ximian.com>
291
292         * TestAnchors.cs: Removed - no need to be hardcoded anymore.
293         * X509Chain.cs: Updated to use the new store for trusted roots.
294         * X509CRL.cs: New. Certificate Revocation List v1/v2 support.
295         * X509Store.cs: New. Managed each individual store (with or
296         without CRL support).
297         * X509StoreManager.cs: New. Certificate Store Manager to access
298         user and machine stores and to merge them when required.
299         * X509Stores.cs: New. Certificate stores group for either the
300         current user or the local machine.
301
302 2004-02-20  Sebastien Pouliot  <sebastien@ximian.com>
303
304         * X509Chain.cs: Added an option to use a pre-built chain (like TLS
305         offers) to save time rebuilding it. Added some validations and more
306         detailled status. Still a LOT to do!
307         * X509ChainStatusFlags.cs: New. Status code for the results of the
308         chain building and verification.
309
310 2003-12-15  Sebastien Pouliot  <spouliot@videotron.ca>
311
312         * TrustAnchors.cs: Added a new trusted root, Thawte, for code signing.
313
314 2003-12-07  Sebastien Pouliot  <spouliot@videotron.ca>
315
316         * PKCS12.cs: New. PKCS#12 implementation. Only decoding is working
317         right now.
318
319 2003-09-01  Sebastien Pouliot  <spouliot@videotron.ca>
320
321         * ITrustAnchors.cs: New. Interface to trust anchors.
322         * TestAnchors.cs: New. Include 2 tests anchors: Microsoft Root Agency
323         (for Windows compatibility) and Mono Test Root.
324         * TrustAnchors.cs: New. Include some widely used (commercial) code 
325         signing root certificates.
326         * X509CertificateCollection.cs: New. Collection for Mono's X509 
327         certificates.
328         * X509Chain.cs: New. MINIMAL certificate chaining engine to support
329         Authenticode(tm). VERY PARTIAL IMPLEMENTATION!!!
330
331 2003-03-15  Sebastien Pouliot  <spouliot@videotron.ca>
332
333         * X501Name.cs: New. X.501 Distinguished Names stuff
334         * X509Builder.cs: New. Abstract class for building X.509 related
335         structures (like certificates and CRLs).
336         * X509Certificate.cs: New. A more complete class to handle X.509
337         certificates.
338         * X509CertificateBuilder.cs: New. Class to build X.509 certificates.
339         * X509Extension.cs: New. A base class for all X.509 extensions.
340         * X509Extensions.cs: New. X509Extension collection.
341         * X520Attributes.cs: New. X.520 attributes (mainly for X501 names)