This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[mono.git] / mcs / class / System.Security / System.Security.Cryptography.Xml / ChangeLog
1 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * KeyInfoX509Data.cs: Removed old internal IssuerSerial for the 
4         undocumented structure (now documented, and public, in Fx 2.0).
5         * X509IssuerSerial.cs: Use structure as public in NET_2_0 and as 
6         internal before that.
7
8 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
9
10         * SignedXml.cs: API signature fixes
11
12 2004-06-04  Atsushi Enomoto <atsushi@ximian.com>
13
14         * SignedXml.cs : Complete fix for bug #59545. Support #xpointer(id()).
15           Namespace fixup is required when signing prefixed xml.
16
17 2004-06-04  Atsushi Enomoto <atsushi@ximian.com>
18
19         * SignedXml.cs : Fix for bug #59545. Handle #xpointer(/) as document.
20
21 2004-05-31  Atsushi Enomoto <atsushi@ximian.com>
22
23         * SignedXml.cs : partial fix for bug #59165 that does not output
24           namespace that conflicts with element's namespace.
25
26 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
27
28         * SignedXml.cs: Update TODO informations.
29
30 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
31
32         * XmlDsigBase64Transform.cs :
33           LoadInput() should retrieve all the descendants.
34           GetOutput() should handle nodes without digging into child nodes.
35
36 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
37
38         * SignedXml.cs,
39           Transform.cs : code cleanup. #if !NET_1_0 -> #if NET_1_1.
40         * XmlDsigBase64Transform.cs : Should not output the content of the
41           selected element nodes. Put text content only those text nodes are
42           in the node list.
43         * XmlDsigEnvelopedSignatureTransform.cs : removed MonoTODO.
44         * XmlDsigXsltTransform.cs : Use XmlResolver to load document and
45           to transform. Throw null reference exception explicitly when
46           the input was not loaded.
47
48 2004-04-02  Lluis Sanchez Gual  <lluis@ximian.com>
49
50         * XmlDsigEnvelopedSignatureTransform.cs, XmlDsigXPathTransform.cs,
51         XmlDsigXsltTransform.cs: Fixed build for net_1_0 profile.
52
53 2004-03-30  Sebastien Pouliot  <sebastien@ximian.com>
54
55         * Reference.cs: Changed code to use CryptoConfig to create transforms.
56         This is "the" way to do it (e.g. to allow new transforms to be added)
57         but cause problems when using VS.NET for debugging. Old code is still
58         present, but commented, for that cause.
59
60 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
61
62         * SignedXml.cs : namespace nodes also should be supplied for enveloped
63           objects.
64         * KeyInfoRetrievalMethod.cs : Keep input element as well as others.
65
66 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
67
68         * SignedXml.cs : XPath transformation output is not type of Stream.
69           Fix to support them by canonicalizing it.
70
71 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
72
73         * XmlDsigXsltTransform.cs : GetOutput() now just returns
74           transformation output.
75
76 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
77
78         * SignedXml.cs : Added xmlns support for Manifest.
79
80 2004-03-26  Sebastien Pouliot  <sebastien@ximian.com>
81
82         * Manifest.cs: New. Support for <Manifest> in Xml Digital Signature.
83         This should help us to validate more tests from the Phaos suite.
84         Note: Microsoft doesn't support this and we only support it for
85         verification (not signature generation).
86         * SignedXml.cs: Added support for Manifest, including recursive 
87         manifests. Made some changes to reuse existing code as much as 
88         possible. Better support for local/remote files - but requires
89         catching an Uri exception for local files :-(.
90         * XmlSignature.cs: Added constants for Manifest element and URI.
91
92 2004-03-26  Atsushi Enomoto <atsushi@ximian.com>
93
94         * SignedXml.cs :
95           - Use specified (or default) XmlResolver to get external resource,
96             instead of using WebRequest directly. Also modified it easier.
97           - ApplyTransform() : Clone only when it is required. Handle 
98             transformation output other than Stream.
99           - Even if applicable key was not found in GetHash(), don't throw
100             crypto exception every time and just return false (MS does it).
101             Throw an exception only when no key was specified as KeyInfo.
102         * XmlDsigEnvelopedSignatureTransform.cs : Fixed get_OutputTypes which
103           incorrectly set InputTypes internally.
104         * XmlDsigXPathTransform.cs : Context namespace nodes in loaded 
105           transform parameter (i.e. <XPath>..</XPath>) should be registered
106           to XsltContext. Otherwise prefix binding error occurs.
107           Just filter attribute node, instead of filtering attribute children.
108
109 2004-03-25  Sebastien Pouliot  <sebastien@ximian.com>
110
111         * SignedXml.cs: Added try/catch in CheckSignatureWithKey to return 
112         false on exceptions. Fix signature-rsa-detached-xslt-transform-bad
113         -retrieval-method.xml in the Phaos test suite.
114
115 2004-03-24  Atsushi Enomoto <atsushi@ximian.com>
116
117         * Reference.cs, Signature.cs : They should keep input element and hence
118           keep namespace context nodes on LoadXml() as same as SignedInfo.
119         * SignedXml.cs : Fixed SignedInfoTransformed() to fill context 
120           namespace nodes into the input document (unlike other classes, there
121           seems no other way to keep ns-nodes here).
122           Now some of W3C phaos xmldsig test passes.
123
124 2004-03-23  Atsushi Enomoto <atsushi@ximian.com>
125
126         * SignedInfo.cs : It holds input element and directly returns it
127           unless the properties are not set.
128           Throw CryptographicException when Reference is empty *and* GetXml()
129           is *created*. (when just returning input element, no exception is
130           thrown).
131
132 2004-03-23  Atsushi Enomoto <atsushi@ximian.com>
133
134         * DataObject.cs : It now holds element instead of each parameters.
135           Avoid loading element content to different document unless its
136           properties were modified (to keep namespace node context).
137
138 2004-03-20 Sebastien Pouliot  <sebastien@ximian.com>
139
140         * SignedXml.cs: Removed unused (and commented) ComputeHash method.
141
142 2004-03-19  Atsushi Enomoto <atsushi@ximian.com>
143
144         * XmlDsigXPathTransform.cs : just found stupid bug.
145
146 2004-03-19  Sebastien Pouliot  <sebastien@ximian.com>
147
148         * SignedXml.cs: Lot of small changes to complete TODOs and to match 
149         the new unit tests.
150
151 2004-03-17  Sebastien Pouliot  <sebastien@ximian.com>
152
153         * SignedXml.cs: The old method was working for creating signature -
154         so it was reintroduced for (only) this case.
155
156 2004-03-17  Atsushi Enomoto <atsushi@ximian.com>
157
158         * SignedXml.cs : the result from enveloped signature transform should
159           be canonicalized before getting its hash.
160         * XmlDsigEnvelopedSignatureTransform.cs : in XPath selection,
161           if the node is Signature itself it is not allowed.
162           PreserveWhitespace is required.
163
164 2004-03-16  Sebastien Pouliot  <sebastien@ximian.com>
165
166         * SignedXml.cs: Changed (again). This time we use the Stream when 
167         loading the document. We now pass 14 out of 15 of the Merlin's
168         tests (including one that MS fails). The only failing test is the
169         one that use the EnvelopedTransform (unfinished).
170
171 2004-03-16  Sebastien Pouliot  <sebastien@ximian.com>
172
173         * SignedXml.cs: Commented my last changes to SignedXml as it made other
174         unis tests fail (in the c14n-izer).
175
176 2004-03-16  Atsushi Enomoto <atsushi@ximian.com>
177
178         * XmlDsigNodeList.cs : removed BOM from code file.
179
180 2004-03-16  Atsushi Enomoto <atsushi@ximian.com>
181
182         * XmlDsigNodeList.cs : added.
183         * XmlDsigXPathTransform.cs : removed XmlDsigNodeList class.
184         * XmlDsigEnvelopedSignatureTransform.cs :
185           Implemented GetOutput(). However, it is totally MS behavior
186           dependent and not based on the spec (we can reimplement it based on
187           improved XmlDsigXPathTransform).
188         * SignedXml.cs : in GetOutput(), accept XmlNodeList input too.
189
190 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
191
192         * SignedXml.cs: Now use the original Signature element before applying
193         the C14N transformation. Added a check for null in LoadXml.
194
195 2004-03-14  Atsushi Enomoto <atsushi@ximian.com>
196
197         * XmlDsigXPathTransform.cs : implemented GetOutput() (with some 
198           internal XPath context classes).
199
200 2004-03-13  Atsushi Enomoto <atsushi@ximian.com>
201
202         * XmlDsigXsltTransform.cs : LoadInnerXml() should just load stylesheet
203           and LoadInput() should just load transformed document.
204           Transformation should be done in GetOutput() because either of the
205           stylesheet or input can be loaded in prior. Adjusted code format.
206
207 2004-03-12  Sebastien Pouliot  <sebastien@ximian.com>
208
209         * Signature.cs: KeyInfo isn't required in schema.
210         * SignedInfo.cs: Added support for missing HMACOutputLength.
211         * SignedXml.cs: Added support to download a reference (experimental).
212         Now throw exception for unknown hash algorithm or canonicalization 
213         methods. Changed GetPublicKey to iterate all available keys (not just
214         the first one).
215
216 2004-03-09  Atsushi Enomoto <atsushi@ximian.com>
217
218         * KeyInfo.cs : Attribute Id was not handlded.
219         * KeyInfoX509Data.cs : all array members return null when there are
220           no such contents. Just find child elements, not descendants.
221         * SignedXml.cs : key is not always required when CheckSignature() is
222           called.
223         * XmlDsigXsltTransform.cs : LoadInput should allow node list.
224         * XmlSignature.cs : added GetChildElements().
225
226 2004-03-09  Atsushi Enomoto <atsushi@ximian.com>
227
228         * KeyInfoX509Data.cs : trivial local var name fix.
229
230 2004-03-09  Atsushi Enomoto <atsushi@ximian.com>
231
232         * KeyInfoX509Data.cs,
233           Reference.cs,
234           SignedInfo.cs,
235           XmlSignature.cs : GetElementsByTagName() should be eliminated or
236           at least should use namespace URI.
237
238 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
239
240         * KeyInfo.cs :
241           Fixed LoadXml() to skip text nodes as MS.NET does.
242           Uncommented out RSAKeyValue.
243         * Signature.cs : Fixed LoadXml(). Don't use GetElementsByTagName()
244           that incorrectly acquires descendants. Throw CryptographicException
245           if required elements were not found.
246         * Transform.cs : added internal GetResolver().
247         * XmlDsigXPathTransform.cs,
248           XmlDsigXsltTransform.cs : use XmlResolver.
249
250 2004-02-19  Tim Coleman <tim@timcoleman.com>
251         * SymmetricKeyWrap.cs:
252                 Add AES Key Wrap
253         * EncryptedXml.cs:
254                 Add calls to SymmetricKeyWrap
255
256 2004-02-11  Sebastien Pouliot  <sebastien@ximian.com>
257
258         * Reference.cs: Added LoadInnerXml to transforms. Removed unused 
259         variable.
260         * Transform.cs: Import GetInnerXml in GetXml.
261         * XmlDsigBase64Transform.cs: Now use a StreamWriter to avoid multiple
262         allocations.
263         * XmlDsigC14NTransform.cs: Added Stream support to LoadInput
264         * XmlDsigXPathTransform.cs: Fixed GetInnerXml to include xpath 
265         expression and LoadInput. It nows match MS implementation but doesn't
266         work like I think it should (but neither is MS implementation).
267
268 2004-02-10  Tim Coleman <tim@timcoleman.com>
269         * DataReference.cs EncryptedKey.cs EncryptedXml.cs
270         * KeyInfoEncryptedKey.cs KeyReference.cs ReferenceList.cs
271         * X509IssuerSerial.cs XmlDecryptionTransform.cs:
272                 Add new classes for Xml Encryption in 1.2
273         * CipherData.cs CipherReference.cs EncryptedData.cs
274         * EncryptedReference.cs EncryptionMethod.cs EncryptionProperty.cs :
275                 Change NamespaceURI reference to EncryptedXml class.
276                 Make compliant with 1.2
277         * XmlEncryption.cs:
278                 Add new entity names.
279
280
281 2004-02-07  Tim Coleman <tim@timcoleman.com>
282         * CipherData.cs CipherReference.cs EncryptedData.cs
283         * EncryptedReference.cs EncryptedType.cs EncryptionMethod.cs
284         * EncryptionProperties.cs EncryptionProperty.cs XmlEncryption.cs:
285                 New classes added for Xml Encryption in 1.2
286         * KeyInfoRetrievalMethod.cs:
287                 Added Type attribute for 1.2
288         * XmlSignature.cs:
289                 Added string constants for algorithm namespaces
290
291 2004-01-11  Sebastien Pouliot  <spouliot@videotron.ca>
292
293         * SignedXml.cs: Fixed class signature (for 1.1+) by adding public to 
294         Resolver property.
295         * Transform.cs: Fixed class signature (for 1.1+) by adding public to 
296         Resolver property.
297
298 2003-12-14  Sebastien Pouliot  <spouliot@videotron.ca>
299
300         * SignedXml.cs: Now load the public key when verifying (bug #52084)
301         and can find an element by it's Id when Id isn't defined in DTD or XSD.
302
303 2003-07-27  Sebastien Pouliot  <spouliot@videotron.ca>
304
305         * XmlSignature.cs: Changed USE_VERSION_1_0 for NET_1_0.
306
307 2003-07-24  Sebastien Pouliot  <spouliot@videotron.ca>
308
309         * XmlDsigC14NTransform.cs: Patch to use Mono.Xml.XmlCanonicalizer
310         from Aleksey Sanin.
311
312 2003-06-19  Nick Drochak <ndrochak@gol.com>
313
314         * DSAKeyValue.cs:
315         * RSAKeyValue.cs: Work around for mcs? bug 45127.
316
317 2003-06-11  Sebastien Pouliot <spouliot@motus.com>
318
319         * SignedXml.cs: Changed USE_VERSION_1_0 for NET_1_0.
320         * Transform.cs: Changed USE_VERSION_1_0 for NET_1_0.
321
322 2003-05-25  Sebastien Pouliot  <spouliot@videotron.ca>
323
324         * XmlSignature.cs: Changed string "RetrievalElement" to "RetrievalMethod"
325         to match framework 1.1 (this was a bug in framework 1.0).
326
327 2003-05-10  Sebastien Pouliot  <spouliot@videotron.ca>
328
329         * SignedXml.cs: Added property XmlResolver Resolver as per framework 1.1
330         documentation (no public declaration).
331         * Transform.cs: Added property XmlResolver Resolver as per framework 1.1
332         documentation (no public declaration).
333
334 2003-03-03  Sebastien Pouliot  <spouliot@videotron.ca>
335
336         * DSAKeyValue.cs: Added patch from Atsushi Eno (to remove string
337         XML generation).
338         * RSAKeyValue.cs: Added patch from Atsushi Eno (to remove string
339         XML generation).
340         * XmlDsigBase64Transform.cs: Fixed problem when using XPath.
341
342 2003-03-02  Sebastien Pouliot  <spouliot@videotron.ca>
343
344         * DSAKeyValue.cs: New XML generation is commented. Old string technique
345         did a better job to match MS implementation.
346         * DataObject.cs: Replaced XML generation from StringBuilder to XmlElement.
347         * KeyInfo.cs: Replaced XML generation from StringBuilder to XmlElement.
348         * KeyInfoName.cs: Replaced XML generation from StringBuilder to XmlElement.
349         * KeyInfoNode.cs: Replaced XML generation from StringBuilder to XmlElement.
350         * KeyInfoRetrievalMethod.cs: Replaced XML generation from StringBuilder to XmlElement.
351         * KeyInfoX509Data.cs: Replaced XML generation from StringBuilder to XmlElement.
352         * RSAKeyValue.cs: New XML generation is commented. Old string technique
353         did a better job to match MS implementation.
354         * Reference.cs: Replaced XML generation from StringBuilder to XmlElement.
355         * Signature.cs: Replaced XML generation from StringBuilder to XmlElement.
356         * SignedInfo.cs: Replaced XML generation from StringBuilder to XmlElement.
357         * SignedXml.cs: Replaced XML generation from StringBuilder to XmlElement.
358         * Transform.cs: Replaced XML generation from StringBuilder to XmlElement.
359         * XmlDsigEnvelopedSignatureTransform.cs: Added missing Algorithm URL.
360         * XmlDsigXPathTransform.cs: Added missing Algorithm URL.
361         * XmlSignature.cs: New. Private contants (construct similar to WSE).
362
363 2003-02-19  Sebastien Pouliot  <spouliot@videotron.ca>
364
365         * All: Corrected class indentation, minor fixes, added many MonoTODO (so class status
366         will reflect reality).
367
368 2003-01-17  Sebastien Pouliot  <spouliot@videotron.ca>
369
370         * KeyInfo.cs: Changed some protected declaration to private.
371         * KeyInfoName.cs: Changed some protected declaration to private.
372         * KeyInfoNode.cs: Changed some protected declaration to private.
373         * KeyInfoRetrievalMethod.cs: Changed some protected declaration to private.
374         * KeyInfoX509Data.cs: Changed some protected declaration to private.
375         * Transform.cs: Changed some protected declaration to private.
376         * XmlDsigBase64Transform.cs: Changed some protected declaration to private.
377         * XmlDsigC14NTransform.cs: Changed some protected declaration to private.
378         * XmlDsigC14NWithCommentsTransform.cs: Changed some protected declaration to private.
379         * XmlDsigEnvelopedSignatureTransform.cs: Changed some protected declaration to private.
380         * XmlDsigXPathTransform.cs: Changed some protected declaration to private.
381         * XmlDsigXsltTransform.cs: Changed some protected declaration to private.
382
383 2002-11-28  Sebastien Pouliot  <spouliot@videotron.ca>
384
385         * TODOAttribute.cs: New. Still much to do ;-)
386         * XmlDsigXPathTransform.cs: Corrected to compile. Transform is non-
387         functionnal.
388         * XmlDsigXsltTransform.cs: Corrected to compile. Transform is non-
389         functionnal.
390
391 2002-11-20  Sebastien Pouliot  <spouliot@videotron.ca>
392
393         * DataObject.cs: New. Complete implementation.
394         * DSAKeyValue.cs: New. Complete implementation.
395         * KeyInfo.cs: New. Complete implementation.
396         * KeyInfoClause.cs: New. Abstract class (complete).
397         * KeyInfoName.cs: New. Complete implementation.
398         * KeyInfoNode.cs: New. Complete implementation.
399         * KeyInfoRetrievalMethod.cs: New. Complete implementation.
400         * KeyInfoX509Data.cs: New. Complete implementation.
401         * Reference.cs: New. Incomplete implementation.
402         * RSAKeyValue.cs: New. Complete implementation.
403         * Signature.cs: New. Almost complete implementation - returned
404         XML isn't exactly like the MS implementation.
405         * SignedInfo.cs: New. Complete except SignatureLength.
406         * SignedXml.cs: New. Minimal implementation (only enveloped signatures).
407         Still many TODO!
408         * Transform.cs: New. Abstract class (complete).
409         * TransformChain.cs: New. Complete implementation.
410         * XmlDsigBase64Transform.cs: New. Stub + basic logic.
411         * XmlDsigC14NTransform.cs: New. Stub + basic logic.
412         * XmlDsigC14NWithCommentsTransform.cs: New. Stub + basic logic.
413         * XmlDsigEnvelopedSignatureTransform.cs: New. Stub + basic logic.
414         * XmlDsigXPathTransform.cs: New. Stub + basic logic.
415         * XmlDsigXsltTransform.cs: New. Stub + basic logic.