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