1 2006-11-24 Sebastien Pouliot <sebastien@ximian.com>
3 * X509Certificate2.cs: Modified Verify to use CryptoConfig to create
4 the X509Chain used to verify the certificate. This makes it possible
5 to change the default chaining (certificate path creation and
7 * X509Chain.cs: Started implementation based on the options and error
8 codes defined. Work in progress (incomplete and needs a lot more test
10 * X509ChainElementCollection.cs: Added internal methods to Add and
12 * X509ChainElement.cs: Implemented, MonoTODO removed.
13 * X509ChainPolicy.cs: Add missing checks on enum-based properties.
14 Renamed fields to match guidelines.
15 * X509ChainStatus.cs: Provide a default StatusInformation value based
18 2006-11-22 Sebastien Pouliot <sebastien@ximian.com>
20 * X509Certificate2Collection.cs: Remove comment that proved to be
21 false (unit tests prove otherwise).
22 * X509Store.cs: Integrate the new 2.0 stores with the existing stores
23 that Mono used since 1.0.
25 2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
27 * X509Certificate2Collection.cs: Implement Export (to DER encoded
28 format), Find (for most X509FindType), Import (for single
29 certificates), RemoveRange (but it's not transactional).
30 * X509Certificate2.cs: Fix Reset method to reset every field.
31 * X509ExtensionCollection.cs: Implement missing CopyTo. Fix exception
32 handling to match new unit tests.
33 * X509ExtensionEnumerator.cs: Fix recursion.
34 * X509SubjectKeyIdentifierExtension.cs: Add support for ctors
35 accepting a PublicKey instance.
37 2006-11-13 Sebastien Pouliot <sebastien@ximian.com>
39 * X509Certificate2.cs: Throw a CryptographicException for (most)
40 properties if the certificate is "empty". Implement GetNameInfo for
41 X509NameType.SimpleName, EmailName and DnsName. Add detection for
42 X509ContentType.Pkcs7 in GetCertContentType.
44 2006-11-08 Sebastien Pouliot <sebastien@ximian.com>
46 * X500DistinguishedName.cs: Fix most common cases. Some flags are
48 * X509Certificate2.cs: Fix importing PKCS#12 certificates (with keys)
49 in some cases. Implement GetCertContentType for Cert, Pfx and Pkcs12.
50 Implement ToString methods.
51 * X509ExtensionCollection.cs: Add an internal ctor that can populate
52 the collection from extensions coming from an Mono.Security.X509.
53 X509Certificate. CryptoConfig is used to allow extensibility to the
56 2006-10-08 Sebastien Pouliot <sebastien@ximian.com>
58 * X509Certificate2.cs: Ensure we can load certificates from read-only
59 files (fix bug #79616).
61 2006-10-05 Andrew Skiba <andrews@mainsoft.com>
63 * X509CertificateCollection.cs: remove IEnumerable private imple-
64 mentation to match MSDN.
66 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
68 * X509Certificate2.cs : in .ctor(X509Certificate) call base copy .ctor()
69 as well. Fixed bug #79455.
71 2006-09-12 Sebastien Pouliot <sebastien@ximian.com>
73 * PublicKey.cs: Never return the private key in the Key property, even
74 if it was available when creating the public key.
76 2006-09-11 Atsushi Enomoto <atsushi@ximian.com>
78 * X509Certificate2.cs : implemented HasPrivateKey. Return null
79 when the corresponding RSA or DSA has no private key.
81 2006-09-05 Sebastien Pouliot <sebastien@ximian.com>
83 * X509Certificate2.cs: Call import in ctor to be sure the private key
84 will be decoded. Last fix for #79269.
86 2006-08-02 Sebastien Pouliot <sebastien@ximian.com>
88 * X509Certificate2.cs: A unrequired password can be supplied to the
89 2.0 ctors. Fix bug #79028.
91 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
93 * X509Certificate2.cs : .ctor(string, string) and .ctor(string,
94 SecureString) should call proper base constructor method for each.
95 Implemented IssuerName. Fixed bug #78986.
97 2006-03-11 Miguel de Icaza <miguel@novell.com>
99 * X509Chain.cs: Flagged member as internal to avoid unused warning.
101 * X500DistinguishedName.cs: Comment out unused names and move
102 temporary unused variables inside the comments that were removed
104 2005-11-24 Sebastien Pouliot <sebastien@ximian.com>
106 * X500DistinguishedName.cs: Added validation (still missing parsing).
107 * X509Certificate2Enumerator.cs: Add missing IEnumerator.* methods.
109 2005-11-22 Sebastien Pouliot <sebastien@ximian.com>
111 * PublicKey.cs: Completed implementation for both RSA and DSA public
114 2005-11-08 Sebastien Pouliot <sebastien@ximian.com>
116 * OpenFlags.cs: Removed extra [Serializable] (not in 2.0).
117 * StoreLocation.cs: Removed extra [Serializable] (not in 2.0).
118 * StoreName.cs: Removed extra [Serializable] (not in 2.0).
119 * X500DistinguishedNameFlags.cs: Removed extra [Serializable] (!2.0).
120 * X509ChainStatusFlags.cs: Removed extra [Serializable] (not in 2.0).
121 * X509FindType.cs: Removed extra [Serializable] (not in 2.0).
122 * X509IncludeOption.cs: Removed extra [Serializable] (not in 2.0).
123 * X509RevocationFlag.cs: Removed extra [Serializable] (not in 2.0).
124 * X509RevocationMode.cs: Removed extra [Serializable] (not in 2.0).
125 * X509SubjectKeyIdentifierHashAlgorithm.cs: Removed extra
126 [Serializable] (not in 2.0).
127 * X509VerificationFlags.cs: Removed extra [Serializable] (not in 2.0).
129 2005-09-27 Sebastien Pouliot <sebastien@ximian.com>
131 * X509Certificate2Collection.cs: Class is not sealed. Removed Select
132 methods (moved to a new class in System.Security.dll).
133 * X509Certificate2.cs: Removed Display methods (moved to a new class
134 in System.Security.dll).
135 * X509SelectionFlag.cs: Removed. This enum is still in System.Security
136 * X509NameType.cs: Added new DnsFromAlternativeName value.
138 2005-09-26 Sebastien Pouliot <sebastien@ximian.com>
140 * All classes, except X509CertificateCollection, moved from
141 System.Security.dll assembly as part of 2.0 RC changes.
143 2005-04-27 Sebastien Pouliot <sebastien@ximian.com>
145 * X509BasicConstraintsExtension.cs: Now throw ArgumentNullException in
146 CopyFrom (fixed in beta2).
147 * X509CertificateEx.cs: Throw a CryptographicException in the RawData
148 property if no certificate is loaded in the instance.
149 * X509EnhancedKeyUsageExtension.cs: Now throw ArgumentNullException in
150 CopyFrom (fixed in beta2).
151 * X509Extension.cs: Now throw ArgumentNullException in CopyFrom (fixed
153 * X509KeyUsageExtension.cs: Now throw ArgumentNullException in
154 CopyFrom (fixed in beta2).
155 * X509Store.cs: Re-added certificate creation to get the exception.
156 * X509SubjectKeyIdentifierExtension.cs: Throw ArgumentNullException in
157 CopyFrom (fixed in beta2). Fix SubjectKeyIdentifier to return an empty
158 string (not null) after (unsucessful) decoding.
160 2005-04-26 Sebastien Pouliot <sebastien@ximian.com>
162 * X509CertificateEx.cs: Used new features from Mono.Security.dll to
163 load certificates and private keys from PKCS#12.
165 2005-04-24 Sebastien Pouliot <sebastien@ximian.com>
167 * X509CertificateEx.cs: Added new constructors and Import methods that
168 accept SecureString for passwords. Added new property HasPrivateKey and
170 * X509CertificateExCollection.cs: Added new constructor that accept a
171 single X509Certificate2.
172 * X509EnhancedKeyUsageExtension.cs: Fixed compiler warnings.
173 * X509KeyUsageExtension.cs: Fixed new enum name for CrlSign.
174 * X509KeyUsageFlags.cs: Fixed values and removed [Serializable].
175 * X509NameType.cs: Fixed values and removed [Serializable].
176 * X509Store.cs: Added new constructor that accept an IntPtr and the
177 StoreHandle property. Fixed compiler warnings.
179 2005-04-23 Sebastien Pouliot <sebastien@ximian.com>
181 * X509CertificateEx.cs, X509CertificateExCollection.cs,
182 X509CertificateExEnumerator.cs, X509Chain.cs, X509ChainElement.cs,
183 X509ChainPolicy.cs, X509Store.cs: Changed all references of
184 X509CertificateEx to X509Certificate2 to match beta2.
186 2005-01-17 Sebastien Pouliot <sebastien@ximian.com>
188 * X509BasicConstraintsExtension.cs: Completed implementation.
189 * X509Chain.cs: Updated to Dec CTP definitions.
190 * X509ChainPolicy.cs: Updated to Dec CTP definitions.
191 * X500DistinguishedNameFlags.cs: Added new ForceUTF8Encoding.
192 * X509EnhancedKeyUsageExtension.cs: New. Complete implementation.
193 * X509Extension.cs: Completed implementation.
194 * X509ExtensionCollection.cs: Updated to Dec CTP definitions.
195 * X509KeyUsageExtension.cs: Completed implementation.
196 * X509RevocationFlag.cs: Minus 1 on each member.
197 * X509SubjectKeyIdentifierExtension.cs: Completed implementation
198 except for the new constructor accepting a public key.
199 * X509SubjectKeyIdentifierHashAlgorithm.cs: New enum.
201 2004-09-03 Tim Coleman <tim@timcoleman.com>
202 * X509KeyUsageExtension.cs: New stub class
203 * X509SubjectKeyIdentifierExtension.cs: New stub class
204 * PublicKey.cs X509BasicConstraintsExtension.cs X509CertificateEx.cs
205 * X509CertificateExCollection.cs X509Extension.cs
206 * X509ExtensionCollection.cs:
207 Bring these more in line with 2.0
209 2004-07-08 Sebastien Pouliot <sebastien@ximian.com>
211 * OpenFlags.cs: Fixed flags values. Added missing attributes.
212 * StoreLocation.cs: Fixed enum values. Added missing [Serializable].
213 * StoreName.cs: Fixed enum values. Added missing [Serializable].
214 * X500DistinguishedName.cs: New. X.501 DN.
215 * X500DistinguishedNameFlags.cs: New. X.501 DN flags.
216 * X509CertificateEx.cs: Updated to Fx 2.0 beta 1. Added MonoTODO.
217 * X509Chain.cs: Added missing Reset method.
218 * X509ChainStatusFlags.cs: Fixed flags values. Added missing attrs.
219 * X509Extension.cs: Fixed API.
220 * X509ExtensionCollection.cs: Fixed API and implemented.
221 * X509FindType.cs: Fixed enum values. Added missing [Serializable].
222 * X509IncludeOption.cs: Added missing [Serializable].
223 * X509KeyUsageFlags.cs: : Fixed flags values. Added missing attrs.
224 * X509NameType.cs: Fixed enum values. Added missing [Serializable].
225 * X509RevocationFlag.cs: Fixed enum values. Added missing [Serializable].
226 * X509RevocationMode.cs: Added missing [Serializable].
227 * X509SelectionFlag.cs: Added missing [Serializable].
228 * X509VerificationFlags.cs: Fixed flags values. Added missing attrs.
230 2004-07-07 Sebastien Pouliot <sebastien@ximian.com>
232 * X509Store.cs: Removed old store code (as it has changed a lot in
235 2004-06-05 Sebastien Pouliot <sebastien@ximian.com>
237 * X509CertificateCollection.cs: Fixed Contains which works by value
238 (i.e. not by object reference). Fixed Remove for null and unexisting
241 2003-12-07 Sebastien Pouliot <spouliot@videotron.ca>
243 * PublicKey.cs: New (1.2). Class that encapsulate an ASN.1 encoded
245 * X509BasicConstraintsExtension.cs: New (1.2). X.509 certification
246 extension for BasicConstraints.
247 * X509CertificateEx.cs: New (1.2). Augmented class to use X.509
249 * X509CertificateExCollection.cs: New (1.2). Collection class for
251 * X509CertificateExEnumerator.cs: New (1.2). Enumerator class for
253 * X509ChainElement.cs: New (1.2). Information (certificate, status,
254 informations) for a member of a certificate chain.
255 * X509ChainElementCollection.cs: New (1.2). Collection class for
257 * X509ChainElementEnumerator.cs: New (1.2). Enumerator class for
259 * X509ChainStatus.cs: New (1.2). Chain status (many can apply to a
260 single X509ChainElement).
261 * X509Extension.cs: New (1.2). Base class for all certificate
263 * X509ExtensionCollection.cs: New (1.2). Collection class for
265 * X509ExtensionEnumerator.cs: New (1.2). Enumerator class for
268 2003-11-08 Sebastien Pouliot <spouliot@videotron.ca>
270 * OpenFlags.cs: New (1.2). Enumeration for certificate stores.
271 * StoreLocation.cs: New (1.2). Enumeration for certificate stores.
272 * StoreName.cs: New (1.2). Enumeration for certificate stores.
273 * X509Chain.cs: New (1.2). Class to build a certificate chain up to a
275 * X509ChainElement.cs: New (1.2). Element from the chain (certificate,
276 status and information) - only stubbed for now.
277 * X509ChainElementCollection.cs: New (1.2). Collection class for
279 * X509ChainElementEnumerator.cs: New (1.2). Enumerator class for
281 * X509ChainPolicy.cs: New (1.2). Policy to build a certificate chain.
282 * X509ChainStatusFlags.cs: New (1.2). Enumeration for chain status.
283 * X509FindType.cs: New (1.2). Enumeration for how to find X.509
284 certificates in stores.
285 * X509IncludeOption.cs: New (1.2). Enumeration for options about which
286 certificate(s) to store within a (pkcs7) structure.
287 * X509KeyUsageFlags.cs: New (1.2). Enumeration for specifying valid
289 * X509NameType.cs: New (1.2). Enumeration for different types of name
290 that can be present inside a certificate.
291 * X509RevocationFlag.cs: New (1.2). Enumeration for specifying which
292 certificates should be verified for revocation in a chain.
293 * X509RevocationMode.cs: New (1.2). Enumeration for specifying how the
294 revocation process should find it's informations.
295 * X509SelectionFlag.cs: New (1.2). Enumeration about how to select
296 certificates (ui-related).
297 * X509Store.cs: New (1.2). X.509 certificate store access - not complete.
298 * X509VerificationFlags.cs: New (1.2). Enumeration for parameters
299 affecting the verification of a certificate chain.
301 2003-03-01 Sebastien Pouliot <spouliot@videotron.ca>
303 * X509CertificateCollection.cs: Fixed bugs in AddRange
304 (added the collection not the certificates in the collection).
306 2003-01-30 Sebastien Pouliot <spouliot@videotron.ca>
308 * X509CertificateCollection.cs: Replaced the use of the private
309 ArrayList by the protected InnerList (from CollectionBase) so
310 Count property now works.
312 2002-10-21 Miguel de Icaza <miguel@ximian.com>
314 * X509CertificateCollection.cs (Add): New method.
316 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
318 * X509CertificateCollection.cs: implemented