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