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