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