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