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