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