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