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