[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Security / System.Security.Cryptography.Xml / ChangeLog
1 2010-07-09  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * SignedXml.cs : avoid using LoadXml() to load xml element as in
4           literal string. Use ImportNode() instead.
5           Copy namespaces for a referenced node found in envelope document too.
6
7 2009-07-14  Sebastien Pouliot  <sebastien@ximian.com>
8
9         * SignedXml.cs: Fix HMACOutputLength to match XMLDSIG erratum (ref: 
10         CVE-2009-0217) and add stricter checks.
11
12 2009-06-05  Marek Safar  <marek.safar@gmail.com>
13
14         * *.cs: Fixed NET_2_0 conditional to actually handle Mono.Security
15         dependency.
16
17 2008-11-01  Sebastien Pouliot  <sebastien@ximian.com>
18
19         * EncryptedXml.cs: Add proper null check inside methods.
20         * SignedXml.cs: GetIdElement returns null if either of its parameter
21         is null.
22         * Transform.cs: Comment compatibility-NRE in GetDigestedOutput.
23         * XmlDecryptionTransform.cs: IsTargetElement returns null if either
24         of its parameter is null.
25         * XmlDsigC14NTransform.cs: Comment compatibility-NRE in 
26         GetDigestedOutput.
27         * XmlDsigExcC14NTransform.cs: Comment compatibility-NRE in 
28         GetDigestedOutput.
29         [Found using Gendarme CheckParametersNullityInVisibleMethodsRule]
30
31 2008-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
32
33         * XmlDsigBase64Transform.cs: Use constant for Algorithm namespace.
34         * XmlDsigExcC14NTransform.cs: Fixed ctors to use WithComments
35         algorithm if includeComments is true. Assign includeNamespacesPrefixList
36         to instance field.
37         * XmlDsigExcC14NWithCommentsTransform.cs: Remove unnecessary
38         assignment to Algorithm now that base ctor is fixed.
39         * XmlDsigC14NWithCommentsTransform.cs: Remove unnecessary assignment
40         to Algorithm now that base ctor is fixed.
41         * XmlDsigC14NTransform.cs: In default ctor, just invoke .ctor (bool).
42         In .ctor (bool), assign WithComments algorithm if includeComments is
43         true. Use constants for Algorithm namespace.
44         * XmlDsigEnvelopedSignatureTransform.cs: Use constant for Algorithm
45         namespace.
46         * XmlDsigXPathTransform.cs: Use constant for Algorithm namespace.
47         * XmlDsigXsltTransform.cs: Use constant for Algorithm namespace.
48         * XmlLicenseTransform.cs: Assign Algorithm in ctor.
49         * XmlSignature.cs: Added constant for XmlLicenseTransform algorithm.
50
51 2008-10-12  Sebastien Pouliot  <sebastien@ximian.com>
52
53         * EncryptedReference.cs, EncryptedType.cs: Remove unneeded field
54         initialization to their default values.
55         [Found using Gendarme AvoidUnneededFieldInitializationRule]
56
57 2008-09-17  Sebastien Pouliot  <sebastien@ximian.com>
58
59         * SignedXmlTest.cs: Add support for signing XML using HMACSHA256,
60         HMACSHA384, HMACSHA512 and HMACRIPEMD160.
61         [Fix bug #425724]
62
63 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
64
65         * set Algorithm in .ctor(bool), fixed bug #398904.
66
67 2008-08-06  Sebastien Pouliot  <sebastien@ximian.com>
68
69         * XmlDsigC14NTransform.cs,
70         * XmlDsigExcC14NTransform.cs
71         * XmlDsigXsltTransform.cs: Don't use is + as.
72         [Found using Gendarme AvoidRepetitiveCastsRule]
73
74 2008-06-28  Sebastien Pouliot  <sebastien@ximian.com>
75
76         * XmlDecryptionTransform.cs,
77         * XmlDsigC14NTransform.cs,
78         * XmlDsigEnvelopedSignatureTransform.cs,
79         * XmlDsigExcC14NTransform.cs,
80         * XmlDsigXsltTransform.cs: Replace Type.GetType("x") into typeof(x)
81         [Found using Gendarme AvoidTypeGetTypeForConstantStringsRule]
82
83 2008-05-25  Sebastien Pouliot  <sebastien@ximian.com>
84
85         * XmlDecryptionTransform.cs,
86         * XmlDsigBase64Transform.cs,
87         * XmlDsigC14NTransform.cs,
88         * XmlDsigEnvelopedSignatureTransform.cs,
89         * XmlDsigExcC14NTransform.cs,
90         * XmlDsigXPathTransform.cs,
91         * XmlDsigXsltTransform.cs,
92         * XmlLicenseTransform.cs: Don't use lock(this). In fact remove locking
93         since the worse that can happen is two copies of the same data.
94         [Found using Gendarme]
95
96 2008-01-12  Sebastien Pouliot  <sebastien@ximian.com>
97
98         * ReferenceList.cs: Avoid infinite recursion when setting []. 
99         Found by Gendarme.
100         * XmlDsigXPathTransform.cs: Fix direct comparison with NaN. Found 
101         by Gendarme.
102
103 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
104
105         * XmlDsigExcC14NTransform.cs : removed extra [ComVisible].
106
107 2007-03-22  Atsushi Enomoto  <atsushi@ximian.com>
108
109         * Transform.cs, XmlDsigC14NTransform.cs, XmlDsigExcC14NTransform.cs :
110           handle PropagatedNamespaces.
111
112 2007-02-01  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * SignedXml.cs : for internal URI (#blah) resolution, use
115           GetIdElement() so that any derived class which overrides this
116           method could resolve the reference correctly.
117
118 2007-01-25  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * SignedXml.cs : for DataObject, copy namespaces in Data into Object
121           element itself. I haven't solved the puzzle on why it is needed
122           though.
123
124 2007-01-23  Atsushi Enomoto  <atsushi@ximian.com>
125
126         * DataObject.cs : it should not append created DataObject element to
127           the owner document. It affects on XPath selection, though currently
128           SignedXml.GetReferenceHash() is bogus so I cannot add meaningful
129           tests for it.
130
131 2007-01-22  Atsushi Enomoto  <atsushi@ximian.com>
132
133         * SignedInfo.cs : removed incorrect CanonicalizationMethodObject
134           implementation.
135         * EncryptedReference.cs : added exc-c14n support in LoadXml().
136
137 2007-01-17  Atsushi Enomoto  <atsushi@ximian.com>
138
139         * XmlDsigExcC14NTransform.cs :
140           re-imported from XmlDsigC14NTransform.cs.
141
142 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
143
144         * SignedXml.cs : when there is an envelope document and no referenced
145           DataObject was found, then look for the target element from the
146           envelope.
147
148 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
149
150         * DataObject.cs : don't clear attributes or children unnecessarily.
151
152 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
153
154         * SignedXml.cs : actually ComputeSignature() itself does not raise
155           silly exception. It always use CryptographicException.
156           Added another check; malformed reference object.
157
158 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
159
160         * SignedXml.cs : ComputeSignature() should check empty key.
161
162 2006-10-11  Atsushi Enomoto  <atsushi@ximian.com>
163
164         * SignedXml.cs : when SigningMethod does not match the algorithm that
165           the key actually supports, it raises an error.
166
167 2006-09-22  Atsushi Enomoto  <atsushi@ximian.com>
168
169         * EncryptedXml.cs : use Padding member instead of const ISO10126 (though
170           I doubt it should be there). Use it in DecryptData().
171
172 2006-09-21  Atsushi Enomoto  <atsushi@ximian.com>
173
174         * EncryptedXml.cs : implement orthodox padding on encryption.
175
176 2006-09-21  Atsushi Enomoto  <atsushi@ximian.com>
177
178         * EncryptedXml.cs :
179           Handle orthodox padding (xmlenc spec section 5.2). However, like 
180           EncryptedXmlSample1, it might not exist, so make it optional.
181
182 2006-09-21  Atsushi Enomoto  <atsushi@ximian.com>
183
184         * EncryptedXml.cs : True fix for DecryptData(). It indeed uses block size
185           (or possibly IV size) in Transform(), but only for stripping the heading
186           n bytes garbage.
187
188 2006-09-20  Atsushi Enomoto  <atsushi@ximian.com>
189
190         * SignedXml.cs : overwrite my fix with Gert's patch on #79454 to make it
191           possible to handle multiple certificates.
192
193 2006-09-20  Atsushi Enomoto  <atsushi@ximian.com>
194
195         * SignedXml.cs : handle KeyInfoX509Data in GetPublicKey(). Fixed #1 of
196           bug #79454.
197
198 2006-09-07  Atsushi Enomoto  <atsushi@ximian.com>
199
200         * EncryptedXml.cs : DecryptData() should not pass block size to
201           Transform() as the index.
202
203 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
204
205         * CipherReference.cs, EncryptedReference.cs : unify duplicate code.
206           Remove incorrect name check in the latter class so that it works
207           for DataReference and KeyReference as well.
208
209 2006-05-31  Sebastien Pouliot  <sebastien@ximian.com>
210
211         * KeyInfoClause.cs: Under 2.0 the ctor is protected.
212         * Transform.cs: Under 2.0 the ctor is protected. Enable the use of 
213         XmlSecureResolver when the security manager is active.
214
215 2006-01-30  Atsushi Enomoto  <atsushi@ximian.com>
216
217         * XmlDsigEnvelopedSignatureTransform.cs :
218           It should not remove nodes in another XmlNodeList while its
219           iterator is in active use. This is exposed by the recent
220           XmlNodeList change.
221
222 2005-09-27  Sebastien Pouliot  <sebastien@ximian.com>
223
224         * KeyInfoX509Data.cs: Remove old 2.0 specific check.
225         * XmlDsigXPathTransform.cs: Remove old 2.0 specific check. Return 
226         empty node list of the XmlDocument is null (fixed tests case for 2.0
227         RC).
228
229 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
230
231         * EncryptionProperties.cs: Added [IndexerName] attribute to rename 
232         "this" from Item to ItemOf. Added missing Item(int) method.
233         * ReferenceList.cs: Added [IndexerName] attribute to rename "this" 
234         from Item to ItemOf.
235
236 2005-05-04  Sebastien Pouliot  <sebastien@ximian.com>
237
238         * SignedXml.cs: Return an empty (not null) KeyInfo by default and
239         don't throw a CryptographicException in CheckSignature (both NET_2_0).
240         * KeyInfoRetrievalMethod.cs: Don't include an empty URI attribute
241         in the XML output for NET_2_0.
242         * XmlDsigXPathTransform.cs: Throw an XPathException in NET_2_0 if no
243         xpath expression has been supplied to the transform.
244
245 2005-05-03  Sebastien Pouliot  <sebastien@ximian.com>
246
247         * XmlDsigXsltTransform.cs: Fixed 2 test cases (that nows throws 
248         ArgumentNullException) in 2.0.
249
250 2005-05-02  Sebastien Pouliot  <sebastien@ximian.com>
251
252         * SignedXml.cs: Throw ArgumentNullException in AddObject and 
253         AddReference methods in 2.0.
254         * XmlDsigC14NTransform.cs: Throw ArgumentException when loading from
255         an unknown type in 2.0 (it was simply ignored in 1.x).
256
257 2005-04-26  Sebastien Pouliot  <sebastien@ximian.com>
258
259         * KeyInfoX509Data.cs: Fixed to work biwht unit tests on both NET_1_1 
260         and NET_2_0 (except for obvious beta2 bugs). ArraList are now only 
261         created when required.
262
263 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
264
265         * EncryptedData.cs: Avoid re-creating collection object on load.
266         * EncryptedKey.cs: Fix compiler warning (unused variables).
267         * EncryptedType.cs: Remove set on EncryptionProperties property.
268         * IRelDecryptor.cs: New. Interface for XrML support.
269         * SymmetricKeyWrap.cs: Comment unused static method Xor(byte[],int).
270         * XmlDecryptionTransform.cs: Fix compiler warning (unused variable).
271         * XmlDsigEnvelopedSignatureTransform.cs: Fix compiler warning.
272         * XmlLicenseTransform.cs: New. Class for XrML support.
273
274 2005-04-24  Sebastien Pouliot  <sebastien@ximian.com>
275
276         * SignedInfo.cs: Added [ComVisible (false)] to new property.
277         * SignedXml.cs: Added [ComVisible (false)] to new properties and 
278         methods.
279         * ReferenceList.cs: Fixed members signatures for beta2.
280         * Reference.cs: Added [ComVisible (false)] to new set_TransformChain.
281         * EncryptedType.cs: Fix compilation with EncryptionPropertyCollection
282         changes.
283         * DataObject.cs: Fix compilation warnings.
284         * EncryptedKey.cs: Fix compilation with ReferenceList and 
285         EncryptionPropertyCollection changes.
286         * EncryptionProperties.cs: Class has been renamed to 
287         EncryptionPropertyCollection.
288         * Transform.cs: Added [ComVisible (false)] to new properties and 
289         methods.
290         * EncryptedXml.cs: Changed XmlEncRSA1_5Url to XmlEncRSA15Url.
291         * KeyInfoRetrievalMethod.cs: Added [ComVisible (false)] to Type 
292         property.
293         * KeyInfoX509Data.cs: Added [ComVisible (false)] to AddSubjectKeyId
294         (string) method and implemented it.
295         * EncryptedData.cs: Changed EncryptionProperties to new 
296         EncryptionPropertyCollection.
297         * XmlDsigC14NTransform.cs: Added [ComVisible (false)] to 
298         GetDigestedOutput method and added a basic implementation.
299         * X509IssuerSerial.cs: IssuerName and SerialNumber are now properties.
300
301 2005-04-23  Sebastien Pouliot  <sebastien@ximian.com>
302
303         * EncryptedXml.cs, SignedXml.cs: Changed X509CertificateEx to 
304         X509Certificate2 to match beta2.
305
306 2005-04-04  Atsushi Enomoto <atsushi@ximian.com>
307
308         * XmlSignatureStreamReader.cs : new file. Handles Stream to rip CR off.
309         * XmlDsigXPathTransform.cs,
310           XmlDecryptionTransform.cs,
311           XmlDsigC14NTransform.cs,
312           XmlDsigEnvelopedSignatureTransform.cs,
313           XmlDsigXsltTransform.cs : use XmlSignatureStreamReader for Streams.
314
315 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
316
317         * Signature.cs: Fixed Xmldsig and broken unit tests.
318         * SignedXml.cs: Fixed warning (level 4) for unused variable.
319         * XmlDsigEnvelopedSignatureTransform.cs: Fixed warning (l4) for unused
320         variable.
321
322 2004-09-04  Tim Coleman <tim@timcoleman.com>
323         * XmlDecryptionTransform.cs:
324                 Implement rudimentary xpointer support for Except URIs.
325
326 2004-09-03  Tim Coleman <tim@timcoleman.com>
327         * EncryptedXml.cs: Add support for RSA for key formatting
328         * Reference.cs: Include XmlDecryptionTransform
329         * SignedXml.cs: 
330                 Set the EncryptedKey on the XmlDecryptionTransform when 
331                 loading XML
332         * XmlDecryptionTransform.cs:
333                 Clean up decryption transformation to work without ugly hack.
334         * XmlDsigExcC14NTransform.cs XmlDsigExcC14NWithCommentsTransform.cs:
335                 Implement this class based on XmlDsigC14N
336         * XmlSignature.cs: Add namespaces for various classes.
337         * KeyInfoEncryptedKey.cs SymmetricKeyWrap.cs: 
338                 Remove TODO attributes from implemented methods.
339         * KeyInfoName.cs: Put #if NET_2_0 markers in
340         * Transform.cs: Implement GetDigestedOutput
341
342 2004-09-02  Tim Coleman <tim@timcoleman.com>
343         * CipherReference.cs: Add XmlDecryptionTransform for 2.0
344         * EncryptedType.cs: Fix type initialization to conform to .NET
345         * EncryptedXml.cs:
346                 Add support for RSA key decryption and "cloning" for Transform
347         * KeyInfoX509Data Reference.cs SignedInfo.cs XmlDsigC14NTransform.cs: 
348                 Add 2.0 stubs
349         * Signature.cs:
350                 Create internal GetXml function if we already have a doc
351         * SignedXml.cs: Fix the transformation when we get an XmlDocument out
352         * XmlDecryptionTransform.cs: Implemented Xml Decryption
353         * XmlSignature.cs: Add namespace for Xml Decryption
354
355 2004-08-31  Tim Coleman <tim@timcoleman.com>
356         * XmlDsigExcC14NTransform.cs XmlDsigExcC14NWithCommentsTransform.cs:
357                 Add new stub classes
358         * SignedXml.cs Transform.cs:
359                 New methods for 2.0
360         * EncryptedXml.cs SymmetricKeyWrap.cs: 
361                 Get symmetric key wrap to work for AES keys.
362
363 2004-08-30  Tim Coleman <tim@timcoleman.com>
364         * EncryptedXml.cs: Implement lots of XML Encryption code.
365         * SymmetricKeyWrap.cs: Fix TripleDES keywrap algorithm.
366         * XmlSignature.cs: Add NET_2_0 check around EncryptedKey
367
368 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
369
370         * KeyInfo.cs : NET_1_1 build fix.
371
372 2004-08-29  Tim Coleman <tim@timcoleman.com>
373         * EncryptedKey.cs: Fix element name when generating XML.
374         * EncryptedXml.cs: Implement more of encryption/decryption routines for .NET 2.0
375         * KeyInfo.cs: Support for EncryptedKey KeyInfoClause.
376         * KeyInfoName.cs: Add missing constructor
377         * SymmetricKeyWrap.cs: Add untested TripleDES key wrap 
378         algorithms for encryption/decryption
379         * XmlSignature.cs: Add EncryptedKey constant.
380         * EncryptedData.cs: Add .NET 2.0 method stubs.
381
382 2004-07-20  Atsushi Enomoto <atsushi@ximian.com>
383
384         * Signature.cs : Fixed NextElementPos() that incorrectly examined
385           node matching.
386
387 2004-07-07  Sebastien Pouliot  <sebastien@ximian.com>
388
389         * EncryptedXml.cs: Fixed Urls for XmlEncElementUrl and 
390         XmlEncElementContentUrl.
391         * X509IssuerSerial.cs: Make constructor internal so it doesn't show up
392         in corcompare results for NET_2_0 profile.
393
394 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
395
396         * KeyInfoX509Data.cs: Removed old internal IssuerSerial for the 
397         undocumented structure (now documented, and public, in Fx 2.0).
398         * X509IssuerSerial.cs: Use structure as public in NET_2_0 and as 
399         internal before that.
400
401 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
402
403         * SignedXml.cs: API signature fixes
404
405 2004-06-04  Atsushi Enomoto <atsushi@ximian.com>
406
407         * SignedXml.cs : Complete fix for bug #59545. Support #xpointer(id()).
408           Namespace fixup is required when signing prefixed xml.
409
410 2004-06-04  Atsushi Enomoto <atsushi@ximian.com>
411
412         * SignedXml.cs : Fix for bug #59545. Handle #xpointer(/) as document.
413
414 2004-05-31  Atsushi Enomoto <atsushi@ximian.com>
415
416         * SignedXml.cs : partial fix for bug #59165 that does not output
417           namespace that conflicts with element's namespace.
418
419 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
420
421         * SignedXml.cs: Update TODO informations.
422
423 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
424
425         * XmlDsigBase64Transform.cs :
426           LoadInput() should retrieve all the descendants.
427           GetOutput() should handle nodes without digging into child nodes.
428
429 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
430
431         * SignedXml.cs,
432           Transform.cs : code cleanup. #if !NET_1_0 -> #if NET_1_1.
433         * XmlDsigBase64Transform.cs : Should not output the content of the
434           selected element nodes. Put text content only those text nodes are
435           in the node list.
436         * XmlDsigEnvelopedSignatureTransform.cs : removed MonoTODO.
437         * XmlDsigXsltTransform.cs : Use XmlResolver to load document and
438           to transform. Throw null reference exception explicitly when
439           the input was not loaded.
440
441 2004-04-02  Lluis Sanchez Gual  <lluis@ximian.com>
442
443         * XmlDsigEnvelopedSignatureTransform.cs, XmlDsigXPathTransform.cs,
444         XmlDsigXsltTransform.cs: Fixed build for net_1_0 profile.
445
446 2004-03-30  Sebastien Pouliot  <sebastien@ximian.com>
447
448         * Reference.cs: Changed code to use CryptoConfig to create transforms.
449         This is "the" way to do it (e.g. to allow new transforms to be added)
450         but cause problems when using VS.NET for debugging. Old code is still
451         present, but commented, for that cause.
452
453 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
454
455         * SignedXml.cs : namespace nodes also should be supplied for enveloped
456           objects.
457         * KeyInfoRetrievalMethod.cs : Keep input element as well as others.
458
459 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
460
461         * SignedXml.cs : XPath transformation output is not type of Stream.
462           Fix to support them by canonicalizing it.
463
464 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
465
466         * XmlDsigXsltTransform.cs : GetOutput() now just returns
467           transformation output.
468
469 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
470
471         * SignedXml.cs : Added xmlns support for Manifest.
472
473 2004-03-26  Sebastien Pouliot  <sebastien@ximian.com>
474
475         * Manifest.cs: New. Support for <Manifest> in Xml Digital Signature.
476         This should help us to validate more tests from the Phaos suite.
477         Note: Microsoft doesn't support this and we only support it for
478         verification (not signature generation).
479         * SignedXml.cs: Added support for Manifest, including recursive 
480         manifests. Made some changes to reuse existing code as much as 
481         possible. Better support for local/remote files - but requires
482         catching an Uri exception for local files :-(.
483         * XmlSignature.cs: Added constants for Manifest element and URI.
484
485 2004-03-26  Atsushi Enomoto <atsushi@ximian.com>
486
487         * SignedXml.cs :
488           - Use specified (or default) XmlResolver to get external resource,
489             instead of using WebRequest directly. Also modified it easier.
490           - ApplyTransform() : Clone only when it is required. Handle 
491             transformation output other than Stream.
492           - Even if applicable key was not found in GetHash(), don't throw
493             crypto exception every time and just return false (MS does it).
494             Throw an exception only when no key was specified as KeyInfo.
495         * XmlDsigEnvelopedSignatureTransform.cs : Fixed get_OutputTypes which
496           incorrectly set InputTypes internally.
497         * XmlDsigXPathTransform.cs : Context namespace nodes in loaded 
498           transform parameter (i.e. <XPath>..</XPath>) should be registered
499           to XsltContext. Otherwise prefix binding error occurs.
500           Just filter attribute node, instead of filtering attribute children.
501
502 2004-03-25  Sebastien Pouliot  <sebastien@ximian.com>
503
504         * SignedXml.cs: Added try/catch in CheckSignatureWithKey to return 
505         false on exceptions. Fix signature-rsa-detached-xslt-transform-bad
506         -retrieval-method.xml in the Phaos test suite.
507
508 2004-03-24  Atsushi Enomoto <atsushi@ximian.com>
509
510         * Reference.cs, Signature.cs : They should keep input element and hence
511           keep namespace context nodes on LoadXml() as same as SignedInfo.
512         * SignedXml.cs : Fixed SignedInfoTransformed() to fill context 
513           namespace nodes into the input document (unlike other classes, there
514           seems no other way to keep ns-nodes here).
515           Now some of W3C phaos xmldsig test passes.
516
517 2004-03-23  Atsushi Enomoto <atsushi@ximian.com>
518
519         * SignedInfo.cs : It holds input element and directly returns it
520           unless the properties are not set.
521           Throw CryptographicException when Reference is empty *and* GetXml()
522           is *created*. (when just returning input element, no exception is
523           thrown).
524
525 2004-03-23  Atsushi Enomoto <atsushi@ximian.com>
526
527         * DataObject.cs : It now holds element instead of each parameters.
528           Avoid loading element content to different document unless its
529           properties were modified (to keep namespace node context).
530
531 2004-03-20 Sebastien Pouliot  <sebastien@ximian.com>
532
533         * SignedXml.cs: Removed unused (and commented) ComputeHash method.
534
535 2004-03-19  Atsushi Enomoto <atsushi@ximian.com>
536
537         * XmlDsigXPathTransform.cs : just found stupid bug.
538
539 2004-03-19  Sebastien Pouliot  <sebastien@ximian.com>
540
541         * SignedXml.cs: Lot of small changes to complete TODOs and to match 
542         the new unit tests.
543
544 2004-03-17  Sebastien Pouliot  <sebastien@ximian.com>
545
546         * SignedXml.cs: The old method was working for creating signature -
547         so it was reintroduced for (only) this case.
548
549 2004-03-17  Atsushi Enomoto <atsushi@ximian.com>
550
551         * SignedXml.cs : the result from enveloped signature transform should
552           be canonicalized before getting its hash.
553         * XmlDsigEnvelopedSignatureTransform.cs : in XPath selection,
554           if the node is Signature itself it is not allowed.
555           PreserveWhitespace is required.
556
557 2004-03-16  Sebastien Pouliot  <sebastien@ximian.com>
558
559         * SignedXml.cs: Changed (again). This time we use the Stream when 
560         loading the document. We now pass 14 out of 15 of the Merlin's
561         tests (including one that MS fails). The only failing test is the
562         one that use the EnvelopedTransform (unfinished).
563
564 2004-03-16  Sebastien Pouliot  <sebastien@ximian.com>
565
566         * SignedXml.cs: Commented my last changes to SignedXml as it made other
567         unis tests fail (in the c14n-izer).
568
569 2004-03-16  Atsushi Enomoto <atsushi@ximian.com>
570
571         * XmlDsigNodeList.cs : removed BOM from code file.
572
573 2004-03-16  Atsushi Enomoto <atsushi@ximian.com>
574
575         * XmlDsigNodeList.cs : added.
576         * XmlDsigXPathTransform.cs : removed XmlDsigNodeList class.
577         * XmlDsigEnvelopedSignatureTransform.cs :
578           Implemented GetOutput(). However, it is totally MS behavior
579           dependent and not based on the spec (we can reimplement it based on
580           improved XmlDsigXPathTransform).
581         * SignedXml.cs : in GetOutput(), accept XmlNodeList input too.
582
583 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
584
585         * SignedXml.cs: Now use the original Signature element before applying
586         the C14N transformation. Added a check for null in LoadXml.
587
588 2004-03-14  Atsushi Enomoto <atsushi@ximian.com>
589
590         * XmlDsigXPathTransform.cs : implemented GetOutput() (with some 
591           internal XPath context classes).
592
593 2004-03-13  Atsushi Enomoto <atsushi@ximian.com>
594
595         * XmlDsigXsltTransform.cs : LoadInnerXml() should just load stylesheet
596           and LoadInput() should just load transformed document.
597           Transformation should be done in GetOutput() because either of the
598           stylesheet or input can be loaded in prior. Adjusted code format.
599
600 2004-03-12  Sebastien Pouliot  <sebastien@ximian.com>
601
602         * Signature.cs: KeyInfo isn't required in schema.
603         * SignedInfo.cs: Added support for missing HMACOutputLength.
604         * SignedXml.cs: Added support to download a reference (experimental).
605         Now throw exception for unknown hash algorithm or canonicalization 
606         methods. Changed GetPublicKey to iterate all available keys (not just
607         the first one).
608
609 2004-03-09  Atsushi Enomoto <atsushi@ximian.com>
610
611         * KeyInfo.cs : Attribute Id was not handlded.
612         * KeyInfoX509Data.cs : all array members return null when there are
613           no such contents. Just find child elements, not descendants.
614         * SignedXml.cs : key is not always required when CheckSignature() is
615           called.
616         * XmlDsigXsltTransform.cs : LoadInput should allow node list.
617         * XmlSignature.cs : added GetChildElements().
618
619 2004-03-09  Atsushi Enomoto <atsushi@ximian.com>
620
621         * KeyInfoX509Data.cs : trivial local var name fix.
622
623 2004-03-09  Atsushi Enomoto <atsushi@ximian.com>
624
625         * KeyInfoX509Data.cs,
626           Reference.cs,
627           SignedInfo.cs,
628           XmlSignature.cs : GetElementsByTagName() should be eliminated or
629           at least should use namespace URI.
630
631 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
632
633         * KeyInfo.cs :
634           Fixed LoadXml() to skip text nodes as MS.NET does.
635           Uncommented out RSAKeyValue.
636         * Signature.cs : Fixed LoadXml(). Don't use GetElementsByTagName()
637           that incorrectly acquires descendants. Throw CryptographicException
638           if required elements were not found.
639         * Transform.cs : added internal GetResolver().
640         * XmlDsigXPathTransform.cs,
641           XmlDsigXsltTransform.cs : use XmlResolver.
642
643 2004-02-19  Tim Coleman <tim@timcoleman.com>
644         * SymmetricKeyWrap.cs:
645                 Add AES Key Wrap
646         * EncryptedXml.cs:
647                 Add calls to SymmetricKeyWrap
648
649 2004-02-11  Sebastien Pouliot  <sebastien@ximian.com>
650
651         * Reference.cs: Added LoadInnerXml to transforms. Removed unused 
652         variable.
653         * Transform.cs: Import GetInnerXml in GetXml.
654         * XmlDsigBase64Transform.cs: Now use a StreamWriter to avoid multiple
655         allocations.
656         * XmlDsigC14NTransform.cs: Added Stream support to LoadInput
657         * XmlDsigXPathTransform.cs: Fixed GetInnerXml to include xpath 
658         expression and LoadInput. It nows match MS implementation but doesn't
659         work like I think it should (but neither is MS implementation).
660
661 2004-02-10  Tim Coleman <tim@timcoleman.com>
662         * DataReference.cs EncryptedKey.cs EncryptedXml.cs
663         * KeyInfoEncryptedKey.cs KeyReference.cs ReferenceList.cs
664         * X509IssuerSerial.cs XmlDecryptionTransform.cs:
665                 Add new classes for Xml Encryption in 1.2
666         * CipherData.cs CipherReference.cs EncryptedData.cs
667         * EncryptedReference.cs EncryptionMethod.cs EncryptionProperty.cs :
668                 Change NamespaceURI reference to EncryptedXml class.
669                 Make compliant with 1.2
670         * XmlEncryption.cs:
671                 Add new entity names.
672
673
674 2004-02-07  Tim Coleman <tim@timcoleman.com>
675         * CipherData.cs CipherReference.cs EncryptedData.cs
676         * EncryptedReference.cs EncryptedType.cs EncryptionMethod.cs
677         * EncryptionProperties.cs EncryptionProperty.cs XmlEncryption.cs:
678                 New classes added for Xml Encryption in 1.2
679         * KeyInfoRetrievalMethod.cs:
680                 Added Type attribute for 1.2
681         * XmlSignature.cs:
682                 Added string constants for algorithm namespaces
683
684 2004-01-11  Sebastien Pouliot  <spouliot@videotron.ca>
685
686         * SignedXml.cs: Fixed class signature (for 1.1+) by adding public to 
687         Resolver property.
688         * Transform.cs: Fixed class signature (for 1.1+) by adding public to 
689         Resolver property.
690
691 2003-12-14  Sebastien Pouliot  <spouliot@videotron.ca>
692
693         * SignedXml.cs: Now load the public key when verifying (bug #52084)
694         and can find an element by it's Id when Id isn't defined in DTD or XSD.
695
696 2003-07-27  Sebastien Pouliot  <spouliot@videotron.ca>
697
698         * XmlSignature.cs: Changed USE_VERSION_1_0 for NET_1_0.
699
700 2003-07-24  Sebastien Pouliot  <spouliot@videotron.ca>
701
702         * XmlDsigC14NTransform.cs: Patch to use Mono.Xml.XmlCanonicalizer
703         from Aleksey Sanin.
704
705 2003-06-19  Nick Drochak <ndrochak@gol.com>
706
707         * DSAKeyValue.cs:
708         * RSAKeyValue.cs: Work around for mcs? bug 45127.
709
710 2003-06-11  Sebastien Pouliot <spouliot@motus.com>
711
712         * SignedXml.cs: Changed USE_VERSION_1_0 for NET_1_0.
713         * Transform.cs: Changed USE_VERSION_1_0 for NET_1_0.
714
715 2003-05-25  Sebastien Pouliot  <spouliot@videotron.ca>
716
717         * XmlSignature.cs: Changed string "RetrievalElement" to "RetrievalMethod"
718         to match framework 1.1 (this was a bug in framework 1.0).
719
720 2003-05-10  Sebastien Pouliot  <spouliot@videotron.ca>
721
722         * SignedXml.cs: Added property XmlResolver Resolver as per framework 1.1
723         documentation (no public declaration).
724         * Transform.cs: Added property XmlResolver Resolver as per framework 1.1
725         documentation (no public declaration).
726
727 2003-03-03  Sebastien Pouliot  <spouliot@videotron.ca>
728
729         * DSAKeyValue.cs: Added patch from Atsushi Eno (to remove string
730         XML generation).
731         * RSAKeyValue.cs: Added patch from Atsushi Eno (to remove string
732         XML generation).
733         * XmlDsigBase64Transform.cs: Fixed problem when using XPath.
734
735 2003-03-02  Sebastien Pouliot  <spouliot@videotron.ca>
736
737         * DSAKeyValue.cs: New XML generation is commented. Old string technique
738         did a better job to match MS implementation.
739         * DataObject.cs: Replaced XML generation from StringBuilder to XmlElement.
740         * KeyInfo.cs: Replaced XML generation from StringBuilder to XmlElement.
741         * KeyInfoName.cs: Replaced XML generation from StringBuilder to XmlElement.
742         * KeyInfoNode.cs: Replaced XML generation from StringBuilder to XmlElement.
743         * KeyInfoRetrievalMethod.cs: Replaced XML generation from StringBuilder to XmlElement.
744         * KeyInfoX509Data.cs: Replaced XML generation from StringBuilder to XmlElement.
745         * RSAKeyValue.cs: New XML generation is commented. Old string technique
746         did a better job to match MS implementation.
747         * Reference.cs: Replaced XML generation from StringBuilder to XmlElement.
748         * Signature.cs: Replaced XML generation from StringBuilder to XmlElement.
749         * SignedInfo.cs: Replaced XML generation from StringBuilder to XmlElement.
750         * SignedXml.cs: Replaced XML generation from StringBuilder to XmlElement.
751         * Transform.cs: Replaced XML generation from StringBuilder to XmlElement.
752         * XmlDsigEnvelopedSignatureTransform.cs: Added missing Algorithm URL.
753         * XmlDsigXPathTransform.cs: Added missing Algorithm URL.
754         * XmlSignature.cs: New. Private contants (construct similar to WSE).
755
756 2003-02-19  Sebastien Pouliot  <spouliot@videotron.ca>
757
758         * All: Corrected class indentation, minor fixes, added many MonoTODO (so class status
759         will reflect reality).
760
761 2003-01-17  Sebastien Pouliot  <spouliot@videotron.ca>
762
763         * KeyInfo.cs: Changed some protected declaration to private.
764         * KeyInfoName.cs: Changed some protected declaration to private.
765         * KeyInfoNode.cs: Changed some protected declaration to private.
766         * KeyInfoRetrievalMethod.cs: Changed some protected declaration to private.
767         * KeyInfoX509Data.cs: Changed some protected declaration to private.
768         * Transform.cs: Changed some protected declaration to private.
769         * XmlDsigBase64Transform.cs: Changed some protected declaration to private.
770         * XmlDsigC14NTransform.cs: Changed some protected declaration to private.
771         * XmlDsigC14NWithCommentsTransform.cs: Changed some protected declaration to private.
772         * XmlDsigEnvelopedSignatureTransform.cs: Changed some protected declaration to private.
773         * XmlDsigXPathTransform.cs: Changed some protected declaration to private.
774         * XmlDsigXsltTransform.cs: Changed some protected declaration to private.
775
776 2002-11-28  Sebastien Pouliot  <spouliot@videotron.ca>
777
778         * TODOAttribute.cs: New. Still much to do ;-)
779         * XmlDsigXPathTransform.cs: Corrected to compile. Transform is non-
780         functionnal.
781         * XmlDsigXsltTransform.cs: Corrected to compile. Transform is non-
782         functionnal.
783
784 2002-11-20  Sebastien Pouliot  <spouliot@videotron.ca>
785
786         * DataObject.cs: New. Complete implementation.
787         * DSAKeyValue.cs: New. Complete implementation.
788         * KeyInfo.cs: New. Complete implementation.
789         * KeyInfoClause.cs: New. Abstract class (complete).
790         * KeyInfoName.cs: New. Complete implementation.
791         * KeyInfoNode.cs: New. Complete implementation.
792         * KeyInfoRetrievalMethod.cs: New. Complete implementation.
793         * KeyInfoX509Data.cs: New. Complete implementation.
794         * Reference.cs: New. Incomplete implementation.
795         * RSAKeyValue.cs: New. Complete implementation.
796         * Signature.cs: New. Almost complete implementation - returned
797         XML isn't exactly like the MS implementation.
798         * SignedInfo.cs: New. Complete except SignatureLength.
799         * SignedXml.cs: New. Minimal implementation (only enveloped signatures).
800         Still many TODO!
801         * Transform.cs: New. Abstract class (complete).
802         * TransformChain.cs: New. Complete implementation.
803         * XmlDsigBase64Transform.cs: New. Stub + basic logic.
804         * XmlDsigC14NTransform.cs: New. Stub + basic logic.
805         * XmlDsigC14NWithCommentsTransform.cs: New. Stub + basic logic.
806         * XmlDsigEnvelopedSignatureTransform.cs: New. Stub + basic logic.
807         * XmlDsigXPathTransform.cs: New. Stub + basic logic.
808         * XmlDsigXsltTransform.cs: New. Stub + basic logic.