1 2010-05-10 Sebastien Pouliot <sebastien@ximian.com>
4 * X500DistinguishedName.cs:
5 * X509BasicConstraintsExtension.cs:
6 * X509Certificate2Collection.cs:
8 * X509Certificate2Enumerator.cs:
10 * X509ChainElementCollection.cs:
11 * X509ChainElement.cs:
12 * X509ChainElementEnumerator.cs:
15 * X509EnhancedKeyUsageExtension.cs:
16 * X509ExtensionCollection.cs:
18 * X509ExtensionEnumerator.cs:
19 * X509KeyUsageExtension.cs:
20 * X509KeyUsageFlags.cs:
23 * X509SubjectKeyIdentifierExtension.cs:
24 Allow parts required to enable SSL to be built with
25 the moonlight profile.
26 * X509_2_1_bootstrap.cs: New. Ease bootstrapping 2.1
28 2010-04-06 Geoff Norton <gnorton@novell.com>
30 * OSX509Certificates.cs: Fix a crash when doing multiple certificate calls
31 Fix a rare but possible leak.
33 2010-03-16 Jb Evain <jbevain@novell.com>
35 * X509Chain.cs: use MOONLIGHT symbol to disambiguate MonoTouch
38 2010-03-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
40 * OSX509Certificates.cs: moved here from Mono.Security.
42 2009-07-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
44 * X509Chain.cs: revert my last change here since it caused 2 tests to
47 2009-07-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
49 * X509Certificate2.cs:
50 * X509Chain.cs: changes to make everything compile with latest changes
51 and fixed typo in IsChainComplete().
53 2008-06-26 Sebastien Pouliot <sebastien@ximian.com>
55 * X509Certificate2.cs: Allow password-less ctor to (try to) open
56 PKCS#12 files (with an empty password).
59 2008-06-03 Sebastien Pouliot <sebastien@ximian.com>
61 * X509Certificate2.cs: Allow PrivateKey property to be set to null.
64 2008-05-18 Sebastien Pouliot <sebastien@ximian.com>
66 * X509Chain.cs: Use String.IsNullOrEmpty inside 2.0 code.
67 [Found using Gendarme]
69 2008-04-09 Gert Driesen <drieseng@users.sourceforge.net>
71 * X500DistinguishedName.cs: Fixed line endings.
72 * X509Chain.cs: Fixed line endings.
74 2008-01-13 Gert Driesen <drieseng@users.sourceforge.net>
76 * X509Certificate2.cs: NotAfter and NotBefore must return local time.
78 2007-05-09 Sebastien Pouliot <sebastien@ximian.com>
80 * X509Certificate2.cs: Leave a small stub (PrivateKey property) if
81 SECURITY_DEP isn't defined. This will let Mono.Security.dll build
82 correctly under 2.0 while enabling the use of X509Certificate2 to add
83 support for X.509 client certificates in SSL/TLS.
85 2006-12-07 Sebastien Pouliot <sebastien@ximian.com>
87 * X500DistinguishedName.cs: Add an internal method to compare
88 (canonized) DN so the class can be used in X509Chain.
89 * X509Certificate2.cs: Expose the internal certificate (from Mono.
90 Security.dll) as X509Certificate2 isn't complete enough to implement
92 * X509Chain.cs: A (working) *subset( of RFC3280 path building and
94 * X509ChainElementCollection.cs: Add help method Contains and change
95 Add not to require a flag parameter.
96 * X509ChainElement.cs: Keeps flags compressed (as flags!) and add
97 a method to uncompress them when validation is complete.
98 * X509Store.cs: Expose the internal store (from Mono.Security.dll) as
99 internal. Map Trust and Root as the same store (for compatibility).
101 2006-11-24 Sebastien Pouliot <sebastien@ximian.com>
103 * X509Certificate2.cs: Modified Verify to use CryptoConfig to create
104 the X509Chain used to verify the certificate. This makes it possible
105 to change the default chaining (certificate path creation and
106 validation) algorithm.
107 * X509Chain.cs: Started implementation based on the options and error
108 codes defined. Work in progress (incomplete and needs a lot more test
110 * X509ChainElementCollection.cs: Added internal methods to Add and
111 Clear the collection.
112 * X509ChainElement.cs: Implemented, MonoTODO removed.
113 * X509ChainPolicy.cs: Add missing checks on enum-based properties.
114 Renamed fields to match guidelines.
115 * X509ChainStatus.cs: Provide a default StatusInformation value based
118 2006-11-22 Sebastien Pouliot <sebastien@ximian.com>
120 * X509Certificate2Collection.cs: Remove comment that proved to be
121 false (unit tests prove otherwise).
122 * X509Store.cs: Integrate the new 2.0 stores with the existing stores
123 that Mono used since 1.0.
125 2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
127 * X509Certificate2Collection.cs: Implement Export (to DER encoded
128 format), Find (for most X509FindType), Import (for single
129 certificates), RemoveRange (but it's not transactional).
130 * X509Certificate2.cs: Fix Reset method to reset every field.
131 * X509ExtensionCollection.cs: Implement missing CopyTo. Fix exception
132 handling to match new unit tests.
133 * X509ExtensionEnumerator.cs: Fix recursion.
134 * X509SubjectKeyIdentifierExtension.cs: Add support for ctors
135 accepting a PublicKey instance.
137 2006-11-13 Sebastien Pouliot <sebastien@ximian.com>
139 * X509Certificate2.cs: Throw a CryptographicException for (most)
140 properties if the certificate is "empty". Implement GetNameInfo for
141 X509NameType.SimpleName, EmailName and DnsName. Add detection for
142 X509ContentType.Pkcs7 in GetCertContentType.
144 2006-11-08 Sebastien Pouliot <sebastien@ximian.com>
146 * X500DistinguishedName.cs: Fix most common cases. Some flags are
148 * X509Certificate2.cs: Fix importing PKCS#12 certificates (with keys)
149 in some cases. Implement GetCertContentType for Cert, Pfx and Pkcs12.
150 Implement ToString methods.
151 * X509ExtensionCollection.cs: Add an internal ctor that can populate
152 the collection from extensions coming from an Mono.Security.X509.
153 X509Certificate. CryptoConfig is used to allow extensibility to the
156 2006-10-08 Sebastien Pouliot <sebastien@ximian.com>
158 * X509Certificate2.cs: Ensure we can load certificates from read-only
159 files (fix bug #79616).
161 2006-10-05 Andrew Skiba <andrews@mainsoft.com>
163 * X509CertificateCollection.cs: remove IEnumerable private imple-
164 mentation to match MSDN.
166 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
168 * X509Certificate2.cs : in .ctor(X509Certificate) call base copy .ctor()
169 as well. Fixed bug #79455.
171 2006-09-12 Sebastien Pouliot <sebastien@ximian.com>
173 * PublicKey.cs: Never return the private key in the Key property, even
174 if it was available when creating the public key.
176 2006-09-11 Atsushi Enomoto <atsushi@ximian.com>
178 * X509Certificate2.cs : implemented HasPrivateKey. Return null
179 when the corresponding RSA or DSA has no private key.
181 2006-09-05 Sebastien Pouliot <sebastien@ximian.com>
183 * X509Certificate2.cs: Call import in ctor to be sure the private key
184 will be decoded. Last fix for #79269.
186 2006-08-02 Sebastien Pouliot <sebastien@ximian.com>
188 * X509Certificate2.cs: A unrequired password can be supplied to the
189 2.0 ctors. Fix bug #79028.
191 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
193 * X509Certificate2.cs : .ctor(string, string) and .ctor(string,
194 SecureString) should call proper base constructor method for each.
195 Implemented IssuerName. Fixed bug #78986.
197 2006-03-11 Miguel de Icaza <miguel@novell.com>
199 * X509Chain.cs: Flagged member as internal to avoid unused warning.
201 * X500DistinguishedName.cs: Comment out unused names and move
202 temporary unused variables inside the comments that were removed
204 2005-11-24 Sebastien Pouliot <sebastien@ximian.com>
206 * X500DistinguishedName.cs: Added validation (still missing parsing).
207 * X509Certificate2Enumerator.cs: Add missing IEnumerator.* methods.
209 2005-11-22 Sebastien Pouliot <sebastien@ximian.com>
211 * PublicKey.cs: Completed implementation for both RSA and DSA public
214 2005-11-08 Sebastien Pouliot <sebastien@ximian.com>
216 * OpenFlags.cs: Removed extra [Serializable] (not in 2.0).
217 * StoreLocation.cs: Removed extra [Serializable] (not in 2.0).
218 * StoreName.cs: Removed extra [Serializable] (not in 2.0).
219 * X500DistinguishedNameFlags.cs: Removed extra [Serializable] (!2.0).
220 * X509ChainStatusFlags.cs: Removed extra [Serializable] (not in 2.0).
221 * X509FindType.cs: Removed extra [Serializable] (not in 2.0).
222 * X509IncludeOption.cs: Removed extra [Serializable] (not in 2.0).
223 * X509RevocationFlag.cs: Removed extra [Serializable] (not in 2.0).
224 * X509RevocationMode.cs: Removed extra [Serializable] (not in 2.0).
225 * X509SubjectKeyIdentifierHashAlgorithm.cs: Removed extra
226 [Serializable] (not in 2.0).
227 * X509VerificationFlags.cs: Removed extra [Serializable] (not in 2.0).
229 2005-09-27 Sebastien Pouliot <sebastien@ximian.com>
231 * X509Certificate2Collection.cs: Class is not sealed. Removed Select
232 methods (moved to a new class in System.Security.dll).
233 * X509Certificate2.cs: Removed Display methods (moved to a new class
234 in System.Security.dll).
235 * X509SelectionFlag.cs: Removed. This enum is still in System.Security
236 * X509NameType.cs: Added new DnsFromAlternativeName value.
238 2005-09-26 Sebastien Pouliot <sebastien@ximian.com>
240 * All classes, except X509CertificateCollection, moved from
241 System.Security.dll assembly as part of 2.0 RC changes.
243 2005-04-27 Sebastien Pouliot <sebastien@ximian.com>
245 * X509BasicConstraintsExtension.cs: Now throw ArgumentNullException in
246 CopyFrom (fixed in beta2).
247 * X509CertificateEx.cs: Throw a CryptographicException in the RawData
248 property if no certificate is loaded in the instance.
249 * X509EnhancedKeyUsageExtension.cs: Now throw ArgumentNullException in
250 CopyFrom (fixed in beta2).
251 * X509Extension.cs: Now throw ArgumentNullException in CopyFrom (fixed
253 * X509KeyUsageExtension.cs: Now throw ArgumentNullException in
254 CopyFrom (fixed in beta2).
255 * X509Store.cs: Re-added certificate creation to get the exception.
256 * X509SubjectKeyIdentifierExtension.cs: Throw ArgumentNullException in
257 CopyFrom (fixed in beta2). Fix SubjectKeyIdentifier to return an empty
258 string (not null) after (unsucessful) decoding.
260 2005-04-26 Sebastien Pouliot <sebastien@ximian.com>
262 * X509CertificateEx.cs: Used new features from Mono.Security.dll to
263 load certificates and private keys from PKCS#12.
265 2005-04-24 Sebastien Pouliot <sebastien@ximian.com>
267 * X509CertificateEx.cs: Added new constructors and Import methods that
268 accept SecureString for passwords. Added new property HasPrivateKey and
270 * X509CertificateExCollection.cs: Added new constructor that accept a
271 single X509Certificate2.
272 * X509EnhancedKeyUsageExtension.cs: Fixed compiler warnings.
273 * X509KeyUsageExtension.cs: Fixed new enum name for CrlSign.
274 * X509KeyUsageFlags.cs: Fixed values and removed [Serializable].
275 * X509NameType.cs: Fixed values and removed [Serializable].
276 * X509Store.cs: Added new constructor that accept an IntPtr and the
277 StoreHandle property. Fixed compiler warnings.
279 2005-04-23 Sebastien Pouliot <sebastien@ximian.com>
281 * X509CertificateEx.cs, X509CertificateExCollection.cs,
282 X509CertificateExEnumerator.cs, X509Chain.cs, X509ChainElement.cs,
283 X509ChainPolicy.cs, X509Store.cs: Changed all references of
284 X509CertificateEx to X509Certificate2 to match beta2.
286 2005-01-17 Sebastien Pouliot <sebastien@ximian.com>
288 * X509BasicConstraintsExtension.cs: Completed implementation.
289 * X509Chain.cs: Updated to Dec CTP definitions.
290 * X509ChainPolicy.cs: Updated to Dec CTP definitions.
291 * X500DistinguishedNameFlags.cs: Added new ForceUTF8Encoding.
292 * X509EnhancedKeyUsageExtension.cs: New. Complete implementation.
293 * X509Extension.cs: Completed implementation.
294 * X509ExtensionCollection.cs: Updated to Dec CTP definitions.
295 * X509KeyUsageExtension.cs: Completed implementation.
296 * X509RevocationFlag.cs: Minus 1 on each member.
297 * X509SubjectKeyIdentifierExtension.cs: Completed implementation
298 except for the new constructor accepting a public key.
299 * X509SubjectKeyIdentifierHashAlgorithm.cs: New enum.
301 2004-09-03 Tim Coleman <tim@timcoleman.com>
302 * X509KeyUsageExtension.cs: New stub class
303 * X509SubjectKeyIdentifierExtension.cs: New stub class
304 * PublicKey.cs X509BasicConstraintsExtension.cs X509CertificateEx.cs
305 * X509CertificateExCollection.cs X509Extension.cs
306 * X509ExtensionCollection.cs:
307 Bring these more in line with 2.0
309 2004-07-08 Sebastien Pouliot <sebastien@ximian.com>
311 * OpenFlags.cs: Fixed flags values. Added missing attributes.
312 * StoreLocation.cs: Fixed enum values. Added missing [Serializable].
313 * StoreName.cs: Fixed enum values. Added missing [Serializable].
314 * X500DistinguishedName.cs: New. X.501 DN.
315 * X500DistinguishedNameFlags.cs: New. X.501 DN flags.
316 * X509CertificateEx.cs: Updated to Fx 2.0 beta 1. Added MonoTODO.
317 * X509Chain.cs: Added missing Reset method.
318 * X509ChainStatusFlags.cs: Fixed flags values. Added missing attrs.
319 * X509Extension.cs: Fixed API.
320 * X509ExtensionCollection.cs: Fixed API and implemented.
321 * X509FindType.cs: Fixed enum values. Added missing [Serializable].
322 * X509IncludeOption.cs: Added missing [Serializable].
323 * X509KeyUsageFlags.cs: : Fixed flags values. Added missing attrs.
324 * X509NameType.cs: Fixed enum values. Added missing [Serializable].
325 * X509RevocationFlag.cs: Fixed enum values. Added missing [Serializable].
326 * X509RevocationMode.cs: Added missing [Serializable].
327 * X509SelectionFlag.cs: Added missing [Serializable].
328 * X509VerificationFlags.cs: Fixed flags values. Added missing attrs.
330 2004-07-07 Sebastien Pouliot <sebastien@ximian.com>
332 * X509Store.cs: Removed old store code (as it has changed a lot in
335 2004-06-05 Sebastien Pouliot <sebastien@ximian.com>
337 * X509CertificateCollection.cs: Fixed Contains which works by value
338 (i.e. not by object reference). Fixed Remove for null and unexisting
341 2003-12-07 Sebastien Pouliot <spouliot@videotron.ca>
343 * PublicKey.cs: New (1.2). Class that encapsulate an ASN.1 encoded
345 * X509BasicConstraintsExtension.cs: New (1.2). X.509 certification
346 extension for BasicConstraints.
347 * X509CertificateEx.cs: New (1.2). Augmented class to use X.509
349 * X509CertificateExCollection.cs: New (1.2). Collection class for
351 * X509CertificateExEnumerator.cs: New (1.2). Enumerator class for
353 * X509ChainElement.cs: New (1.2). Information (certificate, status,
354 informations) for a member of a certificate chain.
355 * X509ChainElementCollection.cs: New (1.2). Collection class for
357 * X509ChainElementEnumerator.cs: New (1.2). Enumerator class for
359 * X509ChainStatus.cs: New (1.2). Chain status (many can apply to a
360 single X509ChainElement).
361 * X509Extension.cs: New (1.2). Base class for all certificate
363 * X509ExtensionCollection.cs: New (1.2). Collection class for
365 * X509ExtensionEnumerator.cs: New (1.2). Enumerator class for
368 2003-11-08 Sebastien Pouliot <spouliot@videotron.ca>
370 * OpenFlags.cs: New (1.2). Enumeration for certificate stores.
371 * StoreLocation.cs: New (1.2). Enumeration for certificate stores.
372 * StoreName.cs: New (1.2). Enumeration for certificate stores.
373 * X509Chain.cs: New (1.2). Class to build a certificate chain up to a
375 * X509ChainElement.cs: New (1.2). Element from the chain (certificate,
376 status and information) - only stubbed for now.
377 * X509ChainElementCollection.cs: New (1.2). Collection class for
379 * X509ChainElementEnumerator.cs: New (1.2). Enumerator class for
381 * X509ChainPolicy.cs: New (1.2). Policy to build a certificate chain.
382 * X509ChainStatusFlags.cs: New (1.2). Enumeration for chain status.
383 * X509FindType.cs: New (1.2). Enumeration for how to find X.509
384 certificates in stores.
385 * X509IncludeOption.cs: New (1.2). Enumeration for options about which
386 certificate(s) to store within a (pkcs7) structure.
387 * X509KeyUsageFlags.cs: New (1.2). Enumeration for specifying valid
389 * X509NameType.cs: New (1.2). Enumeration for different types of name
390 that can be present inside a certificate.
391 * X509RevocationFlag.cs: New (1.2). Enumeration for specifying which
392 certificates should be verified for revocation in a chain.
393 * X509RevocationMode.cs: New (1.2). Enumeration for specifying how the
394 revocation process should find it's informations.
395 * X509SelectionFlag.cs: New (1.2). Enumeration about how to select
396 certificates (ui-related).
397 * X509Store.cs: New (1.2). X.509 certificate store access - not complete.
398 * X509VerificationFlags.cs: New (1.2). Enumeration for parameters
399 affecting the verification of a certificate chain.
401 2003-03-01 Sebastien Pouliot <spouliot@videotron.ca>
403 * X509CertificateCollection.cs: Fixed bugs in AddRange
404 (added the collection not the certificates in the collection).
406 2003-01-30 Sebastien Pouliot <spouliot@videotron.ca>
408 * X509CertificateCollection.cs: Replaced the use of the private
409 ArrayList by the protected InnerList (from CollectionBase) so
410 Count property now works.
412 2002-10-21 Miguel de Icaza <miguel@ximian.com>
414 * X509CertificateCollection.cs (Add): New method.
416 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
418 * X509CertificateCollection.cs: implemented