upload source
[external/xmlsec1.git] / docs / xmldsig.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4 <title>XML Security Library: XML Digital Signature</title>
5 </head>
6 <body><table witdh="100%" valign="top"><tr valign="top">
7 <td valign="top" align="left" width="210">
8 <img src="images/logo.gif" alt="XML Security Library" border="0"><p></p>
9 <ul>
10 <li><a href="index.html">Home</a></li>
11 <li><a href="download.html">Download</a></li>
12 <li><a href="news.html">News</a></li>
13 <li><a href="documentation.html">Documentation</a></li>
14 <ul>
15 <li><a href="faq.html">FAQ</a></li>
16 <li><a href="api/xmlsec-notes.html">Tutorial</a></li>
17 <li><a href="api/xmlsec-reference.html">API reference</a></li>
18 <li><a href="api/xmlsec-examples.html">Examples</a></li>
19 </ul>
20 <li><a href="xmldsig.html">XML Digital Signature</a></li>
21 <ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
22 <li><a href="xmlenc.html">XML Encryption</a></li>
23 <li><a href="c14n.html">XML Canonicalization</a></li>
24 <li><a href="bugs.html">Reporting Bugs</a></li>
25 <li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
26 <li><a href="related.html">Related</a></li>
27 <li><a href="authors.html">Authors</a></li>
28 </ul>
29 <table width="100%">
30 <tr>
31 <td width="15"></td>
32 <td><a href="http://xmlsoft.org/"><img src="images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
33 </tr>
34 <tr>
35 <td width="15"></td>
36 <td><a href="http://xmlsoft.org/XSLT"><img src="images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
37 </tr>
38 <tr>
39 <td width="15"></td>
40 <td><a href="http://www.openssl.org/"><img src="images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
41 </tr>
42 <!--Links - start--><!--Links - end-->
43 </table>
44 </td>
45 <td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
46 <div align="center">
47             <h2>XML Digital Signature</h2>
48             </div>
49 <p> <a href="http://www.w3.org/TR/xmldsig-core">XML
50 Digital Signature 1.0</a> provides <a href="http://www.w3.org/TR/xmldsig-core/#def-Integrity" class="link-def">integrity,</a> <a href="http://www.w3.org/TR/xmldsig-core/#def-AuthenticationMessage" class="link-def">message authentication,</a> and/or <a href="http://www.w3.org/TR/xmldsig-core/#def-AuthenticationSigner" class="link-def">signer authentication</a> services for data of any
51 type, whether located within the XML that includes the signature or
52 elsewhere. </p>
53 <p> XML Security Library supports all MUST/SHOULD/MAY
54 features and algorithms
55 described in the W3C standard and provides API to sign prepared
56 document templates,
57 add signature(s) to a document "on-the-fly" or verify the signature(s)
58 in the document. </p>
59 <p> <a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">XML Digital
60 Signature
61 Online Verifier</a> is an example of a real application based on XML
62 Security Library. Using this tool you can verify any XML Signature
63 and get detailed report on what and how was signed. </p>
64 <div align="center">
65             <h3>XML Security Library Interoperability Report</h3>
66             </div>
67 <h4 style="text-align: center;">XML Digital Signature 1.0 (<a href="http://www.ietf.org/rfc/rfc3275.txt">RFC 3275</a>)</h4>
68 <div align="center">
69             <table style="width: 85%;" border="1" cellpadding="2" cellspacing="2"><tbody>
70 <tr>
71 <td style="width: 40%;" align="left" valign="top"><b>Features
72 and
73 algorithms<br></b></td>
74                   <td align="left" valign="top"> <b>XMLSec with
75 OpenSSL </b> </td>
76                   <td style="vertical-align: top;"><b>XMLSec with GnuTLS</b></td>
77                   <td style="vertical-align: top;"> <b>XMLSec with NSS</b>
78                   </td>
79                   <td style="vertical-align: top;"> <b>XMLSec with
80 MSCrypto</b> </td>
81                 </tr>
82 <tr>
83 <td style="width: 40%;" align="left" valign="top"> <span class="link-def">Detached</span>
84 Signature<br>
85 </td>
86                   <td align="left" valign="top">Y<br>
87 </td>
88                   <td style="vertical-align: top;">Y<br>
89 </td>
90                   <td style="vertical-align: top;">Y<br>
91 </td>
92                   <td style="vertical-align: top;">Y<br>
93 </td>
94                 </tr>
95 <tr>
96 <td style="width: 40%;" align="left" valign="top"> <span class="link-def">Enveloping</span>
97 Signature: same document reference with fragment
98 (URI="#Object1")<br>
99 </td>
100                   <td align="left" valign="top">Y<br>
101 </td>
102                   <td style="vertical-align: top;">Y<br>
103 </td>
104                   <td style="vertical-align: top;">Y<br>
105 </td>
106                   <td style="vertical-align: top;">Y<br>
107 </td>
108                 </tr>
109 <tr>
110 <td style="width: 40%;" align="left" valign="top"> <span class="link-def">Enveloped</span>
111 Signature: same document reference (URI="") with Enveloped Signature
112 Transform .<br>
113 </td>
114                   <td align="left" valign="top">Y<br>
115 </td>
116                   <td style="vertical-align: top;">Y<br>
117 </td>
118                   <td style="vertical-align: top;">Y<br>
119 </td>
120                   <td style="vertical-align: top;">Y<br>
121 </td>
122                 </tr>
123 <tr>
124 <td style="width: 40%;" align="left" valign="top">SignatureValue
125 generation/validation<br>
126 </td>
127                   <td align="left" valign="top">Y<br>
128 </td>
129                   <td style="vertical-align: top;">Y<br>
130 </td>
131                   <td style="vertical-align: top;">Y<br>
132 </td>
133                   <td style="vertical-align: top;">Y<br>
134 </td>
135                 </tr>
136 <tr>
137 <td style="width: 40%;" align="left" valign="top">Manifest
138 DigestValue
139 generation/valdiation<br>
140 </td>
141                   <td align="left" valign="top">Y<br>
142 </td>
143                   <td style="vertical-align: top;">Y<br>
144 </td>
145                   <td style="vertical-align: top;">Y<br>
146 </td>
147                   <td style="vertical-align: top;">Y<br>
148 </td>
149                 </tr>
150 <tr>
151 <td style="width: 40%;" align="left" valign="top">Feature:
152 laxly schema
153 valid
154 Signature element generation<br>
155 </td>
156                   <td align="left" valign="top">Y<br>
157 </td>
158                   <td style="vertical-align: top;">Y<br>
159 </td>
160                   <td style="vertical-align: top;">Y<br>
161 </td>
162                   <td style="vertical-align: top;">Y<br>
163 </td>
164                 </tr>
165 <tr>
166 <td style="width: 40%;" align="left" valign="top">XPointers
167 '#xpointer(/)'<br>
168 </td>
169                   <td align="left" valign="top">Y<br>
170 </td>
171                   <td style="vertical-align: top;">Y<br>
172 </td>
173                   <td style="vertical-align: top;">Y<br>
174 </td>
175                   <td style="vertical-align: top;">Y<br>
176 </td>
177                 </tr>
178 <tr>
179 <td style="width: 40%;" align="left" valign="top">XPointers
180 '#xpointer(id("<em>ID</em>"))'<br>
181 </td>
182                   <td align="left" valign="top">Y<br>
183 </td>
184                   <td style="vertical-align: top;">Y<br>
185 </td>
186                   <td style="vertical-align: top;">Y<br>
187 </td>
188                   <td style="vertical-align: top;">Y<br>
189 </td>
190                 </tr>
191 <tr>
192 <td style="width: 40%;" align="left" valign="top">XPointers:
193 full suppport </td>
194                   <td align="left" valign="top">Y<br>
195 </td>
196                   <td style="vertical-align: top;">Y<br>
197 </td>
198                   <td style="vertical-align: top;">Y<br>
199 </td>
200                   <td style="vertical-align: top;">Y<br>
201 </td>
202                 </tr>
203 <tr>
204 <td style="width: 40%;" align="left" valign="top">XPath
205                   <br>
206 </td>
207                   <td align="left" valign="top">Y<br>
208 </td>
209                   <td style="vertical-align: top;">Y<br>
210 </td>
211                   <td style="vertical-align: top;">Y<br>
212 </td>
213                   <td style="vertical-align: top;">Y<br>
214 </td>
215                 </tr>
216 <tr>
217 <td style="width: 40%;" align="left" valign="top">the
218 dsig XPath 'here()'
219 function (can be used to implement enveloped signature)<br>
220 </td>
221                   <td align="left" valign="top">Y<br>
222 </td>
223                   <td style="vertical-align: top;">Y<br>
224 </td>
225                   <td style="vertical-align: top;">Y<br>
226 </td>
227                   <td style="vertical-align: top;">Y<br>
228 </td>
229                 </tr>
230 <tr>
231 <td style="width: 40%;" align="left" valign="top">XSLT
232 (note, the child <code>
233 XSLT</code>
234 element of Transform has been deprecated.)<br>
235 </td>
236                   <td align="left" valign="top">Y<br>
237 </td>
238                   <td style="vertical-align: top;">Y<br>
239 </td>
240                   <td style="vertical-align: top;">Y<br>
241 </td>
242                   <td style="vertical-align: top;">Y<br>
243 </td>
244                 </tr>
245 <tr>
246 <td style="width: 40%;" align="left" valign="top">RetrievalMethod
247 (e.g.,
248 X509Data)<br>
249 </td>
250                   <td align="left" valign="top">Y<br>
251 </td>
252                   <td style="vertical-align: top;">Y<br>
253 </td>
254                   <td style="vertical-align: top;">Y<br>
255 </td>
256                   <td style="vertical-align: top;">Y<br>
257 </td>
258                 </tr>
259 <tr>
260 <td style="width: 40%;" align="left" valign="top">SHA1
261                   <br>
262 </td>
263                   <td align="left" valign="top">Y<br>
264 </td>
265                   <td style="vertical-align: top;">Y<br>
266 </td>
267                   <td style="vertical-align: top;">Y<br>
268 </td>
269                   <td style="vertical-align: top;">Y<br>
270 </td>
271                 </tr>
272 <tr>
273 <td style="width: 40%;" align="left" valign="top">Base64
274                   <br>
275 </td>
276                   <td align="left" valign="top">Y<br>
277 </td>
278                   <td style="vertical-align: top;">Y<br>
279 </td>
280                   <td style="vertical-align: top;">Y<br>
281 </td>
282                   <td style="vertical-align: top;">Y<br>
283 </td>
284                 </tr>
285 <tr>
286 <td style="width: 40%;" align="left" valign="top">HMAC-SHA1
287                   <br>
288 </td>
289                   <td align="left" valign="top">Y<br>
290 </td>
291                   <td style="vertical-align: top;">Y<br>
292 </td>
293                   <td style="vertical-align: top;">Y<br>
294 </td>
295                   <td style="vertical-align: top;">N<br>
296 </td>
297                 </tr>
298 <tr>
299 <td style="width: 40%;" align="left" valign="top">DSAwithSHA1<br>
300 (DSS) <br>
301 </td>
302                   <td align="left" valign="top">Y<a href="#dsa-sha1"><sup>(1)</sup></a>
303                   <br>
304 </td>
305                   <td style="vertical-align: top;">N<br>
306 </td>
307                   <td style="vertical-align: top;">Y<br>
308 </td>
309                   <td style="vertical-align: top;">Y<br>
310 </td>
311                 </tr>
312 <tr>
313 <td style="width: 40%;" align="left" valign="top">RSAwithSHA1
314                   <br>
315 </td>
316                   <td align="left" valign="top">Y<br>
317 </td>
318                   <td style="vertical-align: top;">N<br>
319 </td>
320                   <td style="vertical-align: top;">Y<br>
321 </td>
322                   <td style="vertical-align: top;">Y<br>
323 </td>
324                 </tr>
325 <tr>
326 <td style="width: 40%;" valign="top">X509 support<br>
327 </td>
328                   <td valign="top">Y<br>
329 </td>
330                   <td style="vertical-align: top;">N<br>
331 </td>
332                   <td style="vertical-align: top;">Y<br>
333 </td>
334                   <td style="vertical-align: top;">Y<br>
335 </td>
336                 </tr>
337 <tr>
338 <td style="width: 40%;" align="left" valign="top">Minimal
339 C14N (deprecated)<br>
340 </td>
341                   <td align="left" valign="top">N<br>
342 </td>
343                   <td style="vertical-align: top;">N<br>
344 </td>
345                   <td style="vertical-align: top;">N<br>
346 </td>
347                   <td style="vertical-align: top;">N<br>
348 </td>
349                 </tr>
350 <tr>
351 <td style="width: 40%;" align="left" valign="top">
352 <a href="http://www.w3.org/TR/xml-c14n">Canonical XML 1.0</a>
353 </td>
354                   <td align="left" valign="top">Y<br>
355 </td>
356                   <td style="vertical-align: top;">Y<br>
357 </td>
358                   <td style="vertical-align: top;">Y<br>
359 </td>
360                   <td style="vertical-align: top;">Y<br>
361 </td>
362                 </tr>
363 <tr>
364 <td style="width: 40%;" align="left" valign="top">
365 <a href="http://www.w3.org/TR/xml-exc-c14n">Exlusive Canonical XML 1.0</a>
366 </td>
367                   <td align="left" valign="top">Y<br>
368 </td>
369                   <td style="vertical-align: top;">Y<br>
370 </td>
371                   <td style="vertical-align: top;">Y<br>
372 </td>
373                   <td style="vertical-align: top;">Y<br>
374 </td>
375                 </tr>
376 <tr>
377 <td style="width: 40%;" align="left" valign="top">
378 <a href="http://www.w3.org/TR/xml-c14n11/">Canonical XML 1.1</a>
379 </td>
380                   <td align="left" valign="top">Y<br>
381 </td>
382                   <td style="vertical-align: top;">Y<br>
383 </td>
384                   <td style="vertical-align: top;">Y<br>
385 </td>
386                   <td style="vertical-align: top;">Y<br>
387 </td>
388                 </tr>
389 <tr>
390 <td style="width: 40%;" align="left" valign="top">Enveloped
391 Signature <br>
392 </td>
393                   <td align="left" valign="top">Y<br>
394 </td>
395                   <td style="vertical-align: top;">Y<br>
396 </td>
397                   <td style="vertical-align: top;">Y<br>
398 </td>
399                   <td style="vertical-align: top;"><br></td>
400                 </tr>
401 </tbody></table>
402 <div align="left"> <br><h4 style="text-align: center;">Additional XML Security
403 Algorithms (<a href="http://www.ietf.org/rfc/rfc4051.txt">RFC 4051</a>)</h4>
404             <table style="width: 85%; text-align: left; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2"><tbody>
405 <tr>
406 <td style="width: 40%;" align="left" valign="top"><b>Features
407 and
408 algorithms<br></b></td>
409                   <td align="left" valign="top"> <b>XMLSec with
410 OpenSSL </b> </td>
411                   <td style="vertical-align: top;"><b>XMLSec with GnuTLS</b></td>
412                   <td style="vertical-align: top;"> <b>XMLSec with NSS</b>
413                   </td>
414                   <td style="vertical-align: top;"> <b>XMLSec with
415 MSCrypto</b> </td>
416                 </tr>
417 <tr>
418 <td style="vertical-align: top; width: 40%;">MD5<br>
419 </td>
420                   <td style="vertical-align: top;">Y<br>
421 </td>
422                   <td style="vertical-align: top;">N<br>
423 </td>
424                   <td style="vertical-align: top;">N<br>
425 </td>
426                   <td style="vertical-align: top;">N<br>
427 </td>
428                 </tr>
429 <tr>
430 <td style="vertical-align: top; width: 40%;">SHA224<br>
431 </td>
432                   <td style="vertical-align: top;">Y<br>
433 </td>
434                   <td style="vertical-align: top;">N<br>
435 </td>
436                   <td style="vertical-align: top;">N<br>
437 </td>
438                   <td style="vertical-align: top;">N<br>
439 </td>
440                 </tr>
441 <tr>
442 <td style="vertical-align: top; width: 40%;">SHA256<br>
443 </td>
444                   <td style="vertical-align: top;">Y<br>
445 </td>
446                   <td style="vertical-align: top;">N<br>
447 </td>
448                   <td style="vertical-align: top;">N<br>
449 </td>
450                   <td style="vertical-align: top;">N<br>
451 </td>
452                 </tr>
453 <tr>
454 <td style="vertical-align: top; width: 40%;">SHA384<br>
455 </td>
456                   <td style="vertical-align: top;">Y<br>
457 </td>
458                   <td style="vertical-align: top;">N<br>
459 </td>
460                   <td style="vertical-align: top;">N<br>
461 </td>
462                   <td style="vertical-align: top;">N<br>
463 </td>
464                 </tr>
465 <tr>
466 <td style="vertical-align: top; width: 40%;">SHA512<br>
467 </td>
468                   <td style="vertical-align: top;">Y<br>
469 </td>
470                   <td style="vertical-align: top;">N<br>
471 </td>
472                   <td style="vertical-align: top;">N<br>
473 </td>
474                   <td style="vertical-align: top;">N<br>
475 </td>
476                 </tr>
477 <tr>
478 <td style="width: 40%;" align="left" valign="top">HMAC-MD5<br>
479 </td>
480                   <td align="left" valign="top">Y <br>
481 </td>
482                   <td style="vertical-align: top;">Y<br>
483 </td>
484                   <td style="vertical-align: top;">Y<br>
485 </td>
486                   <td style="vertical-align: top;">N<br>
487 </td>
488                 </tr>
489 <tr>
490 <td style="vertical-align: top; width: 40%;">HMAC-SHA224<br>
491 </td>
492                   <td style="vertical-align: top;">Y<br>
493 </td>
494                   <td style="vertical-align: top;">N<br>
495 </td>
496                   <td style="vertical-align: top;">N<br>
497 </td>
498                   <td style="vertical-align: top;">N<br>
499 </td>
500                 </tr>
501 <tr>
502 <td style="vertical-align: top; width: 40%;">HMAC-SHA256</td>
503                   <td style="vertical-align: top;">Y<br>
504 </td>
505                   <td style="vertical-align: top;">N<br>
506 </td>
507                   <td style="vertical-align: top;">N<br>
508 </td>
509                   <td style="vertical-align: top;">N<br>
510 </td>
511                 </tr>
512 <tr>
513 <td style="vertical-align: top; width: 40%;">HMAC-SHA384</td>
514                   <td style="vertical-align: top;">Y<br>
515 </td>
516                   <td style="vertical-align: top;">N<br>
517 </td>
518                   <td style="vertical-align: top;">N<br>
519 </td>
520                   <td style="vertical-align: top;">N<br>
521 </td>
522                 </tr>
523 <tr>
524 <td style="width: 40%;" align="left" valign="top">HMAC-SHA512</td>
525                   <td align="left" valign="top">Y<br>
526 </td>
527                   <td style="vertical-align: top;">N<br>
528 </td>
529                   <td style="vertical-align: top;">N<br>
530 </td>
531                   <td style="vertical-align: top;">N<br>
532 </td>
533                 </tr>
534 <tr>
535 <td style="width: 40%;" valign="top">HMAC-RIPEMD160<br>
536 </td>
537                   <td valign="top">Y<br>
538 </td>
539                   <td style="vertical-align: top;">Y<br>
540 </td>
541                   <td style="vertical-align: top;">N<br>
542 </td>
543                   <td style="vertical-align: top;">N<br>
544 </td>
545                 </tr>
546 <tr>
547 <td style="vertical-align: top; width: 40%;">RSA-MD5<br>
548 </td>
549                   <td style="vertical-align: top;">Y<br>
550 </td>
551                   <td style="vertical-align: top;">N<br>
552 </td>
553                   <td style="vertical-align: top;">N<br>
554 </td>
555                   <td style="vertical-align: top;">N<br>
556 </td>
557                 </tr>
558 <tr>
559 <td style="vertical-align: top; width: 40%;">RSA-SHA224<br>
560 </td>
561                   <td style="vertical-align: top;">Y<br>
562 </td>
563                   <td style="vertical-align: top;">N<br>
564 </td>
565                   <td style="vertical-align: top;">N<br>
566 </td>
567                   <td style="vertical-align: top;">N<br>
568 </td>
569                 </tr>
570 <tr>
571 <td style="vertical-align: top; width: 40%;">RSA-SHA256<br>
572 </td>
573                   <td style="vertical-align: top;">Y<br>
574 </td>
575                   <td style="vertical-align: top;">N<br>
576 </td>
577                   <td style="vertical-align: top;">N<br>
578 </td>
579                   <td style="vertical-align: top;">N<br>
580 </td>
581                 </tr>
582 <tr>
583 <td style="vertical-align: top; width: 40%;">RSA-SHA384<br>
584 </td>
585                   <td style="vertical-align: top;">Y<br>
586 </td>
587                   <td style="vertical-align: top;">N<br>
588 </td>
589                   <td style="vertical-align: top;">N<br>
590 </td>
591                   <td style="vertical-align: top;">N<br>
592 </td>
593                 </tr>
594 <tr>
595 <td style="vertical-align: top; width: 40%;">RSA-SHA512<br>
596 </td>
597                   <td style="vertical-align: top;">Y<br>
598 </td>
599                   <td style="vertical-align: top;">N<br>
600 </td>
601                   <td style="vertical-align: top;">N<br>
602 </td>
603                   <td style="vertical-align: top;">N<br>
604 </td>
605                 </tr>
606 <tr>
607 <td style="vertical-align: top; width: 40%;">RSA-RIPEMD160</td>
608                   <td style="vertical-align: top;">Y<br>
609 </td>
610                   <td style="vertical-align: top;">N<br>
611 </td>
612                   <td style="vertical-align: top;">N<br>
613 </td>
614                   <td style="vertical-align: top;">N<br>
615 </td>
616                 </tr>
617 <tr>
618 <td style="vertical-align: top; width: 40%;">ECDSA-SHA1<br>
619 </td>
620                   <td style="vertical-align: top;">N<br>
621 </td>
622                   <td style="vertical-align: top;">N<br>
623 </td>
624                   <td style="vertical-align: top;">N<br>
625 </td>
626                   <td style="vertical-align: top;">N<br>
627 </td>
628                 </tr>
629 <tr>
630 <td style="vertical-align: top; width: 40%;">ECDSA-SHA224<br>
631 </td>
632                   <td style="vertical-align: top;">N<br>
633 </td>
634                   <td style="vertical-align: top;">N<br>
635 </td>
636                   <td style="vertical-align: top;">N<br>
637 </td>
638                   <td style="vertical-align: top;">N<br>
639 </td>
640                 </tr>
641 <tr>
642 <td style="vertical-align: top; width: 40%;">ECDSA-SHA256</td>
643                   <td style="vertical-align: top;">N<br>
644 </td>
645                   <td style="vertical-align: top;">N<br>
646 </td>
647                   <td style="vertical-align: top;">N<br>
648 </td>
649                   <td style="vertical-align: top;">N<br>
650 </td>
651                 </tr>
652 <tr>
653 <td style="vertical-align: top; width: 40%;">ECDSA-SHA384</td>
654                   <td style="vertical-align: top;">N<br>
655 </td>
656                   <td style="vertical-align: top;">N<br>
657 </td>
658                   <td style="vertical-align: top;">N<br>
659 </td>
660                   <td style="vertical-align: top;">N<br>
661 </td>
662                 </tr>
663 <tr>
664 <td style="vertical-align: top; width: 40%;">ECDSA-SHA512</td>
665                   <td style="vertical-align: top;">N<br>
666 </td>
667                   <td style="vertical-align: top;">N<br>
668 </td>
669                   <td style="vertical-align: top;">N<br>
670 </td>
671                   <td style="vertical-align: top;">N<br>
672 </td>
673                 </tr>
674 <tr>
675 <td style="vertical-align: top; width: 40%;">ESIGN-SHA1<br>
676 </td>
677                   <td style="vertical-align: top;">N<br>
678 </td>
679                   <td style="vertical-align: top;">N<br>
680 </td>
681                   <td style="vertical-align: top;">N<br>
682 </td>
683                   <td style="vertical-align: top;">N<br>
684 </td>
685                 </tr>
686 <tr>
687 <td style="vertical-align: top; width: 40%;">ESIGN-SHA224</td>
688                   <td style="vertical-align: top;">N<br>
689 </td>
690                   <td style="vertical-align: top;">N<br>
691 </td>
692                   <td style="vertical-align: top;">N<br>
693 </td>
694                   <td style="vertical-align: top;">N<br>
695 </td>
696                 </tr>
697 <tr>
698 <td style="vertical-align: top; width: 40%;">ESIGN-SHA256</td>
699                   <td style="vertical-align: top;">N<br>
700 </td>
701                   <td style="vertical-align: top;">N<br>
702 </td>
703                   <td style="vertical-align: top;">N<br>
704 </td>
705                   <td style="vertical-align: top;">N<br>
706 </td>
707                 </tr>
708 <tr>
709 <td style="vertical-align: top; width: 40%;">ESIGN-SHA384</td>
710                   <td style="vertical-align: top;">N<br>
711 </td>
712                   <td style="vertical-align: top;">N<br>
713 </td>
714                   <td style="vertical-align: top;">N<br>
715 </td>
716                   <td style="vertical-align: top;">N<br>
717 </td>
718                 </tr>
719 <tr>
720 <td style="vertical-align: top; width: 40%;">ESIGN-SHA512</td>
721                   <td style="vertical-align: top;">N<br>
722 </td>
723                   <td style="vertical-align: top;">N<br>
724 </td>
725                   <td style="vertical-align: top;">N<br>
726 </td>
727                   <td style="vertical-align: top;">N<br>
728 </td>
729                 </tr>
730 <tr>
731 <td style="vertical-align: top; width: 40%;">Minimal
732 C14N (deprecated) </td>
733                   <td style="vertical-align: top;">N<br>
734 </td>
735                   <td style="vertical-align: top;">N<br>
736 </td>
737                   <td style="vertical-align: top;">N<br>
738 </td>
739                   <td style="vertical-align: top;">N<br>
740 </td>
741                 </tr>
742 <tr>
743 <td style="width: 40%;" align="left" valign="top">XPointer
744 transform<br>
745 </td>
746                   <td align="left" valign="top">Y <br>
747 </td>
748                   <td style="vertical-align: top;">Y<br>
749 </td>
750                   <td style="vertical-align: top;">Y<br>
751 </td>
752                   <td style="vertical-align: top;">Y<br>
753 </td>
754                 </tr>
755 <tr>
756 <td style="vertical-align: top; width: 40%;">ARCFOUR
757 Encryption<br>
758 </td>
759                   <td style="vertical-align: top;">N<br>
760 </td>
761                   <td style="vertical-align: top;">N<br>
762 </td>
763                   <td style="vertical-align: top;">N<br>
764 </td>
765                   <td style="vertical-align: top;">N<br>
766 </td>
767                 </tr>
768 <tr>
769 <td style="vertical-align: top; width: 40%;">Camellia
770 Block
771 Encryption 128<br>
772 </td>
773                   <td style="vertical-align: top;">N<br>
774 </td>
775                   <td style="vertical-align: top;">N<br>
776 </td>
777                   <td style="vertical-align: top;">N<br>
778 </td>
779                   <td style="vertical-align: top;">N<br>
780 </td>
781                 </tr>
782 <tr>
783 <td style="vertical-align: top; width: 40%;">Camellia
784 Block
785 Encryption 192</td>
786                   <td style="vertical-align: top;">N<br>
787 </td>
788                   <td style="vertical-align: top;">N<br>
789 </td>
790                   <td style="vertical-align: top;">N<br>
791 </td>
792                   <td style="vertical-align: top;">N<br>
793 </td>
794                 </tr>
795 <tr>
796 <td style="vertical-align: top; width: 40%;">Camellia
797 Block
798 Encryption 256<br>
799 </td>
800                   <td style="vertical-align: top;">N<br>
801 </td>
802                   <td style="vertical-align: top;">N<br>
803 </td>
804                   <td style="vertical-align: top;">N<br>
805 </td>
806                   <td style="vertical-align: top;">N<br>
807 </td>
808                 </tr>
809 <tr>
810 <td style="vertical-align: top; width: 40%;">Camellia
811 Key Wrap 128<br>
812 </td>
813                   <td style="vertical-align: top;">N<br>
814 </td>
815                   <td style="vertical-align: top;">N<br>
816 </td>
817                   <td style="vertical-align: top;">N<br>
818 </td>
819                   <td style="vertical-align: top;">N<br>
820 </td>
821                 </tr>
822 <tr>
823 <td style="vertical-align: top; width: 40%;">Camellia
824 Key Wrap 192</td>
825                   <td style="vertical-align: top;">N<br>
826 </td>
827                   <td style="vertical-align: top;">N<br>
828 </td>
829                   <td style="vertical-align: top;">N<br>
830 </td>
831                   <td style="vertical-align: top;">N<br>
832 </td>
833                 </tr>
834 <tr>
835 <td style="vertical-align: top; width: 40%;">Camellia
836 Key Wrap 256<br>
837 </td>
838                   <td style="vertical-align: top;">N<br>
839 </td>
840                   <td style="vertical-align: top;">N<br>
841 </td>
842                   <td style="vertical-align: top;">N<br>
843 </td>
844                   <td style="vertical-align: top;">N<br>
845 </td>
846                 </tr>
847 <tr>
848 <td style="vertical-align: top; width: 40%;">PSEC-KEM<br>
849 </td>
850                   <td style="vertical-align: top;">N<br>
851 </td>
852                   <td style="vertical-align: top;">N<br>
853 </td>
854                   <td style="vertical-align: top;">N<br>
855 </td>
856                   <td style="vertical-align: top;">N<br>
857 </td>
858                 </tr>
859 </tbody></table>
860 <div align="left"> <br><h4 style="text-align: center;">Other algorithms</h4>
861             <table style="width: 85%; text-align: left; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2"><tbody>
862 <tr>
863 <td style="width: 40%;" align="left" valign="top"><b>Features
864 and
865 algorithms<br></b></td>
866                   <td align="left" valign="top"> <b>XMLSec with
867 OpenSSL </b> </td>
868                   <td style="vertical-align: top;"><b>XMLSec with GnuTLS</b></td>
869                   <td style="vertical-align: top;"> <b>XMLSec with NSS</b>
870                   </td>
871                   <td style="vertical-align: top;"> <b>XMLSec with
872 MSCrypto</b> </td>
873                 </tr>
874 <tr>
875 <td style="vertical-align: top; width: 40%;">GOST94 digests<br>
876 </td>
877                   <td style="vertical-align: top;">N<br>
878 </td>
879                   <td style="vertical-align: top;">N<br>
880 </td>
881                   <td style="vertical-align: top;">N<br>
882 </td>
883                   <td style="vertical-align: top;">Y<a href="#gost-mscrypto"><sup>(2)</sup></a><br>
884 </td>
885                 </tr>
886 <tr>
887 <td style="vertical-align: top; width: 40%;">GOST2001 signatures<br>
888 </td>
889                   <td style="vertical-align: top;">N<br>
890 </td>
891                   <td style="vertical-align: top;">N<br>
892 </td>
893                   <td style="vertical-align: top;">N<br>
894 </td>
895                   <td style="vertical-align: top;">Y<a href="#gost-mscrypto"><sup>(2)</sup></a><br>
896 </td>
897                 </tr>
898 </tbody></table>
899 <br><br><a name="dsa-sha1"></a><sup>(1)</sup> Defining <a href="http://www.w3.org/TR/xmldsig-core/#sec-DSAKeyValue"> DSA key</a>
900 with Seed and PgenCounter is not supported.
901 <br><a name="gost-mscrypto"></a><sup>(2)</sup> Requires install of a CSP 
902 providing these algorithms.<br><p>Test vectors (from <a href="http://www.w3.org/Signature/2001/04/05-xmldsig-interop.html">IETF/W3C
903 XML Signature WG: XML Signature Interoperability page</a>): <br><a href="http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2002AprJun/att-0016/01-merlin-xmldsig-twenty-three.tar.gz">merlin-xmldsig-twenty-three.tar.gz</a>
904             <br><a href="http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2001AprJun/att-00%2033/01-merlin-xmldsig-sixteen.tar.gz">merlin-xmldsig-sixteen.tar.gz</a>
905 (features, deprecated)<br><a href="http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2001JanMar/att-0155/04-merlin-xmldsig-fifteen.tar.gz">merlin-xmldsig-fifteen.tar.gz</a>
906 (algorithms, deprecated)<br></p>
907             </div>
908             </div>
909 </div>
910 </td></tr></table></td>
911 </tr></table></body>
912 </html>