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