1 2006-12-04 Sebastien Pouliot <sebastien@ximian.com>
3 * X509Certificate.cs: Added support for inherited DSA key parameters.
5 2006-11-22 Sebastien Pouliot <sebastien@ximian.com>
7 * X509Store.cs: Add new Open method to access any certificate store
8 by any names (required to support 2.0 features).
10 2006-11-13 Sebastien Pouliot <sebastien@ximian.com>
12 * X509Certificate.cs: Add support for PEM encoded (base64) x.509
13 certificates (supported in 2.0).
15 2006-11-08 Sebastien Pouliot <sebastien@ximian.com>
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.
20 2006-11-08 Sebastien Pouliot <sebastien@ximian.com>
22 * X501Name.cs: Refactor ToString method to allow most options available
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.
28 2006-10-08 Sebastien Pouliot <sebastien@ximian.com>
30 * PKCS12.cs: A String.Empty is different from a null password. Fix bug
33 2006-09-05 Sebastien Pouliot <sebastien@ximian.com>
35 * X509Certificate.cs: Don't reset RSA or DSA property if the new value
36 is null (part of the fix for #79262).
38 2006-07-25 Sebastien Pouliot <sebastien@ximian.com>
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
44 2006-01-24 Sebastien Pouliot <sebastien@ximian.com>
46 * PKCS12.cs: Consider String.Empty as a null password (e.g. don't
47 throw an IndexOutOfRangeException). Fix part of bug #77342.
49 2006-01-05 Sebastien Pouliot <sebastien@ximian.com>
51 * X509Extension.cs: Extension data may be encapsulated (i.e. ASN.1
52 data inside the octet string) if it comes from the X509Certificate
55 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
57 * X509Extension.cs: Added setter for Critical property (fix #77154).
58 Fixed asymmetry between encoding and decoding (fix #75781).
60 2005-12-16 Sebastien Pouliot <sebastien@ximian.com>
62 * X509Chain.cs: Fix chain building. Patch from Vincent Cote-Roy.
64 2005-11-18 Sebastien Pouliot <sebastien@ximian.com>
66 * X509Extension.cs: Changed default ctor to protected to help
67 extensibility outside of Mono.Security.dll (fix bug #76742).
69 2005-11-04 Sebastien Pouliot <sebastien@ximian.com>
71 * PKCS12.cs: It's now possible to add multiple keys of the same size
72 inside a pkcs12 file. Fix bug #76627.
74 2005-11-04 Sebastien Pouliot <sebastien@ximian.com>
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.
81 2005-10-11 Sebastien Pouliot <sebastien@ximian.com>
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.
88 2005-10-06 Sebastien Pouliot <sebastien@ximian.com>
90 * X509Chain.cs: Fixed the case where no chain is present (self signed)
92 2005-09-09 Sebastien Pouliot <sebastien@ximian.com>
94 * X509Certificate.cs: Fixed version property (bug #76012). Added
95 ISerializable (for 2.0 so we're not breaking current compatibility).
97 2005-08-29 Sebastien Pouliot <sebastien@ximian.com>
99 * X501Name.cs: Fixed quoted (bug #75780) and escaped values. Added
100 parsing for "direct" OID values. Plugged DC and UID with new X520
102 * X520Attributes.cs: Added support for SerialNumber (fix bug #75783),
103 DomainComponent, UserId and Oid.
105 2005-08-12 Sebastien Pouliot <sebastien@ximian.com>
107 * X520Attributes.cs: Don't select PRINTABLESTRING for non 7bits
108 values. Fix bug #75782. Based on patch from Daniel Granath.
110 2005-06-29 Sebastien Pouliot <sebastien@ximian.com>
112 * X509CRL.cs: Fix the case where no entry are present in the CRL (as
113 the structure is optional).
115 2005-04-26 Sebastien Pouliot <sebastien@ximian.com>
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).
122 2005-02-25 Sebastien Pouliot <sebastien@ximian.com>
124 * X501Name.cs: Added support for multiple entries in a same set.
126 2005-01-11 Sebastien Pouliot <sebastien@ximian.com>
128 * X509Certificate.cs: Fixed NullReferenceException when asking for
129 data that wasn't a proper X.509 certificate.
131 2004-12-13 Sebastien Pouliot <sebastien@ximian.com>
133 * X509Certificate.cs: Directly use the MD2 class when compiled in
134 Mono.Security.dll assembly (even if not configured in machine.config).
136 2004-09-17 Sebastien Pouliot <sebastien@ximian.com>
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.
147 2004-09-07 Sebastien Pouliot <sebastien@ximian.com>
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.
152 2004-08-10 Sebastien Pouliot <sebastien@ximian.com>
154 * X509Store.cs: Now returns empty collection/list for certificates/
155 CRL when access to a store is denied.
157 2004-07-15 Sebastien Pouliot <sebastien@ximian.com>
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.
163 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
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.
169 2004-05-12 Jesper Pedersen <jep@itplus.dk>
171 * PKCS12.cs: Removed file exists check from SaveToFile(). Removed
172 Equals() and GetHashCode(). Clone the original iteration count.
174 2004-05-06 Jesper Pedersen <jep@itplus.dk>
176 * PKCS12.cs: Fixed synchronization with X509CertificateCollection in
179 2004-05-05 Jesper Pedersen <jep@itplus.dk>
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)
198 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
200 * PKCS12.cs: FxCop-ized. CLS compliance.
201 * X501Name.cs: FxCop-ized.
202 * X509Builder.cs: FxCop-ized. Replaced Array.Copy with
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
217 * X509Store.cs: FxCop-ized.
218 * X509StoreManager.cs: FxCop-ized. Sealed class.
219 * X509Stores.cs: Added INSIDE_CORLIB as the class is shared with
221 * X520Attributes.cs: FxCop-ized. Added INSIDE_CORLIB.
223 2004-04-02 Lluis Sanchez Gual <lluis@ximian.com>
225 * X509Chain.cs: Fixed build for net_1_0 profile.
227 2004-03-17 Jesper Pedersen <jep@itplus.dk>
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.
234 2004-03-10 Sebastien Pouliot <sebastien@ximian.com>
236 * PKCS12.cs: Completed GetBytes() so it is now possible to encode
237 / encrypt PKCS12 files.
239 2004-02-26 Sebastien Pouliot <sebastien@ximian.com>
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.
245 2004-02-24 Sebastien Pouliot <sebastien@ximian.com>
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).
252 2004-02-23 Sebastien Pouliot <sebastien@ximian.com>
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.
264 2004-02-20 Sebastien Pouliot <sebastien@ximian.com>
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.
272 2003-12-15 Sebastien Pouliot <spouliot@videotron.ca>
274 * TrustAnchors.cs: Added a new trusted root, Thawte, for code signing.
276 2003-12-07 Sebastien Pouliot <spouliot@videotron.ca>
278 * PKCS12.cs: New. PKCS#12 implementation. Only decoding is working
281 2003-09-01 Sebastien Pouliot <spouliot@videotron.ca>
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
290 * X509Chain.cs: New. MINIMAL certificate chaining engine to support
291 Authenticode(tm). VERY PARTIAL IMPLEMENTATION!!!
293 2003-03-15 Sebastien Pouliot <spouliot@videotron.ca>
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
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)